/*
#    /$$$$$$        /$$                                         /$$          
#   /$$__  $$      | $$                                        |__/          
#  | $$  \ $$  /$$$$$$$ /$$    /$$ /$$$$$$   /$$$$$$   /$$$$$$  /$$  /$$$$$$$
#  | $$$$$$$$ /$$__  $$|  $$  /$$//$$__  $$ /$$__  $$ /$$__  $$| $$ /$$_____/
#  | $$__  $$| $$  | $$ \  $$/$$/| $$$$$$$$| $$  \__/| $$  \ $$| $$| $$      
#  | $$  | $$| $$  | $$  \  $$$/ | $$_____/| $$      | $$  | $$| $$| $$      
#  | $$  | $$|  $$$$$$$   \  $/  |  $$$$$$$| $$      |  $$$$$$$| $$|  $$$$$$$
#  |__/  |__/ \_______/    \_/    \_______/|__/       \____  $$|__/ \_______/
#                                                     /$$  \ $$              
#                                                    |  $$$$$$/              
#                                                     \______/               
#  Advergic Version [260810-2e4]
#  Prebid Version [10.29.0]
#  Advergic Branch [rel-zambia]
#  Updated on [Mon Aug 10 2026 16:29:46 GMT+0500]
#  Modules [consentManagementTcf,consentManagementUsp,msftBidAdapter,appnexusBidAdapter,smilewantedBidAdapter,pixfutureBidAdapter,advergicBidAdapter,sparteoBidAdapter,userId,id5IdSystem,criteoIdSystem,sharedIdSystem]
#  Built on [Mon Aug 10, 2026 4:45:23 PM GMT+5]
*/
window.adUnits = [{
    "code": "/22576723250/sup_top_leaderboard_atf",
    "sizes": [
        [970, 250],
        [970, 90],
        [728, 90],
        [728, 250]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61538"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [970, 250]
                ]
            }
        }
    }, {
        "bidder": "pixfuture",
        "params": {
            "pix_id": "61536"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [728, 90]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [970, 250]
                ]
            }
        }
    }],
    "slot": "sup_top_leaderboard_atf_desktop",
    "device": "desktop",
    "autozone": "disabled",
    "spotsticky": false,
    "lazy": false,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_top_leaderboard_atf",
    "sizes": [
        [300, 250],
        [320, 50],
        [320, 100]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": "61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "pixfuture",
        "params": {
            "pix_id": "61535"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [320, 50]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_top_leaderboard_atf_mobile",
    "device": "mobile",
    "autozone": "disabled",
    "spotsticky": false,
    "lazy": false,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_sidebar_top",
    "sizes": [
        [300, 250]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_sidebar_top",
    "device": "both",
    "autozone": "disabled",
    "spotsticky": false,
    "lazy": true,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_sidebar_bottom",
    "sizes": [
        [300, 250],
        [300, 600]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61534"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 600]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_sidebar_bottom",
    "device": "desktop",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": true,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_middle_1",
    "sizes": [
        [300, 250]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_middle_1",
    "device": "desktop",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": true,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_middle_1",
    "sizes": [
        [300, 250],
        [320, 100]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_middle_1",
    "device": "mobile",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": false,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_middle_2",
    "sizes": [
        [300, 250]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_middle_2",
    "device": "desktop",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": true,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_middle_2",
    "sizes": [
        [300, 250],
        [320, 100]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": "61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_middle_2",
    "device": "mobile",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": true,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_middle_3",
    "sizes": [
        [300, 250]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_middle_3",
    "device": "desktop",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": true,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_middle_3",
    "sizes": [
        [300, 250],
        [320, 100]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": "61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_middle_3",
    "device": "mobile",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": true,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_anchor_atf",
    "sizes": [
        [970, 90],
        [728, 90]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61536"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [728, 90]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [970, 90]
                ]
            }
        }
    }],
    "slot": "sup_anchor_atf",
    "device": "desktop",
    "autozone": "anchor-bottom",
    "spotsticky": false,
    "lazy": false,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_anchor_atf",
    "sizes": [
        [320, 50],
        [320, 100]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61535"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [320, 50]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [320, 50]
                ]
            }
        }
    }],
    "slot": "sup_anchor_atf",
    "device": "mobile",
    "autozone": "anchor-bottom",
    "spotsticky": false,
    "lazy": false,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_bottom_btf",
    "sizes": [
        [970, 250],
        [970, 90],
        [728, 90],
        [728, 250]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": "61538"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [970, 250]
                ]
            }
        }
    }, {
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61536"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [728, 90]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [970, 250]
                ]
            }
        }
    }],
    "slot": "sup_bottom_btf",
    "device": "desktop",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": false,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/sup_bottom_btf",
    "sizes": [
        [300, 250],
        [336, 280]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "sup_bottom_btf",
    "device": "mobile",
    "autozone": "disabled",
    "spotsticky": true,
    "lazy": false,
    "parallax": false,
    "avformat": "banner",
    "scrollsticky": false
}, {
    "code": "/22576723250/startuppakistan_interstitial",
    "sizes": [
        [300, 250],
        [320, 480],
        [336, 280]
    ],
    "bids": [{
        "bidder": "pixfuture",
        "params": {
            "pix_id": " 61533"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }, {
        "bidder": "advergic",
        "params": {
            "accountId": "yiF3ZLZK"
        },
        "mediaTypes": {
            "banner": {
                "sizes": [
                    [300, 250]
                ]
            }
        }
    }],
    "slot": "",
    "device": "both",
    "autozone": "disabled",
    "spotsticky": false,
    "lazy": false,
    "parallax": false,
    "avformat": "interstitial",
    "scrollsticky": false,
    "ortb2Imp": {
        "instl": 1
    }
}], window.adBidders = {
    "advergic": {
        "scaleRevenueShare": "0.80"
    },
    "pixfuture": {
        "geoBlackList": ["PK"],
        "scaleRevenueShare": "0.85"
    }
}, window.avPublisher = {
    "name": "Startup Pakistan"
}, window.avGamNetwork = {
    "networkCode": "22576723250",
    "currencyCode": "USD",
    "displayName": "The Quill Magazine"
}, window.avDomain = {
    "cmp": "exempt",
    "gsk": "0",
    "hsk": "",
    "id5": true,
    "spa": true,
    "lazy": true,
    "name": ["startuppakistan.com.pk"],
    "coppa": false,
    "cmpKey": "",
    "abExpID": "na",
    "adLabel": true,
    "autoAds": false,
    "avcolor": "#249991",
    "overlay": false,
    "pubLogo": "https://example.com/img-192x192.webp",
    "timeout": 2000,
    "unibots": false,
    "boxTitle": "Watch Ad for Reward",
    "btnColor": ["#ff6900"],
    "criteoId": true,
    "instream": false,
    "rewardFn": false,
    "rewarded": false,
    "rwrdFreq": 0,
    "sharedId": true,
    "taxonomy": false,
    "trackURI": false,
    "anchor_fm": "na",
    "btnHeader": "#ff6900",
    "customOOP": false,
    "darktheme": false,
    "disableHb": false,
    "giveUpTxt": "Are you sure to skip the reward and lose your download?",
    "gptAnchor": "off",
    "lazyDepth": 1,
    "outstream": false,
    "returnTxt": "Go Back and Watch Ad",
    "siderails": true,
    "subdomain": false,
    "turnstile": false,
    "anchorLogo": false,
    "display_fm": "na",
    "gameReward": false,
    "hbDecimals": 2,
    "hbMaxPrice": 2000,
    "onPageLazy": true,
    "spotsticky": true,
    "unitCenter": true,
    "unitMargin": false,
    "adLabelText": "Ad powered by advergic.com",
    "anchorDelay": 0,
    "rewardLabel": "Watch an ad to download this file",
    "rewardTitle": "Reward Unlocked",
    "rewarded_fm": "na",
    "spaRewarded": false,
    "traffiqlyAc": "detect",
    "traffiqlyBT": 75,
    "traffiqlyTP": 1,
    "bidIncrement": 0.01,
    "gamChildCode": 22576723250,
    "interstitial": true,
    "refreshCount": 0,
    "rewardFnName": "n/a",
    "traffiqlyToD": 500,
    "traffiqlyUrl": "https://tap.avads.live/",
    "gamParentCode": 23301900962,
    "outstreamLogo": false,
    "rewardBtnText": "Watch Ad",
    "rewardConsent": "detailed",
    "supplyChainId": "a5EcDdkIQ9UyuPJA",
    "traffiqlyToAc": "detect",
    "turnstilemode": "invisible",
    "bidStoreEnable": true,
    "confirmLossTxt": "Lose Reward",
    "outstreamDepth": 1,
    "overlayDesktop": false,
    "refreshTimeout": 40,
    "rewardBtnClose": "Close",
    "scrollStickyBG": "#fff",
    "spaInitialFire": false,
    "adsenseClientId": "",
    "chromeSpeedMode": false,
    "interstitial_fm": "na",
    "outstreamMobile": false,
    "rewardCloseText": "Collect Later",
    "scrollStickyTop": 0,
    "unfilledRefresh": true,
    "vastLoadTimeout": 10000,
    "analyticsPercent": 100,
    "dfpSingleRequest": false,
    "fouSamplePercent": "0.01",
    "outstreamRefresh": false,
    "refreshViewports": 1,
    "rewardConsentTxt": "Would you like to watch an ad to download the desired file? You can decline the reward by clicking the close button below",
    "anchorScrollDepth": 200,
    "collapseEmptyDivs": true,
    "outstreamPosition": "bottom",
    "outstreamVideoURI": "https://avads.live/c/fivehabitsthathurtyou.mp4",
    "rewardCollectText": "Download",
    "supplyChainDomain": "advergic.com",
    "anchorCloseTimeout": 1,
    "outstreamRefreshUL": false,
    "scrollStickyHeight": 900,
    "interstitialDesktop": true,
    "toEurConversionRate": 0,
    "toUsdConversionRate": 288.12,
    "disableHBOnFirstPage": false,
    "outstreamLoadTimeout": 15000,
    "rewardSuccessMessage": "You earned the reward! Download your file now.",
    "outstreamMarginBottom": 120,
    "traffiqlyCaptchaClose": false,
    "traffiqlyCaptchaService": "avCaptcha"
}, window.avDomain.configId = window.avDomain.configId || 26;
if (window.avhb && window.avhb.libLoaded) try {
    window.avhb.getConfig("debug") && console.warn("Attempted to load a copy of Prebid.js that clashes with the existing 'avhb' instance. Load aborted.")
} catch (e) {} else(function() {
    (() => {
        var e, t = {
                123(e) {
                    var t = window.av;
                    e.exports = new class {
                        constructor() {
                            this._section = "adcogni", this._queue = {}, this.endpointUrl = "https://rack.avads.live/stream", this._types = {
                                test: "test",
                                unset: "unset",
                                pagehide: "pagehide",
                                beforeunload: "beforeunload",
                                visibilityhidden: "visibilityhidden",
                                interval: "interval",
                                limit: "limit",
                                nobeacon: "nobeacon",
                                immediate: "immediate",
                                adinterval: "adinterval",
                                adintervallimit: "adintervallimit"
                            };
                            try {
                                const e = t.publisher || window.avGamNetwork;
                                if (e) {
                                    let i = t.get("av_analytics_url") || e.analyticsUrl;
                                    i && (this.endpointUrl = i)
                                }
                                let i = !1;
                                try {
                                    const e = {
                                        get capture() {
                                            return i = !0, !1
                                        }
                                    };
                                    window.addEventListener("test", null, e), window.removeEventListener("test", null, e)
                                } catch (e) {
                                    i = !1
                                }
                                const o = !i || {
                                    capture: !0
                                };
                                [this._types.pagehide, this._types.beforeunload].forEach(e => {
                                    window.addEventListener(e, () => {
                                        this.send(e, !0)
                                    }, o)
                                });
                                let n = "",
                                    r = "";
                                void 0 !== document.hidden ? (n = "hidden", r = "visibilitychange") : void 0 !== document.msHidden ? (n = "msHidden", r = "msvisibilitychange") : void 0 !== document.webkitHidden ? (n = "webkitHidden", r = "webkitvisibilitychange") : void 0 !== document.mozHidden && (n = "mozHidden", r = "mozvisibilitychange"), n && document.addEventListener(r, () => {
                                    ("hidden" === document.visibilityState || document[n]) && this.send(this._types.visibilityhidden, !0)
                                }, o), window.setInterval(() => {
                                    this.send(this._types.interval)
                                }, 3e4), this.ad_gC().length && (this._cacheTimeoutId = window.setTimeout(() => {
                                    this.ad_sC()
                                }, 5e3)), window.googletag = window.googletag || {};
                                const a = window.googletag;
                                a.cmd = a.cmd || [], this._slotRenderEndedCount = 0, a.cmd.push(() => {
                                    a.pubads().addEventListener("slotRenderEnded", () => {
                                        this._slotRenderEndedCount++, this._slotRenderEndedCount >= 20 && (this.ad_sC(), this.send(this._types.adintervallimit), this._slotRenderEndedCount = 0), this.ad_gC().length && (window.clearTimeout(this._cacheTimeoutId), this._cacheTimeoutId = window.setTimeout(() => {
                                            this.ad_sC(), this._slotRenderEndedCount = 0
                                        }, 500)), window.clearTimeout(this._adRendTimeoutId), this._adRendTimeoutId = window.setTimeout(() => {
                                            this.send(this._types.adinterval), this._slotRenderEndedCount = 0
                                        }, 1e3)
                                    })
                                })
                            } catch (e) {
                                e.code = "beacon-constructor", this.ad_c(e)
                            }
                        }
                        push(e, i, o) {
                            try {
                                if (!e) return t.warn("missing stream", this._stream, i), void t.ma_lE("beacon-push-missing-stream");
                                if (!i || "string" == typeof i || !Object.keys(i).length) return t.warn("invalid data stream[" + e + "]", this._section), void t.ma_lE("beacon-push-inavlid-data");
                                t.analyticsPackets = t.analyticsPackets || {}, t.analyticsPackets[i.id] = i, "ty_" !== e.substring(0, 4) && (i = t.ma_nOTS(i)), this._queue[e] = this._queue[e] || [], this._queue[e].push(Object.assign({}, i)), !o && t.visitor.vi_hB() ? (this._section, this._queue[e].length >= 250 && this.send(this._types.limit)) : this.send(o ? this._types.immediate : this._types.nobeacon)
                            } catch (e) {
                                e.code = "beacon-push", this.ad_c(e)
                            }
                        }
                        ad_cB(e, t) {
                            const i = {};
                            for (let o = 0; o < e.length; ++o) {
                                let n = e[o];
                                n = n[t] || n;
                                for (const e in n) i[e] = (i[e] || 0) + 1
                            }
                            const o = "unsetbasekey";
                            for (const t in i) i[t] < e.length ? delete i[t] : i[t] = o;
                            for (let n = 0; n < e.length; ++n) {
                                let r = e[n];
                                r = r[t] || r;
                                for (const e in i) {
                                    const t = i[e],
                                        n = r[e];
                                    t !== o ? t !== n && delete i[e] : i[e] = n
                                }
                            }
                            for (const o in i)
                                for (let i = 0; i < e.length; ++i) {
                                    let n = e[i];
                                    delete(n[t] || n)[o]
                                }
                            return i
                        }
                        ad_sS(e, i) {
                            if (e)
                                for (let o = 0; o < e.streams.length; ++o) {
                                    const n = e.streams[o],
                                        r = n.base;
                                    for (let o = 0; o < n.objects.length; ++o) {
                                        const a = n.objects[o].id || r.id || e.allBase.id;
                                        t.analyticsPackets[a].packetStatus = i
                                    }
                                }
                        }
                        ad_gC() {
                            return t.visitor.vi_lS("analytics_cache") || []
                        }
                        ad_cP(e) {
                            const i = this.ad_gC();
                            i.push(e), t.visitor.vi_lS("analytics_cache", i)
                        }
                        ad_cPP(e) {
                            const i = this.ad_gC();
                            i.pop(e), t.visitor.vi_lS("analytics_cache", i)
                        }
                        ad_sC() {
                            const e = this.ad_gC(),
                                i = this.endpointUrl;
                            for (let o = 0; o < e.length; ++o) {
                                let n = e[o];
                                if (n.indexOf(t.visitor.pageviewId) >= 0) continue;
                                let r = {};
                                try {
                                    r = JSON.parse(n), r.allBase ? r.allBase.cached = t.timestamps.now() : r.cached = t.timestamps.now(), this.ad_cPP(n), n = JSON.stringify(r), this.ad_cP(n)
                                } catch (e) {
                                    e.code = "beacon-cache-corrupt", e.environment = {
                                        json: n,
                                        data: r
                                    }, t.ma_lE(e)
                                }
                                "object" == typeof r ? (this._section, this.ad_x(null, n, " to url[" + i + "]", i)) : (t.ma_lE({
                                    code: "beacon-cache-invalid",
                                    environment: {
                                        json: n,
                                        data: r
                                    },
                                    type: "catch"
                                }), this.ad_cPP(n))
                            }
                        }
                        send(e, i) {
                            try {
                                e in this._types || t.ma_lE({
                                    code: "beacon-type-invalid",
                                    type: "catch",
                                    environment: {
                                        type: e
                                    }
                                }), e = e || this._types.unset;
                                const o = JSON.parse(JSON.stringify(this._queue)),
                                    n = {
                                        streams: []
                                    };
                                for (const e in o) {
                                    const t = o[e];
                                    t && t.length && n.streams.push({
                                        stream: e,
                                        base: this.ad_cB(t),
                                        objects: t
                                    })
                                }
                                if (!n.streams.length) return void(this._lastType !== e && (this._lastType = e, this._section));
                                this._lastType = "", n.allBase = this.ad_cB(n.streams, "base"), n.allBase.sendType = e, this._section;
                                const r = n.streams.map(e => e.stream).join(),
                                    a = JSON.stringify(n),
                                    s = this.endpointUrl,
                                    d = " to url[" + s + "] streams[" + r + "]";
                                if (this.ad_cP(a), i && t.visitor.vi_hB()) {
                                    let e = null,
                                        i = {};
                                    try {
                                        e = navigator.sendBeacon(s, a)
                                    } catch (e) {
                                        i = e
                                    }
                                    if (e) {
                                        this._section, this.ad_cPP(a);
                                        try {
                                            this.ad_sS(n, "queued[" + e + "]")
                                        } catch (e) {
                                            e.code = "beacon-setStatus-error", e.type = "catch", e.environment = {
                                                data: n
                                            }, t.ma_lE(e)
                                        }
                                        this._queue = {}
                                    } else i.code = "beacon-fail", i.type = "catch", i.environment = {
                                        queued: e,
                                        date: n,
                                        sendBeacon: typeof navigator.sendBeacon,
                                        hasBeacon: t.visitor.vi_hB()
                                    }, t.ma_lE(i), this.ad_x(n, a, d, s)
                                } else this.ad_x(n, a, d, s)
                            } catch (e) {
                                e.code = "beacon-send", this.ad_c(e)
                            }
                        }
                        ad_mRP(e, i, o) {
                            const n = {
                                perfRedirect: i.redirectEnd - i.redirectStart,
                                perfDns: i.domainLookupEnd - i.domainLookupStart,
                                perfTcp: i.connectEnd - i.connectStart,
                                perfTls: i.secureConnectionStart > 0 ? i.connectEnd - i.secureConnectionStart : 0,
                                perfTtfb: i.responseStart - i.requestStart,
                                perfTransfer: i.responseEnd - i.responseStart,
                                perfTotal: i.responseEnd - i.startTime,
                                perfTransferSize: i.transferSize,
                                perfEncodedSize: i.encodedBodySize,
                                perfProtocol: i.nextHopProtocol
                            };
                            Object.assign(n, o || {});
                            const r = {
                                code: e,
                                type: "info",
                                stream: "events",
                                environment: n
                            };
                            t.ma_lE(r)
                        }
                        ad_x(e, i, o, n, r) {
                            try {
                                const a = new XMLHttpRequest;
                                a.open("POST", n), a.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), a.withCredentials = !0, a.timeout = t.visitor.xhrTimeout, a.onreadystatechange = () => {
                                    if (4 !== a.readyState) return;
                                    if ([400, 404, 405, 500].indexOf(a.status) >= 0) return t.ma_lE({
                                        code: "beacon-xhr-invalid",
                                        type: "catch",
                                        environment: {
                                            status: a.status,
                                            statusText: a.statusText,
                                            data: e,
                                            url: n,
                                            responseText: a.responseText,
                                            responseUrl: a.responseURL
                                        }
                                    }), void this.ad_cPP(i);
                                    if (200 !== a.status) {
                                        if ((r || 0) >= 3) {
                                            let e = "unhandled";
                                            return [0, 408, 502, 504].indexOf(a.status) >= 0 ? e = "timeout" : 418 === a.status && a.statusText.toLowerCase().indexOf("netfree") >= 0 && (e = "blocked"), void t.ma_lE({
                                                code: "beacon-xhr-" + e,
                                                type: "catch",
                                                environment: {
                                                    status: a.status,
                                                    statusText: a.statusText,
                                                    url: n,
                                                    responseText: a.responseText,
                                                    responseUrl: a.responseURL
                                                }
                                            })
                                        }
                                        return void this.ad_x(e, i, o, n, (r || 0) + 1)
                                    }
                                    this._section, this.ad_cPP(i);
                                    let s = "notset",
                                        d = "notset";
                                    try {
                                        this.ad_sS(e, a.status), s = a.responseText, d = s ? JSON.parse(a.responseText) : "", this._section
                                    } catch (i) {
                                        i.code = "beacon-xhr-response-err", i.type = "catch", i.environment = {
                                            statusText: a.statusText,
                                            data: e,
                                            url: n,
                                            responseText: s,
                                            response: d,
                                            responseType: a.responseType,
                                            responseUrl: a.responseURL
                                        }, t.ma_lE(i)
                                    }
                                }, a.send(i), this._queue = {}, this._section
                            } catch (t) {
                                t.code = "beacon-xhr-err", t.environment = {
                                    data: e
                                }, this.ad_c(t)
                            }
                        }
                        ad_c(e) {
                            e.stream = "crits";
                            try {
                                if (this._critCount = (this._critCount || 0) + 1, this._critCount > 5) return;
                                if (e.code = e.code || "beacon-unset", e.critCount = this._critCount, !e.stack) {
                                    var t = new Error;
                                    if (void 0 === t.stack) try {
                                        document.getElementById(" yfrhjvbhjfyjhgjkgtdeghbjkdf-this-does-not-exists").innerHTML = "abc"
                                    } catch (e) {
                                        t = e
                                    }
                                    t.stack && (e.stack = t.stack), t.name && !e.name && (e.name = t.name)
                                }
                                e.description = e.stack ? e.stack.toString() : "nostack", e.description += e.message ? " // " + e.message : ""
                            } catch (t) {
                                e.description = (e.description ? e.description : "") + "\n", e.description += "_crit error" + (t.stack ? t.stack.toString() : "nostack")
                            }
                            this.ad_s(e), JSON.parse(JSON.stringify(e)).stream = "events", this.ad_s(e)
                        }
                        ad_s(e, i) {
                            if (!e) return void t.warn("stream required beacon._send", this._section, e);
                            if (!e.stream) return void t.warn("stream required beacon._send", this._section, e);
                            try {
                                e.pageviewId = t.visitor && t.visitor.pageviewId || "", e.url = window.location.href, e.domain = window.location.hostname, e.build = t.build, e.branch = t.branch, e.timestamp = t.timestamps.now(), e.id = t.uuid4(), e.file = t.getScriptName()
                            } catch (t) {
                                e.timestamp = e.timestamp || (new Date).getTime(), e.description = (e.description ? e.description : "") + "\n", e.description += "_send error " + (t.stack ? t.stack.toString() : "nostack")
                            }
                            const o = JSON.stringify(e),
                                n = this.endpointUrl;
                            if (t.visitor.vi_hB()) navigator.sendBeacon(n, o);
                            else if (!i) {
                                var r = new XMLHttpRequest;
                                r.open("POST", n), r.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), r.withCredentials = !0, r.send(o)
                            }
                            e.stream, this._section
                        }
                    }
                },
                1082(e) {
                    var t = window.av;
                    const i = t.publisher.networkCode;
                    e.exports = new class {
                        constructor(e) {
                            for (var i in e = e || {}) this[i] = e[i];
                            return this.counter = 50, this.pageActivity = {}, this.botThreshold = this.botThreshold || t.publisher.traffiqlyBT || 75, this.testTrafficPercent = (t.get("av_ty") || t.debug ? 100 : t.publisher.traffiqlyTP) || .01, this.avTyKvp = "av-ty-init", this.tyDropoutPercent = 1, this.isValidTraffic = !1, this.testTrafficPercent <= 1 && (this.testTrafficPercent *= 100), this.fouSamplePercent = t.publisher.fouSamplePercent || .01, this.timeoutAction = this.timeoutAction || t.publisher.traffiqlyToAc || "detect", this.timeoutDuration = this.timeoutDuration || t.publisher.traffiqlyToD || 500, this.tyAction = this.tyAction || t.publisher.traffiqlyAc || "detect", ["detect", "filter", "noaction"].indexOf(this.tyAction) >= 0 ? this.tyAction : (t.ma_lE("invalid-ty-action"), t.warn("Invalid TY mode[" + this.tyAction + "] captured", "ty"), this.tyAction = "detect"), this.endpointUrl = this.endpointUrl || t.publisher.traffiqlyUrl || "https://tap.avads.live/", this.unitsOnpage = [], this.deviceRules = [{
                                brand: "Apple",
                                regex: /(IPHONE|IPAD|IPOD|MACBOOK|MACINTOSH)/i
                            }, {
                                brand: "Google",
                                regex: /PIXEL[\s-]?[0-9A-Z]*/i
                            }, {
                                brand: "Samsung",
                                regex: /(SAMSUNG|SAMSUNGBROWSER|^SCV(32|34|37|41|42|44|45|46|47|48)$|^SM-|^GT-|^SCH-|^SGH-|^SHV-|^SPH-|^SCG\d{2}|^SC-\d{2}[A-Z]|^SCV\d{2}$|^GALAXY[\s-]?(S|Z|A|M|F|J|C|E|R|W|NOTE|TAB|XCOVER|NEXUS|GRAND|CORE|ACE|MINI|MEGA|ON|POCKET|TREND|VIEW|YOUNG|FOLD|FLIP|BUDDY|JUMP|QUANTUM|WIN|BOOK|WATCH|BUDS|XR))/i
                            }, {
                                brand: "Realme",
                                regex: /^RMX|^NOTE\s?(70|80|90|70T)|RMP\d{4}$|^R12PRO|^RMP\d{4}$/i
                            }, {
                                brand: "Infinix",
                                regex: /(INFINIX|X6\d{3,}|SMART_?\d)/i
                            }, {
                                brand: "Mirage",
                                regex: /^MIRAGE/i
                            }, {
                                brand: "Rainx",
                                regex: /^THE101LOOP$/i
                            }, {
                                brand: "Xiaomi",
                                regex: /(REDMI|POCO|XIAOMI|MI|MI\s+[A-Z0-9]+|MI\d{2}|MINOTE|M2[0-4]\d{2}[A-Z][A-Z0-9]*|^2[0-9]\d{2,5}[A-Z0-9]{2,}$|A\d{3}XM|^XIG(03|05)$|\d(MG|CG)$)|^NOTE14$|^M1908C3(IC|IE|JGG|JI|JT|KH|KT|K3I)$/i
                            }, {
                                brand: "Vivo",
                                regex: /(^V\d{4}([A-Z]{1,2})?_?(20|21|EG)?$|IQOO|VIVO|^Y20S\[G\]$|^V\d{4}$|^PA2(170|353|373|455|473|511|573)$|^I2(0(07|08|09|11|14|17|22)|1(24|25|27)|2(01|03|06|14|18)|3(02|03|04|05))$)/i
                            }, {
                                brand: "OnePlus",
                                regex: /^ONEPLUS|^CPH((23(81|89|99))|24(01|09|11|13|15|17|19|23|47|49|51|59|65|67|69|87|91|93)|25(13|15|51|69|73|81|83|85)|26(05|09|11|13|19|21|45|47|49|53|55|61|63|91)|27(07|09|17|19|23|45|47|49|67|69|71|93|95))|^(AC|NE|IN|KB|LE|GN|HD|GM|BE|MT|DN|DE|EB|IV)\d{4}$|^(PJX|PLQ|PLC|PLK|PKG|PKR|PJE|PJA)\d{3}$/i
                            }, {
                                brand: "Oppo",
                                regex: /(^OPPO|^CPH\d{3,4}$|^PD\d{2,}$|^A\d{3}OP$|^PBBM(00|30)$|PH[A-Z]\d{3}$|OPG\d{2}$|(PLG|PLW|PGW|PKB|PGBM|PJU|PLV)\d{3}$|^(PEDM|PEGM|PDSM|PECM|PEGT|PBAT|PEFM|PEHM|PEHT|PENM|PEUM|PEYM|PFZM|PGEM|PGFM|PCAM|PEMM|PFTM|PEMT)\d{2}$|^A33(C|F|FW|M|T|W)$)/i
                            }, {
                                brand: "Tecno",
                                regex: /(TECNO|SPARK|POVA|CAMON|^(BD|KI|CE)\d{1,3}$|^T\d{4}$)/i
                            }, {
                                brand: "Itel",
                                regex: /ITEL/
                            }, {
                                brand: "Sparx",
                                regex: /(SPARX|SPX[A-Z0-9]*|NOTEX|ULTRA\s?\d+)|^EDGE20(PRO)?$|^NEO\s?_?\d{1,2}\s?_?(PRO|ULTRA|PLUS|LIRE)?$|^NOTE_?(X|12|20)$|^(S3|S6|S7|S9)$/i
                            }, {
                                brand: "Sony",
                                regex: /(SONY.*XPERIA|XQ-[A-Z0-9]+|^(SOV|SOG)\d{2}$|A\d{3}SO|SO-\d{2}[A-Z]|^\d{3}SO$|G3212|H8216|^Z-?ULTRA$|^([A-G])\d{4}$|^BDP-?(S1|S3|S6)?\d{4}$|^(CMD|COM)-([A-Z]{1,2})\d$|^H(3|4|8|9)\d{3}$)/i
                            }, {
                                brand: "ZTE",
                                regex: /(BLADE|NUBIA|AXON|ZTE|NX\d{3}[A-Z]|Z\d{3,5}|P9PRO5G|FOCUS\s?5G|^A\d{3}ZT$|^A\d{4}(G|X|SP)$|^5GUGPHONE)/i
                            }, {
                                brand: "Huawei",
                                regex: /^(HUAWEI|MRD\d{4,}|STK-|JAT|JNY|VOG|LYA|INE|ANE|BAH4-[A-Z]\d{2}|HW-\d{2}[A-Z]|\d{3}HW$|^(H30|H60)$|^AGS\d?-?[A-Z]\d{2}$)|^KOB2(K)?-(L|W)(0(3|9))$/i
                            }, {
                                brand: "Honor",
                                regex: /^(HONOR|NIC|JSN|VNE|BRP|MBH|PRA|[A-Z]{3}-([A-Z]{1,2})[0-9]{1,3})|^AGM(3)?-?(W|AL)09HN$/i
                            }, {
                                brand: "LG",
                                regex: /(NEXUS\s?[0-9]|OPTIMUS|LM-[A-Z0-9]|LG-[A-Z0-9]|L-\d{2}[A-Z]|\dLG$)/i
                            }, {
                                brand: "Nokia",
                                regex: /^(NOKIA|^TA-?\d{4}$|^N\d{3}[A-Z]{2}$)/i
                            }, {
                                brand: "Nothing",
                                regex: /^NOTHING|^CMF|^A0[0-9]{2}[A-Z]{0,3}$|^AIN0[0-9]{2}$|^A\d{3}[A-Z]$/i
                            }, {
                                brand: "SEGO",
                                regex: /^(ZERO\s?50(\s?\(?(G99|G100)\)?)?|NOTE\s?80X?|SMART\s?10(\s?LIMITED\s?EDITION)?|EPICX|SEGO[\s-]?(SHARK|IPRO|SPRO|S2[0-9]|EPIC))$|S\d{2}NEO|^SHARK$/i
                            }, {
                                brand: "Villaon",
                                regex: /VILLAON/i
                            }, {
                                brand: "HMD",
                                regex: /(^HMD|^HMD\s?ARC|^HMD[-\s]?GLOBAL|^TA-1(3(45|88|89|9[0456]|99)|6(0[0245]|0[46]|3[1345-7]|3[9]|4[0-3]|4[568]|5[13]|5[7-8]|6[02]|6[5]|7[05]|7[9]|8[128]|9[027])|7(0[39]|1[134-4]|1[79]|41|46))$|ARC\s?DEVICE|^AURA_?([0-9]|[A-Z])$|^PULSE(PLUS|PRO)$|^(H1|N1)\d{3}V$|TA-\d{4}$)/i
                            }, {
                                brand: "ASUS",
                                regex: /(ASUS|ZENFONE|ROG\s?PHONE|ASUS_X0|ASUS_X01|ASUS_I0|ASUS_Z0)/i
                            }, {
                                brand: "Symphony",
                                regex: /^INNOVA(10|20|30|40)$|^XPLORER(E|H|P|T)\d{1,3}$|Z(10|12|15|16|18|20|22|25|28|30(PRO)?|32|33|35|40|42(PRO)?|45|47|50|55|60(PLUS)?|70|72)$/i
                            }, {
                                brand: "BlackBerry",
                                regex: /(BLACKBERRY|BB10|PLAYBOOK|BBF\d{3}-\d)/i
                            }, {
                                brand: "Microsoft",
                                regex: /^(MICROSOFT|LUMIA)/i
                            }, {
                                brand: "Oukitel",
                                regex: /^(OUKITEL(\s?C\d{1,2}(\s?(PRO|PLUS|S))?)?|WP\d{2,3}(\s?(PRO|ULTRA|S|TITAN))?|RT\d{1,3}(\s?(PRO|INDUSTRY))?|G\d{1,2}|P\d(\s?PRO)?|OT\d{1,2}|BT\d{2,3})$/i
                            }, {
                                brand: "CIdea",
                                regex: /^(CIDEA[-\s]?[A-Z0-9]+|C\d{2,4}[A-Z0-9]*|CID[A-Z0-9]+)$|CM\d{2,4}/i
                            }, {
                                brand: "Lenovo",
                                regex: /^LENOVO\s?(YT-[A-Z0-9]+|PB\d+-?[A-Z0-9]*|A\d{4}[A-Z0-9]*|K\d{1,2}[A-Z0-9\s-]*|TAB[A-Z0-9\s-]*)$|^VIBE$|^LENOVO|^P\d{3,4}[A-Z]|^P90$|^TB-?\d{3,4}([A-Z]{1,2})$/i
                            }, {
                                brand: "Dcode",
                                regex: /^(DCODE|DS-|CYGNAL)|^BOLD$/i
                            }, {
                                brand: "Digit4G",
                                regex: /^(DIGIT)/i
                            }, {
                                brand: "Calme",
                                regex: /^4G\s?-?(CLOUD|HERO|HOT|KING|LITE|MAXX|MEGAPOWER|MUSIC|EDGE|PLATINUM|POWER|PREMIUM|PRIME|SMART(PRO)?|SPARK|STAR|SUPER|TURBO)$/i
                            }, {
                                brand: "Black Shark",
                                regex: /^AWM-A0$|^BSM\d{2}$|^SHARK\s?(KLE|MBU|PAR|PRS)-?[A-Z]\d$|^(DLT|KSR|KTUS|SKR|SKW)-?[A-Z]\d$/i
                            }, {
                                brand: "Raavoz",
                                regex: /RAVOZ|RAAVOZ|^(RAVOZ|RAAVOZ)[\s-]?([VRN]\d+(\s?(PRO|PLUS|LITE|ULTRA|5G))?|Z\d+[A-Z]?)$/i
                            }, {
                                brand: "QMobile",
                                regex: /^QMOBILE|^QSMARTx20$|QTAB|QINFINITY|(Q\d{2,3}[A-Z]?|NOIR|QMobile4GPower|^M\d{2,3}[A-Z]?)$|VIEWMAXPRO/i
                            }, {
                                brand: "T-Mobile",
                                regex: /^5007[A-Z]$|REVVLRY+$|^DASH$|^TMRV(06|06P|07|08|08P|L)(5G|4G)TB?$|^TM(AF|OG|RV)0\d(5G|4G)$|^T-?PHONE(2023|(2|3)(PRO)?)$/i
                            }, {
                                brand: "BLU",
                                regex: /^BLU[\s-]|^(G\d{2,3}[A-Z+]*(\s+(MAX|PRO|PLUS|MEGA|5G))*|^B\d{3,4}(DL|VL|V)$|^(F|S)\d{2,3}[A-Z]?(\s+5G|PRO|PLUS)?$|^(J|C|M)\d{1,2}[A-Z]\s?(MAX|PRO|PLUS)?$|VIEW\s+\d+(\s+(PRO|MEGA))?|STUDIO\s+X\d+[L+]?|BOLD+[NK]\d+(\s+5G)?)$|^NEO(X(2|L|T)?|ENERGY|PRO)(LTE|MINI|PLUS)?$/i
                            }, {
                                brand: "Honeywell",
                                regex: /^(HONEYWELL[\s-]?|EDA\d{2,3}[A-Z]?K?|CT\d{2}([A-Z]{1,3})?(\s+XP)?(\s+HC)?|CK\d{2}[A-Z]?|CN\d{2,3}[A-Z]?|CW\d{2}|RT\d{2}[A-Z]|SCANPAL|DOLPHIN[\s-]?(CT|CN)\d{2,3}|THOR[\s-]?VM\d[A-Z]?|IH\d{2}[A-Z]?)$/i
                            }, {
                                brand: "Fujitsu",
                                regex: /^(FUJITSU|FCNT|ARROWS|F-\d{2}[A-Z]|F\d{2}[A-Z]|FAR[A-Z0-9]+|BZ0[12]|EM01F|arrowsRX|M0[1-9]T?|RM0[12]|S01)$/i
                            }, {
                                brand: "HTC",
                                regex: /^HTC|^WILDFIRE[\s_-]?(E\d+(\s?(PLUS|LITE|PLAY|STAR|LIFE))?|X)?$|^(DESIRE[\s_-]?\d+[A-Z+]*(\s?(PRO|PLUS))?)$|^(U\d{2}[A-Z]?(\s?(PRO|5G))?)$|^(ONE[\s_-]?[MEXAS]\d*)$|^(EXODUS[\s_-]?\d+[A-Z]?)$|^(A10[0-9](\s?PLUS)?)$|^[0-9][A-Z][0-9]{2}[A-Z][0-9]$/i
                            }, {
                                brand: "Smart-Tech TV",
                                regex: /ANDROIDTVS1/i
                            }, {
                                brand: "Benco",
                                regex: /^AE-?\d{4}$|^AEOP-?\d{3}$/i
                            }, {
                                brand: "iBrit",
                                regex: /^DIAMOND(PRO(MAX|PLUS)?|VEGA)$/i
                            }, {
                                brand: "Motorola",
                                regex: /^(MOTO(ROLA)?\s?_?-?|MOTOGSTYLUS|XT\d{4}|DROID|MB\d{3,}|ADR\d|THINKPHONE)|MOTOGSTYLUS|MOTOROLA/i
                            }, {
                                brand: "Sunmi Technology",
                                regex: /V2SGL/i
                            }, {
                                brand: "Hisense",
                                regex: /(^HISENSE|HISENSE\w*|HWCD\d+[A-Z]|KINGKONG\d+)/i
                            }, {
                                brand: "X-Inova",
                                regex: /^(X[\s-]?INOVA|(X(1[3-9]|2[0-9])[A-Z]?|S2[0-9]|1[3-9])(\s?(PRO|MAX|ULTRA|MINI))(\s?(MAX|ULTRA|MINI))?(\+?)|\b(X(1[3-9]|2[0-9])[A-Z]?)(\s?(PRO|MAX|ULTRA|MINI))?\+?)$/i
                            }, {
                                brand: "Wiko",
                                regex: /WIKO|^W-[BKPTUV]\d{3,4}([A-Z0-9])?(-[A-Z0-9]{2,4})?$/i
                            }, {
                                brand: "Maxwest",
                                regex: /^(MAXWEST|MX-([A-Z]{1,2})\d{1,3}[A-Z]{0,2}|MX-\d{3}|GRAVITY\d{2,4}[A-Z0-9-]*|NITRO[\s-]?(A?\d{1,2}\.?\d?[A-Z]{0,2})(\s?(LTE|GO|5G))?|NEO[\s-]?FLIP(\s?(LTE|PLUS))?)$/i
                            }, {
                                brand: "Lava",
                                regex: /^LAVA|^(LZX|LXX|LZG)\d{3}$|^T(70|71|71N|80|81|81N)$/i
                            }, {
                                brand: "LT Mobile",
                                regex: /^(LT[\s-]?(MOBILE[\s-]?)?[A-Z0-9]+|LTM[\s-]?[A-Z0-9]+)$/i
                            }, {
                                brand: "Helio",
                                regex: /^(HELIO[\s_-]?\d{2,3})$/i
                            }, {
                                brand: "FoxxD",
                                regex: /FOXXD|A67L/i
                            }, {
                                brand: "MTN",
                                regex: /^MTN|ALOLA|H5111L|MAKU\d{3}/i
                            }, {
                                brand: "Cubot",
                                regex: /^(CUBOT[\s-]?(X\d{2,3}|P\d{2}|A\d{1,2}|NOTE[\s_-]?\d{2}|MAX[\s_-]?\d|J\d{2}|TAB[\s_-]?(KINGKONG[\s_-]?(S|MINI|2)?|\d{2}))?|KINGKONG[\s_-]?(ACE|MINI|POWER|STAR|ES|X)?\s*\d*(\s*(PRO|PLUS|ULTRA))?|KINGKONG\s*\d+)$/i
                            }, {
                                brand: "Kyocera",
                                regex: /^A\d{3}KC$|^A101BM$|^\d{3}KC$|^[A-Z]\d{1}-?KC$|^(KYOCERA|DURAFORCE|DURASPORT|DURASLATE|DURACORE|DURAMAX|HYDRO|TORQUE|BRIGADIER|MILANO|RISE|KY[TV]\d{2,3}|E[234]\d{3}|C51\d{2}|S1[3-6]\d{2})(\s|$)/i
                            }, {
                                brand: "Alftatel",
                                regex: /ALFATEL|^H1$/i
                            }, {
                                brand: "Acer",
                                regex: /^(ACER|ACERONE|LIQUID(Z|E|X|M|JADE|ZEST)|ICONIA|PREDATOR\s8|AR[A-Z]{2}\d{2}[A-Z0-9]+)(\s|$)|^ACTAB(102|112|122|10K|142|721|723|821)(1|2|4|4C|B2|3|5)$/i
                            }, {
                                brand: "Xsmart",
                                regex: /^XSMART|^MATE10$|^NOVA(5|7|8)$|^COREX$/i
                            }, {
                                brand: "AT&T",
                                regex: /AT&T|^(EA(BF)?\d{5,6}A?$)|^SN\d{3}A$|^SM-?(A|B|C|G|J|R|T)\d{3}(A|U)$|^U6(080|26|55|56|68)AA$/i
                            }, {
                                brand: "Comcast",
                                regex: /^Comcast|^(AX|CS|CXD)\d{2,3}R?AN$/i
                            }, {
                                brand: "Disney",
                                regex: /^MARVEL$/i
                            }, {
                                brand: "Fox",
                                regex: /^BIGDADDY|^FX(180|24\d)$|^GAMA$|^GOLDPLUS$|^SPEEDX100$|^STYLEPLUS$|^TASHAN$/i
                            }, {
                                brand: "Vodacom",
                                regex: /(VODACOM|VODACOM\w*|VODACOM\w*\d|SMARTKICKA\d*|SMARTTAB\d+|SMARTPRIME\d+|SMARTULTRA\d+|SMARTPLATINUM\d+|SMARTMINI\d+|SMARTNANO\d*|SMART[NE]\d+)(\s|$)/i
                            }, {
                                brand: "Premio",
                                regex: /PREMIO|^X(76|77|80|81|82|83|84|85|85PRO|86|87|88|91|95|96|97)$|^Z1$/i
                            }, {
                                brand: "CCTEL",
                                regex: /^P(300|500|600|800)$/i
                            }, {
                                brand: "Mobicel",
                                regex: /^(MOBICEL|IX(PRO|PLUS|\d)?$|EPICPRO|COSMO|^(RX|VX|MX|IX|PX))/i
                            }, {
                                brand: "Stylo",
                                regex: /(^(CPD|CPE|CPF|CQY|DAA|DCH|DFM|DHP|DHR|DCH|DFM|DLQ|DQR|EEJ|DVK|EEP|EFQ|EOA|EPY)\d{2}-?STYLO?\s?AXIS?$|STYLO|ORIONTAB|ORIONPLUSTAB|SIRIUSTAB|SIRIUSPLUSTAB|GRAVITYTAB|GRAVITYPLUSTAT|SWIFT4G|SWIFT_4G|INKOSI_PRO_4G|^INKOSI|VERTIGO|^APEX|^MAVERICK|^INKULU)|^AURORA(3)?$/i
                            }, {
                                brand: "Ulefone",
                                regex: /^(ULEFONE|ARMOR(\d|X|MINI|PAD)|POWERARMOR|RUGKING|TABA\d+|TABW\d+|USMART[A-Z]\d+)|^NOTE(10|11|12|13|14|15|16|17|18|19|20|21|22|6|7|8|9)(P|PRO|ULTRA|T)$/i
                            }, {
                                brand: "VGO-TEL",
                                regex: /(VGO[-\s]?TEL|VGO[-\s]?[A-Z0-9]+|NOTE\s?(23|24)|FLEX\s?(2|3)|^SMART\s?\d{1,2}(GO)?$|^NEW\s?\d+(\s?(PRO|LITE|PLUS|ULTRA))?$)/i
                            }, {
                                brand: "Doogee",
                                regex: /^(DOOGEE|BLADE\d+|BLADEGT|FIRE\d+|VMAX|ANYWISEW\d+|X9$|X9[0-9]$)|^S(CYBER|PUNK)PRO?$|^S\d{3}(PRO|PLUS|ULTRA|MAX|LITE)?$/i
                            }, {
                                brand: "Sharp",
                                regex: /(SHARP|AQUOS|\d{3}SH|SHG\d{2}|SHV\d{2}|SH-\d{2}[A-Z]|(SENSE|R|WISH|ZERO|CRYSTAL)\d{1,2}$|^SH-M\d{2}$)/i
                            }, {
                                brand: "AI+",
                                regex: /^AI\+/i
                            }, {
                                brand: "Vocal",
                                regex: /^VOCAL/i
                            }, {
                                brand: "Casper",
                                regex: /^VIA_?\s?[A-Z]\d{1,4}(PLUS)?$/i
                            }, {
                                brand: "SPC",
                                regex: /^DISCOVERY\d?(PRO|SE|ME)?$|^GEN(LITE|MAX|PLUS)?$/i
                            }, {
                                brand: "Tinno",
                                regex: /^CELERO35G\+$/i
                            }, {
                                brand: "Alcatel",
                                regex: /^ALCATEL|(5028|5030)[A-Z]{1,4}$|^\d{4}Z$/i
                            }, {
                                brand: "Walton",
                                regex: /^WALTON|^PRIMO(C|D|E|EF|EM|F|G|GF|GH|GM|H|HM|N|NF|NX|R|RH|RM|RX|S|V|VX|WALPAD|X|Z|ZX)\d{1}(LITE|MINI|PRO|MAX|PLUS|I|\+)?$/i
                            }, {
                                brand: "Ajib",
                                regex: /^AJIB/i
                            }, {
                                brand: "Smooth",
                                regex: /^SMOOTH/i
                            }, {
                                brand: "Spectra",
                                regex: /^SPECTRA/i
                            }, {
                                brand: "VSmart",
                                regex: /^JOY\d$|^ARIS(PRO)?|^ACTIVE\d/i
                            }, {
                                brand: "Inoi",
                                regex: /^A1\d{2}_?(PLUS)?$|^A3(4|50|52|54)(LITE)?$|^\d{3}(B|S|R|Z)$/i
                            }, {
                                brand: "Omix",
                                regex: /^O1\s?(NEO|ICON)$|^X\d{3,4}$|^MIXTAB/i
                            }, {
                                brand: "Hyundai",
                                regex: /(LB|WB|LC|LA)\d$/i
                            }, {
                                brand: "Meizu",
                                regex: /^MEIZU|^MBLU(21|22)$/i
                            }, {
                                brand: "Bigme",
                                regex: /^HIBREAK(PRO)?$/i
                            }, {
                                brand: "Schok",
                                regex: /^SCHOK/i
                            }, {
                                brand: "Kruger & Matz",
                                regex: /^LIVE\s?\d{1,2}$|^KM\d{4}$|^FLOW\s?(7|7S)$/i
                            }, {
                                brand: "Amazon",
                                regex: /^AMAZON|^KF[A-Z]{4,5}$|^AFT([A-Z]{1,4})?-?\d{2}?$|^ECHO\s?(FLEX|INPUT|PLUS|SPOT|SUB)$|^HD\d{2}N200[A-Z]$|^KINDLEFIRE|^FIRE\s?(HD)?20\d{2}$/i
                            }, {
                                brand: "UMIDIGI",
                                regex: /^(MP|MT)\d{2}$/i
                            }, {
                                brand: "ANS",
                                regex: /^(ACK\d{4}|H450R|L(50|51)|UL40)$/i
                            }, {
                                brand: "Emulator Device",
                                regex: /^sdk_gphone/i
                            }, {
                                brand: "AllCall",
                                regex: /^ALLCALL|^MAGIC\d{2}(MAX|PRO|C)?$/i
                            }, {
                                brand: "Panasonic",
                                regex: /^PANASONIC|^X(100|200|300|400|500|60|66|68|70|700|701|77|800)$/i
                            }, {
                                brand: "GFive",
                                regex: /^GFIVE|4G\s?_?(6700|PROMAX|SMART|STYLE|ULTRAPRO)$|^MAGIC(PRO|SMART)?$|^MUSIC(200|300|400|500|KING)$/i
                            }, {
                                brand: "Otium",
                                regex: /^M1$|^Z2$|^Z4$/i
                            }, {
                                brand: "Reeder",
                                regex: /^S19(MAX|MAXPRO|MAXPROS|MAXPROS108MP|MAXPROSEDGE)$/i
                            }, {
                                brand: "Cool-Tel",
                                regex: /^A70$/i
                            }, {
                                brand: "TCL",
                                regex: /^TCL|^(81|82|83|84|90|91|92|94)\d{2}(A|X|G|G1|L|X\d|Q)$|^4056(L|S|SPP|V|W)$|^4058(C|E|G|L|R)$|^6165(A|H|S)$|^T(431|432|500|506|507|508|509|510|513|517|519|521|522|550|602|605|607|608|610)(A|D|F|G|K|U|T|SP|WS|P|V|Z|H|J|N|E|DL|M|B|C|L|SPP)$|^913(2(G|L|S|X)|6R|7W|8S)$|^4188(C|L|O|R|S|V)$/i
                            }, {
                                brand: "iYOU",
                                regex: /^IYOU/i
                            }, {
                                brand: "G-Tab",
                                regex: /^GTAB|^P(700|706|707|709|710|725|733|750|755|789|9013|906I)(M|G)?$/i
                            }, {
                                brand: "Crosscall",
                                regex: /^CORE-(M4|M5|M6|S4|T4|T5|X3|X4|X5|Z5)(GO|NEO)?$/i
                            }, {
                                brand: "Micromax",
                                regex: /^MICROMAX|^IN_?(2C|2B)$|^GC\d{3}$/i
                            }, {
                                brand: "TechLife",
                                regex: /^TLPAD(001|002|L03|NEO|P04)$|^TLPAD[A-Z]\d{2}$/i
                            }, {
                                brand: "DoCoMo",
                                regex: /^(D|F|L|MO|N|P)-?\d{2}[A-Z]$/i
                            }, {
                                brand: "BTV",
                                regex: /^B(11|13|9|X)$|^E(9|S13)$/i
                            }, {
                                brand: "Onn",
                                regex: /^(1000|1001)\d{5}$/i
                            }, {
                                brand: "Vortex",
                                regex: /^VORTEX|^HD(55|60|62|65|67|68)_?(I|L|CHOICE|PLUS|SELECT|ULTRA)$/i
                            }, {
                                brand: "G-Tab",
                                regex: /^PAD10_?PRO?$/i
                            }, {
                                brand: "Invens",
                                regex: /^MAX(TOP)?(1|2|5|9|3|8|15)$/i
                            }, {
                                brand: "AirTab",
                                regex: /^17PROMAX$|^A(07|08|09|16|17|18|19)(PROMAX)?$|^PG0(1|2)$|^AIR(7|8)$|^S10ULTRA$|^T(1000|2000|707|808|818)$|^U(07|08|09|17|24|25|26)(PRO|ULTRA|MAX)?$/i
                            }, {
                                brand: "Safaricom",
                                regex: /^NEON(SMARTA|ULTRA)(2)?$|^SP\d{3}(B|C|4G|E)-?(2)?/i
                            }, {
                                brand: "Logicom",
                                regex: /^SOLAR(PRO)?$|^SENSE$|^SMARTPRO$|^POSH(18|40)(0|2|5|6)$|^POSHS80$/i
                            }, {
                                brand: "Multilaser",
                                regex: /^MULTILASER|^M8(4G|WIFI)$|^M9(3G|WIFI|SGO)$/i
                            }, {
                                brand: "Zuum",
                                regex: /^ZUUM|^AURA(A1|M(1|2)|PLUSJLO|PRIME|PRO|Z(1|3)?)$/i
                            }, {
                                brand: "Orbic",
                                regex: /^(R667|R678|R8)(L5(S|U|SFP|V|T)?|EL)$/i
                            }, {
                                brand: "Econnect",
                                regex: /^BH(100|702|805)(2G|5G)?$|^HM71$/i
                            }, {
                                brand: "Yes",
                                regex: /^YES/i
                            }, {
                                brand: "PC",
                                regex: /(?:WINDOWS NT|WINDOWS|X11)(?!.*Android)|^(?!.*Android).*LINUX/i
                            }], this
                        }
                        tr_iT() {
                            try {
                                if (!t.cmp.trackable()) {
                                    t.visitor.geo.country;
                                    return t.que4.xq(), !1
                                }
                                if ("not-sampled" === t.visitor.vi_c("av_ty") && !t.get("av_ty")) return t.que4.xq(), !1;
                                if (t.ma_aIL(1, 100) <= this.testTrafficPercent || t.get("av_ty") || "sample" === t.visitor.vi_c("av_ty")) {
                                    if (t.visitor.vi_c("av_ty", "sample", 1), this.testTraffic = !0, window.addEventListener("scroll", t.ty.tr_oSH, !1), window.addEventListener("mousemove", t.ty.tr_mMH, !1), window.addEventListener("click", t.ty.tr_mCH, !1), window.addEventListener("keypress", t.ty.tr_kPH, !1), window.addEventListener("touchstart", t.ty.tr_tSH, !1), window.addEventListener("touchmove", t.ty.tr_tMH, !1), t.ty.pageInterval = setInterval(function() {
                                            var e = (new Date).getTime() - t.timestamps.started;
                                            t.visitor.vi_c("page_time_" + t.visitor.vi_gSDH(), e, 1)
                                        }, 250), window.setTimeout(function() {
                                            t.ty.tr_cIF()
                                        }, 1e3), setInterval(function() {
                                            var e = (new Date).getTime() - t.timestamps.started;
                                            t.visitor.vi_c("page_time_" + t.visitor.vi_gSDH(), e, 1)
                                        }, 5e3), window.onbeforeunload = function() {
                                            t.ty.tr_oUH()
                                        }, window.setTimeout(function() {
                                            t.ty.tr_rEL()
                                        }, 3e4), t.que3.push(function() {
                                            window.av.ty.tr_sHP(), t.ty.tr_sRE()
                                        }, "que3setTyHP"), this.tr_fWGI(), this.tr_cAF(), this.eventInterval = setInterval(t.ty.tr_rB, 50), this.tr_gBS() < this.botThreshold && this.tr_pPDA(), t.ma_lJ("//avads.live/s/traffiqly.modernizr.js"), this.tr_pFD(), this.fouSamplePercent > Math.random()) {
                                        var e = "?domain=" + t.publisher.pu_gBD() + "&pageviewId=" + t.visitor.pageviewId + "&userId=" + t.visitor.vi_gUI();
                                        t.ma_lJ("https://api.fouanalytics.com/api/init-7167i2gm810w1dbqv9gw.js" + e)
                                    }
                                    1 === t.visitor.vi_gSDH() && setTimeout(function() {
                                        t.ty.tr_cL(100)
                                    }), t.que4.push(() => {
                                        t.ty.tr_cAUC()
                                    }, "ty_catch_ad_unit_clicks")
                                } else t.visitor.vi_c("av_ty", "not-sampled", 1)
                            } catch (e) {
                                e.code = "av-ty-init", e.type = "catch", t.ma_lE(e), t.que4.xq()
                            }
                            return !1
                        }
                        tr_lHC() {
                            t.ma_lJ("//hcaptcha.com/1/api.js", !0, function() {
                                var e = "hcaptcha-container",
                                    i = document.getElementById(e);
                                const o = document.createElement("div");
                                o.id = "captcha-overlay", o.style.position = "fixed", o.style.top = "0", o.style.left = "0", o.style.width = "100%", o.style.height = "100%", o.style.backgroundColor = "rgba(0, 0, 0, 0.5)", o.style.backdropFilter = "blur(3px)", o.style.zIndex = "9998", document.body.appendChild(o), (i = document.createElement("div")).id = e, i.style.position = "fixed", i.style.bottom = "50%", i.style.right = "50%", i.style.transform = "translate(50%, 50%)", i.style.zIndex = "9999", i.style.backgroundColor = "white", i.style.padding = "16px", i.style.width = "min(21rem, 95%)", i.style.borderRadius = "8px", i.style.boxShadow = "0 4px 6px rgba(0, 0, 0, 0.1)", i.style.maxWidth = "95%", i.style.maxHeight = "95vh", i.style.overflow = "auto", document.body.appendChild(i), document.body.style.overflow = "hidden", window.hcaptcha && window.hcaptcha.render(e, {
                                    sitekey: t.publisher.hsk,
                                    theme: "light",
                                    size: "normal",
                                    callback: function(e) {
                                        t.ty.tr_hHCS(e)
                                    },
                                    "expired-callback": function() {},
                                    "error-callback": function() {}
                                })
                            }, function() {})
                        }
                        tr_hHCS(e) {
                            var i = new XMLHttpRequest;
                            i.open("POST", "https://an.avads.live/hCaptcha/verify-captcha", !0), i.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), i.onreadystatechange = function() {
                                if (4 === i.readyState)
                                    if (200 === i.status) try {
                                        var e = JSON.parse(i.responseText);
                                        window.hcResponse = e;
                                        var o = document.getElementById("hcaptcha-container"),
                                            n = document.getElementById("captcha-overlay");
                                        o && (o.remove(), document.body.style.overflow = "", n.remove()), e.success ? (t.ty.captchaShown = !1, t.ty.avTyKvp = "blocked-pass", t.ty.tr_sCSD(), t.visitor.vi_c("ty_captcha_solved", "true", 1), t.que4.xq()) : (t.warn("hCaptcha verification failed. fnTraffiqly will not execute."), t.visitor.vi_c("ty_captcha_failed", "true", 1), t.que14.xq())
                                    } catch (e) {
                                        t.que14.xq()
                                    } else i.responseText, t.que14.xq()
                            }, i.send(JSON.stringify({
                                hcaptchaToken: e
                            }))
                        }
                        tr_gC() {
                            const e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
                            let t = "";
                            for (let i = 0; i < 6; i++) t += e.charAt(Math.floor(62 * Math.random()));
                            return this.tr_dC(t), t
                        }
                        tr_lRC() {
                            let e = t.publisher.gsk;
                            var i = `https://www.google.com/recaptcha/api.js?render=${e}`;
                            t.ma_lJ(i, !0, function() {
                                grecaptcha.ready(function() {
                                    grecaptcha.execute(e, {
                                        action: "submit"
                                    }).then(function(e) {
                                        t.ty.tr_hRCS(e)
                                    })
                                })
                            }, function() {})
                        }
                        tr_dC(e) {
                            const t = document.getElementById("av-captcha-canvas"),
                                i = t.getContext("2d");
                            i.clearRect(0, 0, t.width, t.height), i.fillStyle = "#f3f3f3", i.fillRect(0, 0, t.width, t.height);
                            for (let e = 0; e < 5; e++) i.beginPath(), i.moveTo(Math.random() * t.width, Math.random() * t.height), i.lineTo(Math.random() * t.width, Math.random() * t.height), i.strokeStyle = `rgba(${255*Math.random()}, ${255*Math.random()}, ${255*Math.random()}, 0.7)`, i.lineWidth = 2 * Math.random() + 1, i.stroke();
                            i.font = "bold 30px Arial";
                            const o = ["red", "blue", "green", "purple", "orange", "brown"];
                            for (let t = 0; t < e.length; t++) i.save(), i.translate(20 + 25 * t, 40), i.rotate(.6 * (Math.random() - .5)), i.fillStyle = o[t % o.length], i.shadowColor = "rgba(0,0,0,0.5)", i.shadowBlur = 6, i.fillText(e[t], 0, 0), i.restore();
                            for (let e = 0; e < 100; e++) i.fillStyle = `rgba(0, 0, 0, ${Math.random()})`, i.beginPath(), i.arc(Math.random() * t.width, Math.random() * t.height, 2 * Math.random(), 0, 2 * Math.PI), i.fill()
                        }
                        tr_hRCS(e) {
                            var i = new XMLHttpRequest;
                            i.open("POST", "http://localhost:8081/gCaptcha/verify-captcha", !0), i.setRequestHeader("Content-Type", "application/json"), i.onreadystatechange = function() {
                                if (4 === i.readyState)
                                    if (200 === i.status) try {
                                        JSON.parse(i.responseText).success ? (t.ty.captchaShown = !1, t.ty.avTyKvp = "blocked-pass", t.ty.tr_sCSD(), t.visitor.vi_c("ty_captcha_solved", "true", 1), t.que4.xq()) : (t.warn("reCAPTCHA verification failed."), t.visitor.vi_c("ty_captcha_failed", "true", 1), t.que14.xq())
                                    } catch (e) {
                                        t.que14.xq()
                                    } else i.responseText, t.que14.xq()
                            }, i.send(JSON.stringify({
                                recaptchaToken: e
                            }))
                        }
                        tr_lAC() {
                            try {
                                document.body.style.overflow = "hidden", this.tr_cCO(), this.tr_cCM(), this.tr_iCS(), this.tr_iC()
                            } catch (e) {
                                t.warn("Captcha Error:", e)
                            }
                        }
                        tr_cCO() {
                            const e = document.createElement("div");
                            e.classList.add("av-captcha-overlay"), document.body.appendChild(e)
                        }
                        tr_cCM() {
                            const e = document.createElement("div");
                            e.classList.add("av-captcha-modal"), e.innerHTML = '<p><strong>Please solve the CAPTCHA to continue.</strong></p><canvas id="av-captcha-canvas" width="200" height="60"></canvas><br><input type="text" id="user-input"placeholder="Enter CAPTCHA">\n            <button id="refresh">⟳</button><button id="submit">Submit</button><div class="result" id="result"></div><div class="branding">Copyrights &copy; Advergic 2025</div>', document.body.appendChild(e)
                        }
                        tr_iCS() {
                            const e = document.createElement("style");
                            e.innerHTML = "\n            .av-captcha-overlay {\n                position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.7); z-index: 9998; display: flex; justify-content: center;\n                align-items: center;backdrop-filter: blur(5px); transition: opacity 0.3s ease-in-out;\n            }\n            .av-captcha-modal {\n                background: #fff; padding: 25px; border-radius: 12px; text-align: center; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25); position: fixed; top: 50%; left: 50%;\n                transform: translate(-50%, -50%); width: 350px; max-width: 93%; max-height: 90vh; overflow-y: auto; z-index: 9999; animation: fadeIn 0.3s ease-in-out;\n            }\n            .branding {font-size: 10px; text-align: right; margin-top: 0.7rem; margin-bottom: -0.9rem; margin-right: 0.2rem;}\n            @keyframes fadeIn {from { opacity: 0; transform: translate(-50%, -55%); } to { opacity: 1; transform: translate(-50%, -50%); }}\n            #user-input {width: 76%; padding: 10px; margin-right: 10px; border: 1px solid #d0d0d0; border-radius: 6px; transition: all 0.2s ease;}\n            #user-input:focus {outline: none; border-color: #4a90e2; box-shadow: 0 0 5px rgba(74,144,226,0.3);}\n            #submit {padding: 10px 15px; border-radius: 6px; border: none; cursor: pointer; transition: all 0.3s ease; margin-top: 8px; width:100%;}\n            #refresh {padding: 10px 15px; border-radius: 6px; border: none; cursor: pointer; transition: all 0.3s ease;}\n            #submit {background-color: var(--submit-button-color, #ff6900); color: white;}\n            #refresh {background-color: #f0f0f0; color: #333;}\n            #refresh:hover {background-color: #e0e0e0;}\n            .result {\n                width: 45px; height: 45px; border-radius: 50%; position: absolute; left: 50%; top: 105px; transform: translate(-50%, -50%) scale(0); display: flex; justify-content: center;\n                align-items: center; font-size: 30px; font-weight: bold;transition: transform 0.5s ease-in-out;\n            }\n            .result.correct { background: green; color: white; transform: translate(-50%, -50%) scale(1); }\n            .result.incorrect { background: red; color: white; transform: translate(-50%, -50%) scale(1); }", document.head.appendChild(e), document.documentElement.style.setProperty("--submit-button-color", t.publisher.avcolor)
                        }
                        tr_iC() {
                            this.currentCaptcha = this.tr_gC(), document.getElementById("refresh").addEventListener("click", () => {
                                this.currentCaptcha = t.ty.tr_gC(), document.getElementById("user-input").value = "", document.getElementById("result").style.transform = "translate(-50%, -50%) scale(0)"
                            }), document.getElementById("submit").addEventListener("click", () => {
                                t.ty.tr_vC()
                            })
                        }
                        tr_cCML() {
                            const e = document.querySelector(".av-captcha-overlay"),
                                t = document.querySelector(".av-captcha-modal");
                            e.style.opacity = "0", setTimeout(() => {
                                t.remove(), e.remove(), document.body.style.overflow = ""
                            }, 100)
                        }
                        tr_cIF() {
                            clearInterval(t.ty.pageInterval)
                        }
                        async tr_cL(e) {
                            var i = performance.now(),
                                o = Array.from({
                                    length: e
                                }, () => Array(e).fill(1));
                            try {
                                for (let t = 0; t < e; t++)
                                    for (let i = 0; i < e; i++)
                                        for (let n = 0; n < e; n++) o[t][i] += o[t][n] * o[n][i];
                                var n = performance.now() - i;
                                return t.visitor.vi_c("ty_cl", n), t.visitor.vi_c("ty_qc") || (t.visitor.vi_c("ty_qc", !0, t.publisher.sessionDuration), await t.ty.tr_pTB(), t.ty.tr_pMID(t.ty.mdInput, 1, 0)), n
                            } catch (e) {
                                return t.warn("error calculating cpu latency", e), -1
                            }
                        }
                        tr_vC() {
                            const e = document.getElementById("user-input").value,
                                i = document.getElementById("result");
                            e === this.currentCaptcha ? (i.className = "result correct", i.innerHTML = "✔", t.ty.captchaShown = !1, t.ty.avTyKvp = "blocked-pass", t.ty.tr_sCSD(), t.visitor.vi_c("ty_captcha_solved", "true", 1), t.que4.xq(), setTimeout(() => t.ty.tr_cCML(), 500)) : (i.className = "result incorrect", i.innerHTML = "✖", setTimeout(() => {
                                i.style.transform = "translate(-50%, -50%) scale(0)", this.currentCaptcha = t.ty.tr_gC(), document.getElementById("user-input").value = ""
                            }, 500)), i.style.transform = "translate(-50%, -50%) scale(1)"
                        }
                        tr_sCA(e, i) {
                            try {
                                var o = {};
                                const r = "ty_captcha";
                                o.tyCaptchaReason = t.visitor.vi_c("ty_bot_reason") || "", o.captchaUsed = i, o.tyCaptchaType = e, o.riskLevel = t.visitor.vi_c("ty_bot_score"), o.timestamp = (new Date).getTime();
                                var n = Object.assign({}, o, t.ty.tr_tRB());
                                n.stream = r, t.adcogni.push(r, n)
                            } catch (e) {
                                e.code = "ty-captcha-request-exception", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        async tr_sC() {
                            if ("noaction" == this.tyAction) return t.warn("ivt detected, but skipping captcha and executing aivtq"), t.que14.xq(), !1;
                            var e = t.publisher.traffiqlyCaptchaService;
                            if ("filter" != this.tyAction) return !1;
                            if (this.isCaptchaCheckDone) return !1;
                            if (this.isCaptchaCheckDone = !0, t.visitor.vi_c("ty_captcha_solved") || t.visitor.vi_c("ty_captcha_failed")) this.tr_gCS();
                            else {
                                if ("filter" == this.tyAction && t.ma_aIL(1, 100) <= this.tyDropoutPercent) return t.ty.avTyKvp = "dropout", await t.ty.tr_pTB(), this.tr_pMID(t.ty.mdInput, 0, 1), t.que4.xq(), !1;
                                "turnstile" == e || ("hCaptcha" == e ? t.ty.tr_lHC() : "recaptcha" == e ? t.ty.tr_lRC() : "avCaptcha" == e && t.ty.tr_lAC()), this.captchaShown = !0, this.tr_sCA("request", e)
                            }
                        }
                        async tr_sCSD() {
                            await t.ty.tr_pTB(), t.ty.mdInput.priorHistory = {}, t.ty.mdInput.priorHistory.ivtChase = t.visitor.vi_c("ty_bot_reason") || "", t.ty.mdInput.priorHistory.botModel = t.visitor.vi_c("ty_bot_model") || "", t.ty.mdInput.priorHistory.botScore = this.tr_gBS(), t.ty.mdInput.priorHistory.captchaSolved = !0;
                            var e = t.visitor.vi_gSDH() - 1,
                                i = this.tr_pPD();
                            i.reporting = this.tr_tRB(), i.timestamp = (new Date).getTime(), i.honeypot = t.visitor.vi_c("ty_honey_pot") || 0;
                            var o = Object.assign({}, window.av.ty.mdInput, i);
                            1 === e ? this.tr_pMID(o, 0, 1) : this.tr_pMID(o, 0, 2), t.ty.captchaDataSent = !0
                        }
                        async tr_pBR() {
                            await t.ty.tr_pTB(), t.ty.mdInput.followUp = {}, t.ty.mdInput.followUp.botChase = t.visitor.vi_c("ty_bot_reason") || "", t.ty.mdInput.followUp.botModel = t.visitor.vi_c("ty_bot_model") || "", t.ty.mdInput.followUp.botScore = t.ty.tr_gBS(), t.ty.mdInput.followUp.captchaSolved = !1;
                            var e = t.ty.tr_fLPD();
                            return e.reporting = t.ty.tr_tRB(), e.timestamp = (new Date).getTime(), e.honeypot = t.visitor.vi_c("ty_honey_pot") || 0, Object.assign({}, window.av.ty.mdInput, e)
                        }
                        tr_pBRT() {
                            var e = t.ty.tr_pBR();
                            const i = t.ty.endpointUrl,
                                o = JSON.stringify(e);
                            if (navigator && navigator.sendBeacon) navigator.sendBeacon(i, o);
                            else {
                                const e = new XMLHttpRequest;
                                e.open("POST", i), e.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), e.withCredentials = !0, e.send(o)
                            }
                        }
                        tr_gBS() {
                            return Number(t.visitor.vi_c("ty_bot_score")) || 0
                        }
                        tr_dE(e, i) {
                            try {
                                i && 0 !== i.length || (i = t.google.go_gPC() || t.publisher.networkCode);
                                const o = String(i),
                                    n = "string" == typeof e ? e : JSON.stringify(e),
                                    r = new TextEncoder,
                                    a = r.encode(n),
                                    s = r.encode(o),
                                    d = a.length,
                                    c = s.length;
                                let l = "";
                                for (let e = 0; e < d; e++) {
                                    const t = a[e] ^ s[e % c];
                                    l += String.fromCharCode(t)
                                }
                                return btoa(l)
                            } catch (e) {
                                e.code = "ty-encryption-exception", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        tr_gCS() {
                            if (t.visitor.vi_c("ty_captcha_solved")) t.que4.xq();
                            else if (t.visitor.vi_c("ty_captcha_failed")) return t.que14.xq(), !1
                        }
                        tr_dD(e, i) {
                            try {
                                if (!e) return null;
                                i && 0 !== i.length || (i = t.google.go_gPC() || t.publisher.networkCode);
                                const o = String(i),
                                    n = e.trim().replace(/^"|"$/g, "").replace(/-/g, "+").replace(/_/g, "/"),
                                    r = atob(n),
                                    a = r.length,
                                    s = (new TextEncoder).encode(o),
                                    d = s.length,
                                    c = new Uint8Array(a);
                                for (let e = 0; e < a; e++) {
                                    const t = r.charCodeAt(e);
                                    c[e] = t ^ s[e % d]
                                }
                                const l = (new TextDecoder).decode(c);
                                try {
                                    return JSON.parse(l)
                                } catch (e) {
                                    return l
                                }
                            } catch (e) {
                                e.code = "ty-decryption-exception", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        tr_fT() {
                            try {
                                if (this.qualityChecked || this.captchaShown) return !this.captchaShown;
                                if (this.qualityChecked = !0, !this.testTraffic) return !0;
                                if (this.tr_gBS() > this.botThreshold) return this.tr_sC(), !1;
                                window.setTimeout(() => {
                                    t.ty.tr_rEL()
                                }, 35e3), setTimeout(async function() {
                                    t.visitor.vi_c("ty_qc") || (t.visitor.vi_c("ty_qc", !0, t.publisher.sessionDuration), await t.ty.tr_pTB(), t.ty.tr_pMID(t.ty.mdInput, 1, 0))
                                }, 100), window.setTimeout(function() {
                                    t.ty.tr_rEL()
                                }, 35e3)
                            } catch (e) {
                                e.code = "fnTraffiqly-exception", e.type = "catch", t.ma_lE(e), t.que4.xq()
                            }
                            window.setTimeout(function() {
                                if (t.ma_lE({
                                        code: "ty_timeout_reached",
                                        message: "timeout [" + t.ty.timeoutDuration + "] reached"
                                    }), "wait" === t.ty.timeoutAction) t.ty.timeoutDuration, t.ty.timeoutAction;
                                else {
                                    if ("noaction" === t.ty.timeoutAction) return t.ty.timeoutDuration, t.ty.timeoutAction, t.ty.tr_sC(), !1;
                                    if ("detect" === t.ty.timeoutAction) return t.ty.timeoutDuration, t.ty.timeoutAction, t.que4.xq(), !0
                                }
                            }, t.ty.timeoutDuration)
                        }
                        tr_iDC() {
                            var e = 0;
                            return t.visitor.vi_c("ty_height") && t.visitor.vi_c("ty_width") && t.visitor.vi_c("ty_aheight") && t.visitor.vi_c("ty_awidth") && (window.screen.height === t.visitor.vi_c("ty_height") && window.screen.width === t.visitor.vi_c("ty_width") && window.screen.availHeight === t.visitor.vi_c("ty_aheight") && window.screen.availWidth === t.visitor.vi_c("ty_awidth") || (e = 1)), e
                        }
                        tr_iUC() {
                            let e = 0,
                                i = navigator.userAgent || navigator.vendor || window.opera || "";
                            if (i = i.replace(/;/g, "").trim(), navigator.cookieEnabled && i) {
                                const o = t.visitor.vi_c("ty_ua");
                                o ? i !== o && (e = 1) : t.visitor.vi_c("ty_ua", i, 10)
                            }
                            return e
                        }
                        async tr_pTB() {
                            var e = (this.touchStartCounter || 0) + Number(t.visitor.vi_c("ty_touch_start") || 0),
                                i = (this.touchMoveCounter || 0) + Number(t.visitor.vi_c("ty_touch_move") || 0),
                                o = (this.mouseMoveCounter || 0) + Number(t.visitor.vi_c("ty_mouse_move") || 0),
                                n = (this.keyPressCounter || 0) + Number(t.visitor.vi_c("ty_key_press") || 0),
                                r = (this.mouseClickCounter || 0) + Number(t.visitor.vi_c("ty_mouse_click") || 0),
                                a = (this.scrollCounter || 0) + Number(t.visitor.vi_c("ty_scroll") || 0),
                                s = t.ty.tr_fGUI();
                            let [d, c, l, u, g] = await Promise.all([t.ty.tr_fBV(), t.ty.tr_fON(), t.ty.tr_fOV(), t.ty.tr_fDM(), t.ty.tr_fDB()]);
                            t.ty.mdInput = {
                                all_mime_types: navigator.mimeTypes.length || 0,
                                installedPlugins: navigator.plugins.length || 0,
                                historyCount: window.history.length,
                                diffHeight: window.screen.height - window.screen.availHeight,
                                diffWidth: window.screen.width - window.screen.availWidth,
                                dimensionChanged: t.ty.tr_iDC(),
                                userAgent: navigator.userAgent || navigator.vendor || window.opera || "",
                                sourceIP: t.visitor.vi_c("av_ip") || "",
                                ipAddressModified: Number(t.visitor.vi_c("av_ip_mod") || 0),
                                uaModified: t.ty.tr_iUC() || 0,
                                mouseClick: Number(r),
                                keyPress: Number(n),
                                touchEventCount: Number(e),
                                touchMoveCount: Number(i),
                                mouseMoveCount: Number(o),
                                scrollCount: Number(a),
                                publisher: t.publisher.pu_gN(),
                                device: t.visitor.vi_gDT(),
                                honeypot: t.visitor.vi_c("ty_honey_pot") || 0,
                                isHeadLess: t.ty.tr_iH(),
                                isAndroid: t.ty.tr_iA(),
                                browserName: t.ty.tr_fBN() || "",
                                browserVersion: `${d}`,
                                osName: `${c}`,
                                osVersion: `${l}`,
                                deviceBrand: `${g}`,
                                deviceModel: `${u}`,
                                inconsistentEval: t.ty.tr_cIE(),
                                detectedEngine: t.visitor.vi_iM() ? "" : t.ty.tr_fRE(),
                                lastResponseTime: t.visitor.vi_c("ty_response_time") || 0,
                                lastLatencyBeforeTy: t.visitor.vi_c("ty_latency_before_ty") || 0,
                                headlessBrowserName: t.ty.headlessBrowserName || "",
                                supportsLocalStorage: t.visitor.vi_sLS(),
                                clickOnZero: t.visitor.vi_c("ty_zero_click") || 0,
                                currentHeapSize: -1,
                                heapSizeLimit: -1,
                                scriptInIframe: t.ty.tr_iSIIF(),
                                iframeParentUrl: t.ty.tr_fIFPU(),
                                platform: navigator.userAgentData ? navigator.userAgentData.platform : navigator.platform || "",
                                inner: (window.innerWidth || 0) + "x" + (window.innerHeight || 0),
                                outer: (window.outerWidth || 0) + "x" + (window.outerHeight || 0),
                                screen: (screen.availWidth || 0) + "x" + (screen.availHeight || 0) + "x" + (screen.colorDepth || 0),
                                resolution: (screen.width || 0) + "x" + (screen.height || 0),
                                rendrer: s.renderer,
                                vendor: s.vendor,
                                unmaskedRendrer: s.unmaskedRendrer,
                                unmaskedVendor: s.unmaskedVendor,
                                audioContext: t.ty.tr_cAC(),
                                appCodeName: navigator.appCodeName || "",
                                appName: navigator.appName || "",
                                colorDepth: screen.colorDepth || 0,
                                dnt: t.ty.tr_cD(),
                                gpc: t.ty.tr_cG(),
                                navigatorProduct: window.navigator.product || "",
                                navigatorSubproduct: window.navigator.productSub || "",
                                pluginList: t.ty.tr_fPL(),
                                mimeTypes: t.ty.tr_fMT(),
                                timezoneOffset: (new Date).getTimezoneOffset() || 0,
                                timezone: "undefined" != typeof Intl && Intl.DateTimeFormat && Intl.DateTimeFormat().resolvedOptions().timeZone || "",
                                touchSupport: navigator.maxTouchPoints || navigator.msMaxTouchPoints || 0,
                                touchEvent: t.ty.tr_iTE(),
                                touchStart: "ontouchstart" in window,
                                language: navigator.language || "",
                                nolanguages: 0 === (navigator.languages ? .length || 0),
                                cookieStorage: navigator.cookieEnabled || !1,
                                sessionStorage: t.visitor.vi_sSS(),
                                openDatabase: !!(window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB) || !1,
                                addBehavior: !(!document.body || !document.body.addBehavior),
                                colorgamut: t.ty.tr_fCG(),
                                cpuClass: navigator.oscpu || navigator.cpuClass || 0,
                                audioFpHash: t.ty.tr_cAF(),
                                webGLFpHash: t.ty.tr_cWGF(),
                                canvasFpHash: t.ty.tr_cCF(),
                                webGL1ParamHash: t.md5(t.ty.webglString1),
                                webGL2ParamHash: t.md5(t.ty.webglString2),
                                visibilityState: document.visibilityState,
                                webkitVisibilityState: document.webkitVisibilityState || "",
                                domManipulation: document.documentElement.getAttributeNames().some(e => ["selenium", "webdriver", "driver", "chromedriver", "automation", "puppeteer"].includes(e))
                            };
                            try {
                                t.ty.mdInput.currentHeapSize = window.performance.memory ? .usedJSHeapSize || performance.now(), t.ty.mdInput.heapSizeLimit = window.performance.memory ? .jsHeapSizeLimit || 0
                            } catch (e) {
                                t.warn(e + "error found while packing traffiqly bundle")
                            }
                            if ("object" == typeof t.ty.mdInput.installedPlugins) {
                                let e = t.ty.mdInput.installedPlugins;
                                "value" in e && (t.ty.mdInput.installedPlugins = e.value);
                                let i = {
                                    code: "ty_installed_plugins",
                                    type: "catch",
                                    environment: {
                                        data: e
                                    }
                                };
                                t.ma_lE(i)
                            }
                            try {
                                let e = -1;
                                if (window.performance.getEntriesByType) {
                                    const t = window.performance.getEntriesByType("navigation");
                                    t.length > 0 && (e = t[0].redirectCount)
                                } else window.performance.navigation && (e = window.performance.navigation.redirectCount);
                                t.ty.mdInput.redirectCount = e, t.ty.mdInput.ancestorOriginsLength = void 0 !== window.location.ancestorOrigins ? window.location.ancestorOrigins.length : -1, t.ty.mdInput.getUserMedia = "function" == typeof navigator.getUserMedia || navigator.mediaDevices && "function" == typeof navigator.mediaDevices.getUserMedia ? 1 : 0
                            } catch (e) {
                                e.code = "av-ty-params", e.type = "catch", t.ma_lE(e)
                            }
                            t.ty.mdInput.engineVariables = t.ty.tr_fEV(), t.ty.mdInput.reporting = t.ty.tr_tRB();
                            const m = t.ty.tr_cMF() || "";
                            t.ty.mdInput.mathsFpString = m.mathsFpStr, t.ty.mdInput.mathsFpHash = m.hash
                        }
                        tr_cMF() {
                            var e = Math,
                                i = function() {
                                    return 0
                                };

                            function o(e, i) {
                                t.ty.performanceObj = "undefined" != typeof performance && "function" == typeof performance.now;
                                var o = t.ty.performanceObj ? performance.now() : Date.now();
                                return {
                                    name: i,
                                    result: e(),
                                    duration: (t.ty.performanceObj ? performance.now() : Date.now()) - o
                                }
                            }
                            var n = {};
                            n.acos = o(() => (e.acos || i)(.12312423423423424), "acos"), n.acosh = o(() => (e.acosh || i)(1e308), "acosh"), n.acoshPf = o(() => (e.log || i)(1e154 + e.sqrt(1e308)), "acoshPf"), n.asin = o(() => (e.asin || i)(.12312423423423424), "asin"), n.asinh = o(() => (e.asinh || i)(1), "asinh"), n.asinhPf = o(() => (e.log || i)(1 + e.sqrt(2)), "asinhPf"), n.atanh = o(() => (e.atanh || i)(.5), "atanh"), n.atanhPf = o(() => (e.log || i)(3) / 2, "atanhPf"), n.atan = o(() => (e.atan || i)(.5), "atan"), n.sin = o(() => (e.sin || i)(-1e300), "sin"), n.sinh = o(() => (e.sinh || i)(1), "sinh"), n.sinhPf = o(() => (e.exp || i)(1) - 1 / e.exp(1) / 2, "sinhPf"), n.cos = o(() => (e.cos || i)(10.000000000123), "cos"), n.cosh = o(() => (e.cosh || i)(1), "cosh"), n.coshPf = o(() => ((e.exp || i)(1) + 1 / e.exp(1)) / 2, "coshPf"), n.tan = o(() => (e.tan || i)(-1e300), "tan"), n.tanh = o(() => (e.tanh || i)(1), "tanh"), n.tanhPf = o(() => ((e.exp || i)(2) - 1) / (e.exp(2) + 1), "tanhPf"), n.exp = o(() => (e.exp || i)(1), "exp"), n.expm1 = o(() => (e.expm1 || i)(1), "expm1"), n.expm1Pf = o(() => (e.exp || i)(1) - 1, "expm1Pf"), n.log1p = o(() => (e.log1p || i)(10), "log1p"), n.log1pPf = o(() => (e.log || i)(11), "log1pPf"), n.powPI = o(() => (e.pow || i)(e.PI, -100), "powPI");
                            const r = JSON.stringify(n);
                            return {
                                hash: t.md5(r),
                                mathsFpStr: r
                            }
                        }
                        tr_fGUI() {
                            var e = {
                                renderer: "",
                                vendor: "",
                                unmaskedRendrer: "",
                                unmaskedVendor: ""
                            };
                            try {
                                var t = document.createElement("canvas").getContext("webgl");
                                if (void 0 === t) return e;
                                e.renderer = t.getParameter(t.RENDERER), e.vendor = t.getParameter(t.VENDOR);
                                var i = t.getExtension("WEBGL_debug_renderer_info");
                                i && (e.unmaskedRendrer = t.getParameter(i.UNMASKED_RENDERER_WEBGL), e.unmaskedVendor = t.getParameter(i.UNMASKED_VENDOR_WEBGL))
                            } catch (e) {}
                            return e
                        }
                        tr_fWGS(e, t) {
                            if (!e) return "";
                            let i = "";
                            return t.forEach(function(t) {
                                try {
                                    i += e.getParameter(e[t]) + ","
                                } catch (e) {
                                    i += ","
                                }
                            }), i
                        }
                        tr_fWGI() {
                            if (void 0 !== t.ty.webGlInfo) return;
                            t.ty.webGlInfo = t.ty.webGlInfo || {};
                            const e = document.createElement("canvas").getContext("webgl");
                            t.ty.webglString1 = this.tr_fWGS(e, ["MAX_VERTEX_ATTRIBS", "MAX_VERTEX_UNIFORM_VECTORS", "MAX_VERTEX_TEXTURE_IMAGE_UNITS", "MAX_VARYING_VECTORS", "MAX_FRAGMENT_UNIFORM_VECTORS", "MAX_TEXTURE_IMAGE_UNITS", "MAX_TEXTURE_SIZE", "MAX_CUBE_MAP_TEXTURE_SIZE", "MAX_COMBINED_TEXTURE_IMAGE_UNITS", "RED_BITS", "GREEN_BITS", "BLUE_BITS", "ALPHA_BITS", "DEPTH_BITS", "STENCIL_BITS", "MAX_VIEWPORT_DIMS", "ALIASED_POINT_SIZE_RANGE"]);
                            const i = document.createElement("canvas").getContext("webgl2");
                            t.ty.webglString2 = this.tr_fWGS(i, ["MAX_VERTEX_UNIFORM_COMPONENTS", "MAX_VERTEX_UNIFORM_BLOCKS", "MAX_VERTEX_OUTPUT_COMPONENTS", "MAX_VARYING_COMPONENTS", "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS", "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS", "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS", "MAX_FRAGMENT_UNIFORM_COMPONENTS", "MAX_FRAGMENT_UNIFORM_BLOCKS", "MAX_FRAGMENT_INPUT_COMPONENTS", "MIN_PROGRAM_TEXEL_OFFSET", "MAX_PROGRAM_TEXEL_OFFSET", "MAX_DRAW_BUFFERS", "MAX_COLOR_ATTACHMENTS", "MAX_SAMPLES", "MAX_3D_TEXTURE_SIZE", "MAX_ARRAY_TEXTURE_LAYERS", "MAX_TEXTURE_LOD_BIAS", "MAX_UNIFORM_BUFFER_BINDINGS", "MAX_UNIFORM_BLOCK_SIZE", "MAX_UNIFORM_BLOCK_SIZE", "UNIFORM_BUFFER_OFFSET_ALIGNMENT", "MAX_COMBINED_UNIFORM_BLOCKS", "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS", "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"])
                        }
                        tr_oFD() {
                            if (void 0 === t.ty.featureDetectionString) {
                                var e = ["ambientlight", "applicationcache", "batteryapi", "blobconstructor", "canvas", "canvastext", "contenteditable", "contextmenu", "cors", "cryptography", "customelements", "customprotocolhandler", "customevent", "dart", "dataview", "emoji", "eventlistener", "flash", "forcetouch", "fullscreen", "gamepads", "geolocation", "hashchange", "hiddenscroll", "history", "htmlimports", "ie8compat", "indexeddb", "indexeddbblob", "intl", "olreversed", "mathml", "notification", "pagevisibility", "performance", "pointerevents", "pointerlock", "postmessage", "proximity", "queryselector", "quotamanagement", "requestanimationframe", "serviceworker", "svg", "templatestrings", "typedarrays", "unicoderange", "unicode", "userdata", "vibrate", "video", "webintents", "animation", "websockets", "xdomainrequest", "audioloop", "audiopreload", "webaudio", "lowbattery", "canvasblending", "todataurljpegtodataurlpngtodataurlwebp", "canvaswinding", "classlist", "dataset", "documentfragment", "microdata", "mutationobserver", "dernizr.passiveeventlisteners", "dernizr.bdi", "datalistelem", "dernizr.details", "dernizr.outputelem", "picture", "progressbarmeter", "ruby", "time", "unknownelements", "es5array", "es5date", "es5function", "es5object", "es5", "strictmode", "es5string", "es5syntax", "es5undefined", "es6array", "arrow", "es6collections", "contains", "generators", "es6math", "es6number", "es6object", "promises", "es6string", "devicemotiondeviceorientation", "filereader", "filesystem", "sandbox", "seamless", "srcdoc", "apng", "imgcrossorigin", "webpanimation", "beacon", "lowbandwidth", "eventsource", "fetch", "xhrresponsetypearraybuffer", "xhrresponsetypeblob", "xhrresponsetypedocument", "xhrresponsetypejson", "xhrresponsetypetext", "xhrresponsetype", "xhr2", "scriptasync", "scriptdefer", "speechrecognition", "speechsynthesis", "localstorage", "sessionstorage", "websqldatabase", "svgasimg", "svgclippaths", "svgfilters", "svgforeignobject", "inlinesvg", "smil", "bloburls", "urlparser", "urlsearchparams", "videoautoplay", "videocrossorigin", "videoloop", "videopreload", "datachannel", "getusermedia", "peerconnection", "websocketsbinary", "atobbtoa", "framed", "matchmedia", "blobworkers", "dataworkers", "sharedworkers", "webworkers"];
                                if ("object" != typeof Modernizr || void 0 === Modernizr[e[0]]) return window.setTimeout(function() {
                                    t.ty.tr_pFD()
                                }, 200), !1;
                                t.ty.featureDetectionString = "", e.forEach(function(e) {
                                    t.ty.featureDetectionString += (Modernizr[e] ? "1" : "0") + ","
                                })
                            }
                            return t.ty.featureDetectionString
                        }
                        tr_pFD() {
                            try {
                                if (t.ty.tr_oFD()) {
                                    t.ty.tr_fWGI();
                                    var e = {
                                        stream: "ty_fingerprints"
                                    };
                                    e.timestamp = t.timestamps.now(), e.avTyCookie = t.visitor.vi_gUI(), e.webglString1 = t.ty.webglString1 || "", e.webglString2 = t.ty.webglString2 || "", e.featureDetectionString = t.ty.featureDetectionString;
                                    const i = t.ty.tr_gBSE();
                                    e.browserSign = i.signature, e.browserSignHash = i.hash;
                                    const o = t.ty.tr_cMF() || "";
                                    e.mathsFpString = o.mathsFpStr, e.mathsFpHash = o.hash, e = t.ma_dBA(e), t.ma_lE(e)
                                }
                            } catch (e) {
                                e.code = "ty-posting-fingerprints-error", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        tr_iTE() {
                            var e = !1;
                            try {
                                document.createEvent("TouchEvent"), e = !0
                            } catch (e) {}
                            return e
                        }
                        tr_cD() {
                            var e = navigator.msDoNotTrack || navigator.doNotTrack;
                            return !(!e || "1" !== e && "yes" !== e)
                        }
                        tr_cG() {
                            var e = navigator.globalPrivacyControl;
                            return !(!e || !0 !== e)
                        }
                        tr_fCG() {
                            const e = ["rec2020", "p3", "srgb"];
                            let t = "na";
                            if (window.matchMedia)
                                for (let i of e) window.matchMedia("(color-gamut: " + i + ")").matches && (t = i);
                            return t
                        }
                        tr_fPL() {
                            if (0 === navigator.plugins.length) return "";
                            const e = [];
                            for (let t = 0; t < navigator.plugins.length; t++) {
                                const i = navigator.plugins[t];
                                e.push(i.name + i.filename)
                            }
                            return e.join("##")
                        }
                        tr_fMT() {
                            if (0 === navigator.mimeTypes.length) return "";
                            const e = [];
                            for (let t = 0; t < navigator.mimeTypes.length; t++) e.push(navigator.mimeTypes[t].type);
                            return e.join("##")
                        }
                        tr_cCF() {
                            if (void 0 === t.ty.canvasFp) try {
                                t.ty.canvasFp = "";
                                var e = document.createElement("canvas"),
                                    i = e.getContext("2d"),
                                    o = "i9asdm..$#po((^@KbXrav!~ty";
                                i.textBaseline = "top", i.font = "16px 'Arial'", i.textBaseline = "alphabetic", i.rotate(.05), i.fillStyle = "#f60", i.fillRect(125, 1, 62, 20), i.fillStyle = "#069", i.fillText(o, 2, 15), i.fillStyle = "rgba(102, 200, 0, 0.7)", i.fillText(o, 4, 17), i.shadowBlur = 10, i.shadowColor = "blue", i.fillRect(-20, 10, 234, 5);
                                var n = e.toDataURL();
                                t.ty.canvasFp = t.md5(n)
                            } catch (e) {}
                            return t.ty.canvasFp
                        }
                        tr_gWGC(e) {
                            let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
                                i = null;
                            try {
                                const o = t ? `webgl${t}` : "webgl";
                                i = e.getContext(o) || e.getContext(`experimental-${o}`)
                            } catch (e) {}
                            return i
                        }
                        tr_cWGF() {
                            if (void 0 === t.ty.webGLFpHash) try {
                                t.ty.webGLFpHash = "";
                                const e = document.createElement("canvas");
                                e.height = 328;
                                const i = t.ty.tr_gWGC(e);
                                if (i) {
                                    i.clearColor(0, 0, 1, 1);
                                    const o = i.createProgram();

                                    function n(e, t) {
                                        const n = i.createShader(35633 - e);
                                        i.shaderSource(n, t), i.compileShader(n), i.getShaderParameter(n, i.COMPILE_STATUS) ? i.attachShader(o, n) : i.getShaderInfoLog(n)
                                    }
                                    n(0, "attribute vec2 p;uniform float t;void main(){float s=sin(t);float c=cos(t);gl_Position=vec4(p*mat2(c,s,-s,c),1,1);}"), n(1, "void main(){gl_FragColor=vec4(1,0,0,1);}"), i.linkProgram(o), i.useProgram(o), i.enableVertexAttribArray(0);
                                    const r = i.getUniformLocation(o, "t"),
                                        a = i.createBuffer(),
                                        s = 34962;
                                    i.bindBuffer(s, a), i.bufferData(s, new Float32Array([0, 1, -1, -1, 1, -1]), 35044), i.vertexAttribPointer(0, 2, 5126, !1, 0, 0), i.clear(16384), i.uniform1f(r, 3.65), i.drawArrays(4, 0, 3), t.ty.webGLFpHash = t.md5(e.toDataURL())
                                }
                            } catch (d) {
                                t.warn("error computing webgl fingerPrint - " + d, "ty")
                            }
                            return t.ty.webGLFpHash
                        }
                        tr_cAF() {
                            if (!t.ty.audioSamplingInitiated) try {
                                t.ty.audioSamplingInitiated = !0, t.ty.audioSamples = "na";
                                const e = window.OfflineAudioContext || window.webkitOfflineAudioContext;
                                if (!e) return t.warn("audioContext is not supported in this browser", "ty"), t.ty.audioSamples;
                                const i = new e(1, 5e3, 44100),
                                    o = i.createOscillator();
                                o.type = "triangle", o.frequency.value = 1e3;
                                const n = i.createDynamicsCompressor();
                                n.threshold.value = -50, n.knee.value = 40, n.ratio.value = 12, n.attack.value = 0, n.release.value = .2, o.connect(n), n.connect(i.destination), o.start(), i.oncomplete = e => {
                                    t.ty.audioSamples = t.ty.tr_gH(e.renderedBuffer.getChannelData(0))
                                }, i.startRendering()
                            } catch (e) {
                                t.warn("error computing audio fingerprint - " + e.message, "ty"), t.ty.audioSamples = "na"
                            }
                            return t.ty.audioSamples
                        }
                        tr_gH(e) {
                            let t = 0;
                            for (let i = 0; i < e.length; ++i) t += Math.abs(e[i]);
                            return t.toString()
                        }
                        tr_pWZ(e, t) {
                            for (var i = "" + e; i.length < t;) i = "0" + i;
                            return i
                        }
                        tr_rB() {
                            var e = window.av.ty.tr_pWZ(t.ty.counter, 5);
                            if (void 0 !== t.ty.cursorX && void 0 !== t.ty.cursorY) {
                                if (t.ty.mouseMoved && (t.ty.mouseMoved = !1, t.ty.pageActivity["mouse_move_" + e] = [t.ty.cursorX, t.ty.cursorY]), t.ty.mouseClicked && (t.ty.mouseClicked = !1, t.ty.pageActivity["node_clicked_" + e] = [t.ty.cursorX, t.ty.cursorY], 0 === t.ty.cursorX && 0 === t.ty.cursorY)) {
                                    var i = Number(t.visitor.vi_c("ty_zero_click") || 0) + 1;
                                    t.visitor.vi_c("ty_zero_click", i, 1)
                                }
                                t.ty.trackScroll && (t.ty.trackScroll = !1, t.ty.pageActivity["scroll_" + e] = [t.ty.cursorX, t.ty.cursorY]), t.ty.trackTouch && (t.ty.trackTouch = !1, t.ty.pageActivity["touch_" + e] = [t.ty.cursorX, t.ty.cursorY])
                            }
                            t.ty.keyPressed && (t.ty.keyPressed = !1, t.ty.pageActivity["key_pressed_" + e] = [t.ty.keyCode]), t.ty.counter += 50, t.ty.counter >= 1e4 && window.clearInterval(t.ty.eventInterval)
                        }
                        tr_fPU() {
                            return location.protocol + "//" + location.host + location.pathname
                        }
                        tr_pPD() {
                            var e = {};
                            t.ty.pvBundle = {};
                            var i = t.visitor.vi_gSDH();
                            if (t.visitor.vi_sLS()) {
                                for (var o = i <= 10 ? 1 : i - 10; o <= i - 1; o++) e["ty_pv_" + o] = t.visitor.vi_lS("ty_pv_" + o);
                                t.ty.pvBundle.activities = e, t.ty.pvBundle.device = t.visitor.vi_gDT(), t.ty.pvBundle.publisher = t.publisher.pu_gN() || "", t.ty.pvBundle.sourceIP = t.visitor.vi_c("av_ip") || "", t.ty.pvBundle.referrer = t.ma_gRR(), t.ty.pvBundle.publisher_url = t.ty.tr_fPU()
                            }
                            return t.ty.tr_dOPD(), t.ty.pvBundle
                        }
                        tr_dOPD() {
                            var e = t.visitor.vi_gSDH() - 1;
                            if (e > 10 && t.visitor.vi_sLS())
                                for (var i = 1; i < e - 10; i++) localStorage.removeItem("ty_pv_" + i);
                            for (var o = 1; o < e; o++) t.visitor.vi_dC("page_time" + o)
                        }
                        tr_fLPD() {
                            let e = {};
                            if (t.visitor.vi_sLS()) {
                                var i = t.visitor.vi_gSDH() - 1;
                                e["ty_pv_" + i] = t.visitor.vi_lS("ty_pv_" + i), e.device = t.visitor.vi_gDT(), e.publisher = t.publisher.pu_gN() || "", e.sourceIP = t.visitor.vi_c("av_ip") || "", e.referrer = t.ma_gRR(), e.publisher_url = t.ty.tr_fPU()
                            }
                            return e
                        }
                        async tr_pPDA() {
                            var e = t.visitor.vi_gSDH();
                            if (!(e <= 1)) {
                                e -= 1;
                                var i = t.ty.tr_pPD();
                                i.reporting = t.ty.tr_tRB(), i.timestamp = (new Date).getTime(), i.honeypot = t.visitor.vi_c("ty_honey_pot") || 0, await t.ty.tr_pTB();
                                var o = Object.assign({}, window.av.ty.mdInput, i);
                                1 === e ? this.tr_pMID(o, 0, 1) : this.tr_pMID(o, 0, 2)
                            }
                        }
                        tr_mMH(e) {
                            t.ty.mouseMoveCounter = ++t.ty.mouseMoveCounter || 1, t.ty.cursorX = e.pageX, t.ty.cursorY = e.pageY, t.ty.mouseMoved = !0
                        }
                        tr_mCH(e) {
                            t.ty.mouseClickCounter = ++t.ty.mouseClickCounter || 1, t.ty.mouseClicked = !0
                        }
                        tr_kPH(e) {
                            t.ty.keyPressCounter = ++t.ty.keyPressCounter || 1, t.ty.keyPressed = !0, t.ty.keyCode = ""
                        }
                        tr_tSH(e) {
                            t.ty.touchStartCounter = ++t.ty.touchStartCounter || 1
                        }
                        tr_tMH(e) {
                            t.ty.trackTouch = !0, t.ty.touchMoveCounter = ++t.ty.touchMoveCounter || 1
                        }
                        tr_oSH(e) {
                            t.ty.trackScroll = !0, t.ty.scrollCounter = ++t.ty.scrollCounter || 1
                        }
                        tr_oUH(e) {
                            if (!t.ty.unloadEvent) {
                                t.ty.unloadEvent = !0, !t.ty.captchaDataSent && t.ty.captchaShown && (t.ty.tr_pBRT(), t.ty.captchaDataSent = !0);
                                var i = (new Date).getTime() - t.timestamps.started;
                                if (t.ty.lastUnloadTime = i, !t.visitor.vi_c("ty_ua")) {
                                    var o = navigator.userAgent || navigator.vendor || window.opera || "";
                                    o = o.replace(/;/g, ""), t.visitor.vi_c("ty_ua", o, 10)
                                }
                                t.visitor.vi_c("ty_height") || (t.visitor.vi_c("ty_height", window.screen.height, 10), t.visitor.vi_c("ty_width", window.screen.width, 10), t.visitor.vi_c("ty_aheight", window.screen.availHeight, 10), t.visitor.vi_c("ty_awidth", window.screen.availWidth, 10)), t.visitor.vi_c("ty_last_unload", t.ty.lastUnloadTime, 1), t.visitor.vi_c("page_time_" + t.visitor.vi_gSDH(), t.ty.lastUnloadTime, 1);
                                var n = (t.ty.touchStartCounter || 0) + Number(t.visitor.vi_c("ty_touch_start") || 0),
                                    r = (t.ty.touchMoveCounter || 0) + Number(t.visitor.vi_c("ty_touch_move") || 0),
                                    a = (t.ty.mouseMoveCounter || 0) + Number(t.visitor.vi_c("ty_mouse_move") || 0),
                                    s = (t.ty.keyPressCounter || 0) + Number(t.visitor.vi_c("ty_key_press") || 0),
                                    d = (t.ty.mouseClickCounter || 0) + Number(t.visitor.vi_c("ty_mouse_click") || 0),
                                    c = (t.ty.scrollCounter || 0) + Number(t.visitor.vi_c("ty_scroll") || 0);
                                t.visitor.vi_c("ty_mouse_move", a, 1), t.visitor.vi_c("ty_key_press", s, 1), t.visitor.vi_c("ty_mouse_click", d, 1), t.visitor.vi_c("ty_touch_start", n, 1), t.visitor.vi_c("ty_touch_move", r, 1), t.visitor.vi_c("ty_scroll", c, 1), t.ty.tr_rB(), t.ty.pageActivity.publisher_url = t.ty.pageActivity.publisher_url || t.ty.tr_fPU(), t.ty.pageActivity.window_unload_time = [i], t.ty.pageActivity.version = t.version || "", t.ty.pageActivity.commit = t.commit || "", t.visitor.vi_lS("ty_pv_" + t.visitor.vi_gSDH(), t.ty.pageActivity)
                            }
                        }
                        tr_rEL() {
                            window.removeEventListener("scroll", t.ty.tr_oSH, !1), window.removeEventListener("mousemove", t.ty.tr_mMH, !1), window.removeEventListener("click", t.ty.tr_mCH, !1), window.removeEventListener("keypress", t.ty.tr_kPH, !1), window.removeEventListener("touchstart", t.ty.tr_tSH, !1), window.removeEventListener("touchmove", t.ty.tr_tMH, !1)
                        }
                        tr_fCL() {
                            return t.visitor.vi_c("ty_cl") ? Number(t.visitor.vi_c("ty_cl") || 0) : -1
                        }
                        tr_tRB() {
                            var e = {};
                            return (e = t.ma_dBA(e)).avTyCookie = t.visitor.vi_gUI(), e.browserName = t.ty.tr_fBN() || "", e.testPercent = t.ty.testTrafficPercent, e.tyAction = t.ty.tyAction, e.avTyKvp = t.ty.avTyKvp, e.previousPVTime = Number(t.visitor.vi_c("page_time_" + (t.visitor.vi_gSDH() - 1)) || -1), e.hardwareConcurrency = navigator.hardwareConcurrency || -1, e.deviceMemory = navigator.deviceMemory || -1, e.downlink = navigator.connection && navigator.connection.downlink || -1, e.connectionEffectiveType = navigator.connection && navigator.connection.effectiveType || "", e.rtt = navigator.connection && navigator.connection.rtt || -1, e.cookiesEnabled = navigator.cookieEnabled, e.cpuLatency = t.ty.tr_fCL(), e.downloadlinkMax = navigator.connection && navigator.connection.downlinkMax || -1, e
                        }
                        tr_iH() {
                            if (void 0 === t.ty.isHeadLessBrowser) {
                                t.ty.isHeadLessBrowser = 0;
                                const e = t.ty.tr_dHB();
                                e.detected && (t.ty.isHeadLessBrowser = 1, t.ty.headlessBrowserName = e.name)
                            }
                            return t.ty.isHeadLessBrowser
                        }
                        tr_dHB() {
                            const e = [{
                                name: "PhantomJS",
                                condition: t.ty.tr_cPJ()
                            }, {
                                name: "NodeJS",
                                condition: t.ty.tr_cN()
                            }, {
                                name: "CouchJS",
                                condition: t.ty.tr_cC()
                            }, {
                                name: "Rhino",
                                condition: t.ty.tr_cR()
                            }, {
                                name: "JSDOM",
                                condition: t.ty.tr_cJD()
                            }, {
                                name: "WebDriver (Selenium)",
                                condition: t.ty.tr_cS()
                            }, {
                                name: "ChromeHeadless",
                                condition: t.ty.tr_cCH()
                            }, {
                                name: "Headless WebKit",
                                condition: t.ty.tr_cHWK()
                            }];
                            for (const t of e)
                                if (t.condition) return {
                                    detected: !0,
                                    name: t.name
                                };
                            return {
                                detected: !1,
                                name: ""
                            }
                        }
                        tr_cPJ() {
                            return !!(window._phantom || window.callPhantom || window._callPhantom || window.__phantomas)
                        }
                        tr_cN() {
                            return "undefined" != typeof process && !window.document
                        }
                        tr_cC() {
                            return "undefined" != typeof emit && !window.document
                        }
                        tr_cR() {
                            return "undefined" != typeof spawn && !window.document
                        }
                        tr_cJD() {
                            return void 0 !== window.__stopAllTimers && !window.document
                        }
                        tr_cS() {
                            return !0 === navigator.webdriver && (!window.chrome || void 0 === window.chrome.runtime)
                        }
                        tr_cCH() {
                            let e = navigator.userAgent;
                            const t = e.includes("HeadlessChrome"),
                                i = /Android|iPhone|iPad|Mobile/i.test(e),
                                o = 0 === navigator.plugins.length,
                                n = !!window.chrome,
                                r = !window.chrome || void 0 === window.chrome.runtime;
                            return t || !i && o && n && r
                        }
                        tr_cHWK() {
                            return navigator.userAgent.includes("HeadlessChrome") && window.chrome && !window.chrome.app
                        }
                        tr_iSIIF() {
                            try {
                                return window.self !== window.top
                            } catch (e) {
                                return !0
                            }
                        }
                        tr_cAC() {
                            return window.AudioContext ? 1 : window.webkitAudioContext ? 0 : -1
                        }
                        tr_fIFPU() {
                            return t.ty.tr_iSIIF() ? document.referrer : ""
                        }
                        tr_iCH() {
                            if (void 0 !== t.ty.isCHLBrowser) return t.ty.isCHLBrowser;
                            t.ty.isCHLBrowser = !1;
                            let e = 0;
                            /HeadlessChrome/.test(navigator.userAgent) && (e += 2), 0 === navigator.plugins.length && e++, navigator.languages && 0 !== navigator.languages.length || e++, navigator.webdriver && (e += 2), !window.chrome || window.chrome.runtime && window.chrome.webstore || "PC" !== t.visitor.vi_gDT() || e++;
                            "onmousemove" in window || "onmousedown" in window || e++;
                            const i = document.createElement("canvas");
                            !(!i.getContext || !i.getContext("webgl")) || e++;
                            return performance.now && performance.now() < 1e3 && e++, e >= 4 && (t.ty.isCHLBrowser = !0), t.ty.isCHLBrowser, t.ty.isCHLBrowser
                        }
                        tr_cNF(e, t) {
                            if ("sharedStorage" === t || "styleMedia" === t) return !1;
                            let i = e[t];
                            return i && "function" == typeof i && (o = t, n = i.toString(), [`function ${o}() {\n    [native code]\n}`, `function ${o}() { [native code] }`].includes(n));
                            var o, n
                        }
                        tr_fNF(e) {
                            return Object.getOwnPropertyNames(e).map(i => t.ty.tr_cNF(e, i) ? i : "").filter(e => "" !== e)
                        }
                        tr_gS(e) {
                            return e.split("").reduce((e, t) => e + t.charCodeAt(0), 0)
                        }
                        tr_gSFL(e) {
                            return e.reduce((e, i) => e + "," + t.ty.tr_gS(i), "").slice(1)
                        }
                        tr_gBSE() {
                            try {
                                const e = this.tr_fNF(window),
                                    i = e.reduce((e, t) => e + t, ""),
                                    o = t.md5(i);
                                return {
                                    hash: o,
                                    signature: this.tr_gSFL(e)
                                }
                            } catch (e) {
                                return {}
                            }
                        }
                        tr_fEV() {
                            const e = {};
                            try {
                                const t = window.CSS || {},
                                    i = window.navigator ? .product || "",
                                    o = window.navigator ? .productSub || "";
                                e.chrome = !!window.chrome, e.opr = !!window.opr, e.opera = !!window.opera, e.CSS = !!t, e.documentMode = !!document.documentMode, e.styleMedia = !!window.styleMedia, e.installTriggerDefined = void 0 !== window.InstallTrigger, e.supportsMozUserSelectUnset = t.supports("( -moz-user-select:unset )"), e.supportsWebkitBoxReflectUnset = t.supports("( -webkit-box-reflect:unset )"), e.webkitUrl = !!window.webkitURL, e.webkitAppearanceDefined = "WebkitAppearance" in document.documentElement.style, e.navigatorProduct = i, e.navigatorSubproduct = o, e.xpath = !!document.evaluate, e.querySelector = !!document.querySelector, e.safari = "undefined" != typeof safari, e.pushNotification = "undefined" != typeof safari && !!safari.pushNotification, e.mozScreen = !!window.mozInnerScreenX, window.chrome && (e.chromeWebstore = !!window.chrome.webstore, e.chromeRuntime = !!window.chrome.runtime)
                            } catch (e) {}
                            return e
                        }
                        tr_cT(e) {
                            return e.filter(Boolean).length
                        }
                        tr_fRE() {
                            if (void 0 !== t.ty.renderingEngine) return t.ty.renderingEngine;
                            t.ty.renderingEngine = "";
                            const e = window,
                                i = navigator;
                            try {
                                t.ty.tr_cT(["MSCSSMatrix" in e, "msSetImmediate" in e, "msIndexedDB" in e, "msMaxTouchPoints" in i, "msPointerEnabled" in i]) >= 4 ? t.ty.renderingEngine = "trident" : t.ty.tr_cT(["msWriteProfilerMark" in e, "MSStream" in e, "msLaunchUri" in i, "msSaveBlob" in i]) >= 3 ? t.ty.renderingEngine = "edgehtml" : t.ty.tr_cT(["buildID" in i, "MozAppearance" in (document.documentElement ? .style ? ? {}), "MediaRecorderErrorEvent" in e, "mozInnerScreenX" in e, "CSSMozDocumentRule" in e, "CanvasCaptureMediaStream" in e]) >= 4 ? t.ty.renderingEngine = "gecko" : t.ty.tr_cT(["ApplePayError" in e, "CSSPrimitiveValue" in e, "Counter" in e, 0 === i.vendor ? .indexOf("Apple"), "getStorageUpdates" in i, "WebKitMediaKeys" in e]) >= 4 ? t.ty.renderingEngine = "webkit" : !("chrome" in e || e.Intl && Intl.v8BreakIterator) || !("CSS" in e) || i.vendor && -1 === i.vendor.indexOf("Google") || (t.ty.renderingEngine = "blink")
                            } catch (e) {
                                t.warn("finding rendering engine failed", "ty")
                            }
                            return t.ty.renderingEngine
                        }
                        tr_fBN() {
                            if ("string" == typeof this.browser && this.browser && "Unknown" !== this.browser && "" !== this.browser) return this.browser;
                            const e = navigator.userAgent || "",
                                t = [
                                    [/FBAN|FBAV|FB_IAB/i, "facebook"],
                                    [/WhatsApp/i, "whatsapp"],
                                    [/Instagram/i, "instagram"],
                                    [/Barcelona/i, "threads"],
                                    [/musical_ly|tiktok|BytedanceWebview/i, "tiktok"],
                                    [/Snapchat/i, "snapchat"],
                                    [/LinkedInApp/i, "linkedin"],
                                    [/Twitter|TwitterAndroid|Twitter for/i, "twitter"],
                                    [/Pinterest/i, "pinterest"],
                                    [/Reddit/i, "reddit"],
                                    [/Discord/i, "discord"],
                                    [/Telegram/i, "telegram"],
                                    [/\bLine\b/i, "line"],
                                    [/GSA\/[\d.]+/i, "googlesearchapp"],
                                    [/MicroMessenger/i, "wechat"],
                                    [/GeminiiOS/i, "gemini"],
                                    [/UCBrowser/i, "ucbrowser"],
                                    [/YaBrowser/i, "yandex"],
                                    [/SamsungBrowser/i, "samsung"],
                                    [/Puffin/i, "puffin"],
                                    [/PHX/i, "phoenix"],
                                    [/DuckDuckGo/i, "duckduckgo"],
                                    [/HuaweiBrowser/i, "huawei"],
                                    [/MiuiBrowser/i, "miui"],
                                    [/Vivaldi/i, "vivaldi"],
                                    [/EdgiOS/i, "edgeios"],
                                    [/Edg\//i, "edge"],
                                    [/OPR\/|Opera Mini|OPiOS/i, "opera"],
                                    [/KAIOS/i, "kaios"],
                                    [/Firefox|FxiOS/i, "firefox"],
                                    [/CriOS/i, "chromeios"],
                                    [/\bwv\b.*Version\/[\d.]+.*Chrome|Version\/[\d.]+.*Chrome.*\bwv\b/i, "androidwebview"],
                                    [/Chrome|Chromium/i, "chrome"],
                                    [/IEMobile/i, "iemobile"],
                                    [/Trident|MSIE/i, "internetexplorer"],
                                    [/pc/, "baidu"]
                                ];
                            this.browser = "Unknown";
                            try {
                                for (const [i, o] of t)
                                    if (i.test(e)) return this.browser = o;
                                if (/Messenger/i.test(e) && !/Instagram/i.test(e)) return this.browser = "metamessenger";
                                if (/AppleWebKit/i.test(e) && /Mobile/i.test(e) && !/Safari/i.test(e)) return this.browser = "ioswebview";
                                if (/Safari/i.test(e) && !/Chrome|Chromium|Edg|OPR|CriOS/i.test(e)) return this.browser = "safari";
                                if (/AppleWebKit/i.test(e) && /Macintosh/i.test(e)) return this.browser = "ioswebview";
                                if (/SamsungBrowser/i.test(e)) return this.browser = "samsung"
                            } catch (e) {
                                this.browser = "Unknown"
                            }
                            if (!this.browser || "Unknown" == this.browser || "" == this.browser) {
                                const e = navigator.userAgentData ? .brands ? .map(e => e.brand) || [];
                                if (e.length) {
                                    const t = {
                                        "Microsoft Edge": "edge",
                                        Brave: "brave",
                                        Opera: "opera",
                                        Vivaldi: "vivaldi",
                                        "Google Chrome": "chrome",
                                        Chromium: "chromium"
                                    };
                                    for (const i of e)
                                        if (t[i]) return this.browser = t[i]
                                }
                            }
                            return this.browser
                        }
                        async tr_fBV() {
                            if ("string" == typeof this.browserVersion && this.browserVersion && "Unknown" !== this.browserVersion) return this.browserVersion;
                            const e = navigator.userAgent || "",
                                i = t.ty.tr_fBN() || this.browser || "Unknown",
                                o = {
                                    facebook: [/\[FB_IAB\/[^\]]*FBAV\/([\d.]+)/i, /FBAN\/[A-Z0-9]+;\s*FBAV\/([\d.]+)/i, /(?:FBAV|FBAN)\/([\d.]+)/i, /FBAV[:\s]?([\d.]+)/i, /FBSV\/([\d.]+)/i],
                                    instagram: [/Instagram\s([0-9.]+)/i],
                                    threads: [/Barcelona\/([0-9.]+)/i],
                                    tiktok: [/(?:TikTok|musical_ly)[/_]?([0-9.]+)/i, /app_version\/([0-9.]+)/i, /aweme_([0-9]+)/i],
                                    snapchat: [/Snapchat\/([0-9.]+)/i],
                                    linkedin: [/\[LinkedInApp\]\/([0-9.]+)/i],
                                    twitter: [/(?:TwitterAndroid|Twitter for iPhone|Twitter)\/([0-9.]+)/i],
                                    pinterest: [/Pinterest\/([0-9.]+)/i],
                                    reddit: [/Reddit\/([0-9.]+)/i],
                                    discord: [/Discord\/([0-9.]+)/i],
                                    telegram: [/Telegram(?:Messenger)?\/([0-9.]+)/i],
                                    line: [/Line\/([0-9.]+)/i],
                                    wechat: [/MicroMessenger\/([0-9.]+)/i],
                                    googlesearchapp: [/GSA\/([0-9.]+)/i],
                                    phoenix: [/PHX\/([0-9.]+)/i],
                                    edge: [/Edg\/([0-9.]+)/i],
                                    edgeios: [/EdgiOS\/([0-9.]+)/i],
                                    opera: [/(?:OPR|Opera Mini|OPiOS)\/([0-9.]+)/i],
                                    firefox: [/(?:Firefox|FxiOS)\/([0-9.]+)/i],
                                    samsung: [/SamsungBrowser\/([0-9.]+)/i],
                                    ucbrowser: [/UCBrowser\/([0-9.]+)/i],
                                    yandex: [/YaBrowser\/([0-9.]+)/i],
                                    puffin: [/Puffin\/([0-9.]+)/i],
                                    duckduckgo: [/DuckDuckGo\/([0-9.]+)/i],
                                    huawei: [/HuaweiBrowser\/([0-9.]+)/i],
                                    miui: [/MiuiBrowser\/([0-9]+(?:\.[0-9]+)*(?:-[a-zA-Z0-9]+)?)/i],
                                    vivaldi: [/Vivaldi\/([0-9.]+)/i],
                                    kaios: [/KAIOS\/([0-9.]+)/i],
                                    chromeios: [/CriOS\/([0-9.]+)/i],
                                    chrome: [/Chrome\/([0-9.]+)/i],
                                    chromium: [/Chromium\/([0-9.]+)/i],
                                    brave: [/Chrome\/([0-9.]+)/i],
                                    safari: [/Version\/([0-9.]+)/i],
                                    androidwebview: [/Chrome\/([0-9.]+)/i],
                                    ioswebview: [/AppleWebKit\/([0-9.]+)/i],
                                    internetexplorer: [/(?:MSIE\s|rv:)([0-9.]+)/i],
                                    iemobile: [/IEMobile\/([0-9.]+)/i],
                                    baidu: [/(?:Baidu|baidubrowser|FlyFlow)\/([0-9.]+)/i],
                                    gemini: [/GeminiiOS\/([0-9.]+)/i]
                                },
                                n = new Set(["chrome", "chromium", "brave", "androidwebview"]);
                            try {
                                let r;
                                const a = o[i];
                                if (a)
                                    for (const t of a)
                                        if (r = e.match(t)) return this.browserVersion = r[1];
                                if (navigator.userAgentData ? .getHighEntropyValues) try {
                                    const e = await navigator.userAgentData.getHighEntropyValues(["fullVersionList"]),
                                        t = {
                                            edge: /Microsoft Edge/i,
                                            opera: /Opera/i,
                                            brave: /Brave/i,
                                            chrome: /Google Chrome/i,
                                            chromium: /Chromium/i,
                                            vivaldi: /Vivaldi/i
                                        }[i];
                                    if (t) {
                                        const i = (e ? .fullVersionList || []).find(e => t.test(e.brand));
                                        if (i ? .version) return this.browserVersion = i.version
                                    }
                                } catch (e) {
                                    t.warn("UA-CH version detection failed", e)
                                }
                                if (r = e.match(/Chrome\/([0-9.]+)/i)) {
                                    const e = r[1];
                                    return n.has(i) ? this.browserVersion = e : e
                                }
                            } catch (e) {
                                t.warn("Browser version detection failed", e)
                            }
                            return this.browserVersion = "Unknown"
                        }
                        async tr_fON() {
                            if (void 0 !== t.ty.osName && "" !== t.ty.osName) return t.ty.osName;
                            t.ty.osName = "";
                            try {
                                if (navigator.userAgentData && "function" == typeof navigator.userAgentData.getHighEntropyValues && !/iPhone|iPad|iPod/i.test(navigator.userAgent) && !/Mac OS X|Macintosh/i.test(navigator.userAgent)) {
                                    let e = await navigator.userAgentData.getHighEntropyValues(["platform"]);
                                    t.ty.osName = e.platform || ""
                                }
                                "Android" === t.ty.osName && /Windows Phone/i.test(navigator.userAgent) && (t.ty.osName = "Windows Phone")
                            } catch (e) {
                                t.warn("Failed to determine OS name", e)
                            }
                            if (!t.ty.osName) {
                                const e = navigator.userAgent || "";
                                /iPhone|iPad|iPod/i.test(e) ? t.ty.osName = "iOS" : /Windows Phone/i.test(e) ? t.ty.osName = "Windows Phone" : /Windows NT/i.test(e) ? t.ty.osName = "Windows" : /Android/i.test(e) ? t.ty.osName = "Android" : /Mac OS X|Macintosh/i.test(e) ? t.ty.osName = "macOS" : /CrOS/i.test(e) ? t.ty.osName = "Chrome OS" : /Linux/i.test(e) ? t.ty.osName = "Linux" : /BlackBerry|BB10/i.test(e) ? t.ty.osName = "BlackBerry OS" : /MeeGo/i.test(e) ? t.ty.osName = "MeeGo" : /FB4A/i.test(e) ? t.ty.osName = "Android" : /FBIOS/i.test(e) ? t.ty.osName = "iOS" : t.ty.osName = "Unknown"
                            }
                            return t.ty.osName
                        }
                        async tr_fOV() {
                            if (void 0 !== t.ty.osVersion) return t.ty.osVersion;
                            t.ty.osVersion = "";
                            let e = navigator.userAgent || "";
                            try {
                                let i;
                                if (i = e.match(/Windows NT ([\d.]+)/i)) {
                                    const e = {
                                        "10.0": "10/11",
                                        6.3: "8.1",
                                        6.2: "8",
                                        6.1: "7",
                                        "6.0": "Vista",
                                        5.1: "XP"
                                    };
                                    if (t.ty.osVersion = e[i[1]] || i[1], "10/11" === t.ty.osVersion) {
                                        let e = await navigator.userAgentData.getHighEntropyValues(["platformVersion"]),
                                            i = parseInt(e.platformVersion.split(".")[0], 10);
                                        t.ty.osVersion = i >= 13 ? "11" : "10"
                                    }
                                } else if (/iP(hone|ad|od)/.test(e)) {
                                    let i = e.match(/OS ([0-9_]+)/);
                                    i && (t.ty.osVersion = i[1].replace(/_/g, "."))
                                } else(i = e.match(/Mac OS X ([\d_]+)/i)) ? t.ty.osVersion = i[1].replace(/_/g, ".") : ((i = e.match(/Windows Phone ([\d.]+)/i)) || (i = e.match(/Android ([\d.]+)/i)) || /CrOS/i.test(e) && (i = e.match(/CrOS [^ ]+ ([\d.]+)/i)) || (i = e.match(/BB10.*Version\/([\d.]+)/i)) || (i = e.match(/Nokia.*Version\/([\d.]+)/i)) || (i = e.match(/BlackBerry\d+\/([\d.]+)/i))) && (t.ty.osVersion = i[1]);
                                if ("" === t.ty.osVersion) {
                                    let e, o = navigator.userAgent || "";
                                    if (e = o.match(/Windows NT ([0-9.]+)/), e) {
                                        const i = {
                                            "10.0": "10",
                                            6.3: "8.1",
                                            6.2: "8",
                                            6.1: "7"
                                        };
                                        t.ty.osVersion = i[e[1]] || e[1]
                                    } else if (e = o.match(/Android ([0-9.]+)/)) t.ty.osVersion = e[1];
                                    else if (/iP(hone|ad|od)/.test(o)) {
                                        let e = o.match(/OS (\d+[_\d]*)/);
                                        e && (t.ty.osVersion = e[1].replace(/_/g, "."))
                                    } else(e = o.match(/Mac OS X ([0-9_]+)/)) ? t.ty.osVersion = e[1].replace(/_/g, ".") : (e = o.match(/BB10|BlackBerry.*Version\/([0-9.]+)/i)) ? t.ty.osVersion = e[1] || "10" : (e = o.match(/CrOS [\w]+ ([0-9.]+)/)) ? t.ty.osVersion = e[1] : /Linux|X11/i.test(o) ? /Ubuntu/i.test(o) ? t.ty.osVersion = "Ubuntu" : /Fedora/i.test(o) ? t.ty.osVersion = "Fedora" : /Debian/i.test(o) ? t.ty.osVersion = "Debian" : /Mint/i.test(o) ? t.ty.osVersion = "Mint" : /Arch/i.test(o) ? t.ty.osVersion = "Arch" : t.ty.osVersion = "Linux" : (i = o.match(/FBSV\/([\d.]+)/i)) ? t.ty.osVersion = i[1] : t.ty.osVersion = "Unknown"
                                }
                            } catch (e) {
                                t.warn("Failed to determine OS version", e)
                            }
                            return t.ty.osVersion
                        }
                        async tr_fDB() {
                            let e = navigator.userAgent || "",
                                i = e.toUpperCase();
                            if (t.ty.deviceBrand) return t.ty.deviceBrand;
                            try {
                                let e = "";
                                if (navigator.userAgentData ? .getHighEntropyValues) try {
                                    const t = await navigator.userAgentData.getHighEntropyValues(["model"]);
                                    e = (t ? .model || "").trim()
                                } catch (e) {
                                    t.warn("getHighEntropyValues failed", e)
                                }
                                let i = e.replace(/\s+/g, "").toUpperCase();
                                for (const {
                                        brand: e,
                                        regex: o
                                    } of t.ty.deviceRules)
                                    if (o.test(i)) return t.ty.deviceBrand = e, t.ty.deviceBrand
                            } catch (e) {
                                t.warn("Failed to determine device Brand from UA-CH", e)
                            }
                            try {
                                for (let {
                                        brand: i,
                                        regex: o
                                    } of t.ty.deviceRules)
                                    if (o.test(e)) return t.ty.deviceBrand = i, t.ty.deviceBrand
                            } catch (e) {
                                t.warn("Failed to determine device Brand from UA String", e)
                            }
                            try {
                                if (!t.ty.deviceBrand || "" === t.ty.deviceBrand.trim()) {
                                    let o = e.match(/;\s*([^;]+?)\s*Build\//i) || e.match(/Android\s[\d.]+;\s([^;)]+)/i) || e.match(/\b([A-Z0-9-]+)\s*Build/i),
                                        n = o ? .[1] ? .toUpperCase() || "";
                                    for (const {
                                            brand: e,
                                            regex: o
                                        } of t.ty.deviceRules)
                                        if (o.test(n) || o.test(i)) {
                                            t.ty.deviceBrand = e;
                                            break
                                        }
                                }
                            } catch (e) {
                                t.warn("Failed to determine device Brand from UA pattern", e)
                            }
                            try {
                                if (!t.ty.deviceBrand || "" === t.ty.deviceBrand.trim()) {
                                    let i = e.match(/FBBD\/([^;]+)/) ? .[1] || "";
                                    for (const {
                                            brand: e,
                                            regex: o
                                        } of t.ty.deviceRules)
                                        if (o.test(i)) {
                                            t.ty.deviceBrand = e;
                                            break
                                        }
                                }
                            } catch (e) {
                                t.warn("Failed to determine device Brand from FBUA-Token", e)
                            }
                            return t.ty.deviceBrand && void 0 !== t.ty.deviceBrand || (t.ty.deviceBrand = t.visitor.vi_iM() ? "Mobile" : "Unknown"), t.ty.deviceBrand
                        }
                        async tr_fDM() {
                            let e = navigator.userAgent || "",
                                i = e.toUpperCase();
                            if (t.ty.deviceModel) return t.ty.deviceModel;
                            try {
                                let e = await navigator.userAgentData.getHighEntropyValues(["model"]);
                                t.ty.deviceModel = e.model || ""
                            } catch (e) {
                                t.warn("Failed to determine device model from UA-CH", e)
                            }
                            if (!t.ty.deviceModel || "" === t.ty.deviceModel.trim()) {
                                let o = e.match(/;\s*([^;]+?)\s*Build\//i) || e.match(/Android\s[\d.]+;\s([^;)]+)/i) || e.match(/\b([A-Z0-9-]+)\s*Build/i),
                                    n = o ? .[1] ? .toUpperCase() || "";
                                for (const {
                                        brand: o,
                                        regex: r
                                    } of t.ty.deviceRules)
                                    if (r.test(n) || r.test(i)) {
                                        if ("Apple" === o) {
                                            t.ty.deviceModel = "Apple";
                                            const i = e.match(/FBDV\/([^;)\s]+)/i);
                                            if (i ? .[1]) {
                                                t.ty.deviceModel = i[1].trim();
                                                break
                                            }
                                            const o = e.match(/\(([^;]+);\s*CPU/i);
                                            if (o ? .[1]) {
                                                t.ty.deviceModel = o[1].trim();
                                                break
                                            }
                                        } else t.ty.deviceModel = "PC" === o ? "PC" : n || o;
                                        break
                                    }
                            }
                            try {
                                if (!t.ty.deviceModel || "" === t.ty.deviceModel.trim()) {
                                    let i = e.match(/FBDV\/([^;]+)/) ? .[1] || "";
                                    for (const {
                                            brand: e,
                                            regex: o
                                        } of t.ty.deviceRules)
                                        if (o.test(i)) {
                                            t.ty.deviceModel = e;
                                            break
                                        }
                                }
                            } catch (e) {
                                t.warn("Failed to determine device Model from FBUA-Token", e)
                            }
                            if ("Apple" === t.ty.deviceModel || t.ty.deviceModel ? .match(/^iPhone\d+,\d+$/i)) {
                                let e = navigator.userAgent || "",
                                    i = t.ty.deviceModel;
                                const o = {
                                    "iPhone18,1": "iPhone 17 Pro",
                                    "iPhone18,2": "iPhone 17 Pro Max",
                                    "iPhone18,3": "iPhone 17",
                                    "iPhone18,4": "iPhone 17 Air / Plus",
                                    "iPhone17,1": "iPhone 16 Pro",
                                    "iPhone17,2": "iPhone 16 Pro Max",
                                    "iPhone17,3": "iPhone 16",
                                    "iPhone17,4": "iPhone 16 Plus",
                                    "iPhone16,1": "iPhone 15 Pro",
                                    "iPhone16,2": "iPhone 15 Pro Max",
                                    "iPhone15,4": "iPhone 15",
                                    "iPhone15,5": "iPhone 15 Plus",
                                    "iPhone15,2": "iPhone 14 Pro",
                                    "iPhone15,3": "iPhone 14 Pro Max",
                                    "iPhone14,7": "iPhone 14",
                                    "iPhone14,8": "iPhone 14 Plus",
                                    "iPhone14,4": "iPhone 13 mini",
                                    "iPhone14,5": "iPhone 13",
                                    "iPhone14,2": "iPhone 13 Pro",
                                    "iPhone14,3": "iPhone 13 Pro Max",
                                    "iPhone13,1": "iPhone 12 mini",
                                    "iPhone13,2": "iPhone 12",
                                    "iPhone13,3": "iPhone 12 Pro",
                                    "iPhone13,4": "iPhone 12 Pro Max",
                                    "iPhone12,1": "iPhone 11",
                                    "iPhone12,3": "iPhone 11 Pro",
                                    "iPhone12,5": "iPhone 11 Pro Max",
                                    "iPhone11,2": "iPhone XS",
                                    "iPhone11,4": "iPhone XS Max",
                                    "iPhone11,6": "iPhone XS Max (China)",
                                    "iPhone11,8": "iPhone XR",
                                    "iPhone10,3": "iPhone X",
                                    "iPhone10,6": "iPhone X",
                                    "iPhone10,1": "iPhone 8",
                                    "iPhone10,4": "iPhone 8",
                                    "iPhone10,2": "iPhone 8 Plus",
                                    "iPhone10,5": "iPhone 8 Plus",
                                    "iPhone9,1": "iPhone 7",
                                    "iPhone9,3": "iPhone 7",
                                    "iPhone9,2": "iPhone 7 Plus",
                                    "iPhone9,4": "iPhone 7 Plus",
                                    "iPhone8,4": "iPhone SE (1st gen)",
                                    "iPhone12,8": "iPhone SE (2nd gen)",
                                    "iPhone14,6": "iPhone SE (3rd gen)",
                                    "iPad13,18": "iPad (10th gen)",
                                    "iPad13,19": "iPad (10th gen)",
                                    "iPad12,1": "iPad (9th gen)",
                                    "iPad12,2": "iPad (9th gen)",
                                    "iPad14,1": "iPad mini (6th gen)",
                                    "iPad14,2": "iPad mini (6th gen)",
                                    "iPad13,16": "iPad Air (5th gen)",
                                    "iPad13,17": "iPad Air (5th gen)",
                                    "iPad13,4": 'iPad Pro 11" (3rd gen)',
                                    "iPad13,5": 'iPad Pro 11" (3rd gen)',
                                    "iPad13,6": 'iPad Pro 11" (3rd gen)',
                                    "iPad13,7": 'iPad Pro 11" (3rd gen)',
                                    "iPad13,8": 'iPad Pro 12.9" (5th gen)',
                                    "iPad13,9": 'iPad Pro 12.9" (5th gen)',
                                    "iPad13,10": 'iPad Pro 12.9" (5th gen)',
                                    "iPad13,11": 'iPad Pro 12.9" (5th gen)'
                                };
                                if (o[i]) t.ty.deviceModel = o[i];
                                else if (i ? .startsWith("iPhone")) t.ty.deviceModel = "iPhone";
                                else {
                                    const i = e.match(/iPhone/i),
                                        o = e.match(/iPad/i),
                                        n = e.match(/iPod/i),
                                        r = e.match(/(MacBook(?:\s*(?:Pro|Air))?|Mac(?:\s*Mini|intosh)?|iMac)/i);
                                    t.ty.deviceModel = i ? "iPhone" : n ? "iPod" : o ? "iPad" : r ? "Mac" : "Apple Device"
                                }
                            }
                            return t.ty.deviceModel && void 0 !== t.ty.deviceModel || (t.ty.deviceModel = t.visitor.vi_iM() ? "Generic Mobile" : "Unknown"), t.ty.deviceModel
                        }
                        tr_iCM() {
                            const e = navigator;
                            if (e.brave) return !0;
                            if (e.userAgentData && e.userAgentData.brands) return e.userAgentData.brands.some(e => /Chromium|Google Chrome|Microsoft Edge|Opera/.test(e.brand));
                            let t = e.userAgent || "";
                            return /Chrome|Chromium|Edg|OPR/.test(t) && !/Safari/.test(t)
                        }
                        tr_iA() {
                            const e = navigator,
                                t = window;
                            if (e.userAgentData && e.userAgentData.platform) return /Android/.test(e.userAgentData.platform);
                            let i = e.userAgent || e.appVersion || "";
                            return /Android/i.test(i) && ("onorientationchange" in t || "orientation" in t || "serviceWorker" in e)
                        }
                        tr_cIE() {
                            let e = eval.toString().length,
                                t = navigator,
                                i = t.userAgentData && t.userAgentData.brands ? t.userAgentData.brands.map(e => e.brand).join(" ") : t.userAgent.toLowerCase(),
                                o = /edg/i.test(i),
                                n = /trident|msie/i.test(i),
                                r = /firefox/i.test(i),
                                a = /opr|opera/i.test(i),
                                s = /chrome/i.test(i) && !o && !a,
                                d = /safari/i.test(i) && !s && !o,
                                c = o ? "edge" : n ? "internet_explorer" : r ? "firefox" : a ? "opera" : s ? "chrome" : d ? "safari" : "unknown";
                            return 33 === e && !["chrome", "opera", "edge"].includes(c) || 37 === e && !["firefox", "safari"].includes(c) || 39 === e && !["internet_explorer"].includes(c) || e > 40
                        }
                        tr_cAUC() {
                            setTimeout(function() {
                                try {
                                    var e = [],
                                        i = "";
                                    t.units.forEach(function(t) {
                                        e.push("google_ads_iframe_" + t.code + "_0")
                                    }), t.ty.unitsOnpage.forEach(function(t) {
                                        e.push("google_ads_iframe_" + t.code + "_0")
                                    }), setInterval(function() {
                                        var o = document.activeElement;
                                        if (o && "IFRAME" == o.tagName && e.includes(o.id) && i != o.id) {
                                            i = o.id;
                                            var n = {
                                                stream: "clicks_store"
                                            };
                                            n.timestamp = t.timestamps.now(), n.avTyCookie = t.visitor.vi_gUI(), n.unit = o.id.replace("google_ads_iframe_", "").replace("_0", "");
                                            const e = t.ma_gU(n.unit) || t.ty.tr_gUOP(n.unit);
                                            n.viewableImp = e && e.viewedAt ? 1 : 0, n = t.ma_dBA(n), t.ma_lE(n, !0)
                                        }
                                    }, 500)
                                } catch (e) {
                                    t.warn("error catching click on ad unit " + e)
                                }
                            }, 3e3)
                        }
                        tr_sHP() {
                            var e = document.createElement("a"),
                                i = document.createTextNode("<!â€“- Don't click me1 â€“->");
                            e.appendChild(i), e.title = "Do not click me1!", e.id = "hp1", e.href = "#";
                            var o = document.createElement("div");
                            o.style.cssText = "display:none", o.appendChild(e), t.ty.honeypot1 = o;
                            var n = document.createElement("img");
                            n.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==", n.setAttribute("style", "width:1px !important;height:1px !important;");
                            var r = document.createElement("a");
                            r.id = "hp2", r.style.display = "none", r.title = "Don't click!", r.href = "#", r.appendChild(n), t.ty.honeypot2 = r;
                            const a = document.body;
                            a.appendChild(window.av.ty.honeypot1), a.appendChild(window.av.ty.honeypot2), document.getElementById("hp1").addEventListener("click", function() {
                                window.av.visitor.vi_c("ty_honey_pot", 1, 10)
                            }, !1), document.getElementById("hp2").addEventListener("click", function() {
                                window.av.visitor.vi_c("ty_honey_pot", 1, 10)
                            }, !1)
                        }
                        tr_pMID(e, o, n) {
                            try {
                                e.priorHistory = e.priorHistory || {}, e.priorHistory.botChase = e.priorHistory.botChase || t.visitor.vi_c("ty_bot_reason") || "", e.priorHistory.botModel = e.priorHistory.botModel || t.visitor.vi_c("ty_bot_model") || "", e.priorHistory.botScore = e.priorHistory.botScore || this.tr_gBS(), e.priorHistory.captchaSolved = e.priorHistory.captchaSolved || "true" === t.visitor.vi_c("ty_captcha_solved") || !1, e.timestamp = t.timestamps.now(), e.quick_check = o, e.knn_check = n;
                                const r = JSON.stringify(e),
                                    a = t.ty.tr_dE(r, i);
                                this.tr_pTBE(t.ty.endpointUrl, a)
                            } catch (e) {
                                e.code = "ty-request-postMdInputData", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        tr_pTBE(e, o, n, r) {
                            try {
                                let r = "undefined" != typeof performance && "function" == typeof performance.now;
                                const d = r ? performance.now() : Date.now();
                                t.ty.latencyBeforeTy = t.timestamps.now() - t.timestamps.started, t.visitor.vi_c("latency_before_ty", t.ty.latencyBeforeTy, 1);
                                var a = t.timestamps.now(),
                                    s = new XMLHttpRequest;
                                s.open("POST", e, !0), s.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), s.timeout = 5e3, s.ontimeout = () => {
                                    t.ma_lE({
                                        code: "xhr_ty_timeout_reached",
                                        message: "aborted xhr call as it exceeded the timeout"
                                    })
                                }, s.withCredentials = !0, s.onreadystatechange = function() {
                                    if (4 === s.readyState)
                                        if (200 === s.status) try {
                                            const o = r ? performance.now() - d : Date.now() - d;
                                            t.ma_gES(e, "ty_response_time", {
                                                duration: o
                                            });
                                            var c = t.ty.tr_dD(s.responseText, i),
                                                l = c.bot_score,
                                                u = c.bot_reason,
                                                g = c.bot_model;
                                            let n = c.geo;
                                            if (t.visitor.vi_gG(n, c.ip), c.page) {
                                                const e = c.page.gDisable ? ? 0;
                                                t.visitor.vi_iGDOCP(e)
                                            }
                                            t.ma_hP("taxonomy") && c.profile ? .ppid && t.tx.ta_sP(c.profile.ppid);
                                            let p = c.advid;
                                            t.visitor.vi_sAID(p), l > t.publisher.traffiqlyBT ? t.ty.tr_sC() : (t.ty.isValidTraffic = !0, t.que4.xq()), 0 == l && (l = l.toString(10)), t.visitor.vi_c("ty_bot_score", l, 30);
                                            var m = t.visitor.vi_c("ty_bot_reason") || "";
                                            "" == m ? m = u : -1 == m.indexOf(u) && (m += "," + u), t.visitor.vi_c("ty_bot_reason", m, 10), t.visitor.vi_c("ty_bot_model", g, 1), t.ty.tyResponseTime = t.timestamps.now() - a, t.visitor.vi_c("ty_response_time", t.ty.tyResponseTime, 1)
                                        } catch (e) {
                                            e.code = "ty-post-bundle-parse-exception", e.type = "catch", e.environment = {
                                                tyresponse: s.responseText
                                            }, t.ma_lE(e)
                                        } else {
                                            if ((n || 0) >= 3) return void t.ma_lE({
                                                code: "ty-post-bundle-fail",
                                                type: "catch",
                                                environment: {
                                                    status: s.status,
                                                    tries: n,
                                                    online: navigator.onLine || ""
                                                }
                                            });
                                            t.ty.tr_pTBE(e, o, (n || 0) + 1)
                                        }
                                }, s.send(o)
                            } catch (e) {
                                e.code = "ty-post-bundle-exception", e.type = "catch", e.environment = {
                                    message: o
                                }, t.ma_lE(e)
                            }
                        }
                        tr_gUOP(e) {
                            for (const t of this.unitsOnpage)
                                if (t.un_gT().indexOf(e) > -1) return t;
                            return !1
                        }
                        tr_sRE() {
                            window.googletag && window.googletag.cmd && window.googletag.cmd.push(function() {
                                window.googletag.pubads().addEventListener("slotRenderEnded", t.ma_tCH(function(e) {
                                    const i = e.slot.getAdUnitPath();
                                    if (t.ma_gU(i)) return;
                                    let o = t.ty.tr_gUOP(i);
                                    if (!o) {
                                        const n = e.slot.getSlotElementId();
                                        o = {
                                            code: i,
                                            node: document.getElementById(n),
                                            autozone: "off",
                                            renderCount: 0,
                                            slot: n
                                        }, o = new t.constructors.Unit(o), t.ty.unitsOnpage.push(o)
                                    }
                                    o.renderCount++, t.publisher.pu_aE() && o.un_aRA(o, e)
                                }, "ty-slot-render-ended"))
                            })
                        }
                    }
                },
                1270(e) {
                    var t = window.av;
                    e.exports = class {
                        constructor(e) {
                            for (var i in e = e || {}) this[i] = e[i];
                            return this.code = this.code || {}, this.bidCurrency = this.bidCurrency || "USD", t.get("av_only_bidder") && this.code !== t.get("av_only_bidder") && (this.blackball = "only bidder"), this.blackball && this.bi_d(this.blackball), this.aliased && window.avhb.que.push(function() {
                                avhb.aliasBidder(this.aliased, this.code)
                            }), this.pids = this.pids || {}, this
                        }
                        bi_gP() {
                            if (!this.pids || 0 === this.pids.length) {
                                this.pids = this.pids || [];
                                var e = !1;
                                for (var i in t.units)
                                    for (var o in t.units[i].bids) t.units[i].bids[o].bidder === this.code && (e = !0, this.pids.push(t.units[i].bids[o]));
                                t.ma_aBA(this.code, "configured", e)
                            }
                            return this.pids
                        }
                        bi_d(e) {
                            e = e || "no-reason-received", this.disabled = this.disabled || [], this.disabled.push(e);
                            var i = this.code;
                            t.units.forEach(function(e) {
                                e.bids = e.bids.filter(function(e) {
                                    return e.bidder !== i
                                })
                            })
                        }
                        bi_r(e) {
                            if (!this.code) return !1;
                            t.bidders = t.bidders || {}, t.bidders[e] = t.bidders[e] || new t.constructors.Bidder(this), this.renamed = e;
                            var i = this.code;
                            t.units.forEach(function(t) {
                                t.bids.forEach(function(t) {
                                    t.bidder === i && (t.bidder = e)
                                })
                            })
                        }
                        bi_iC() {
                            return this.bi_gP().length > 0
                        }
                    }
                },
                1490(e, t, i) {
                    function o(e) {
                        var t, i, n;
                        if (Array.isArray(e)) {
                            for (i = Array(t = e.length); t--;) i[t] = (n = e[t]) && "object" == typeof n ? o(n) : n;
                            return i
                        }
                        if ("[object Object]" === Object.prototype.toString.call(e)) {
                            for (t in i = {}, e) "__proto__" === t ? Object.defineProperty(i, t, {
                                value: o(e[t]),
                                configurable: !0,
                                enumerable: !0,
                                writable: !0
                            }) : i[t] = (n = e[t]) && "object" == typeof n ? o(n) : n;
                            return i
                        }
                        return e
                    }
                    i.d(t, {
                        Q: () => o
                    })
                },
                3435(e, t, i) {
                    function o(e, t, i) {
                        t.split && (t = t.split("."));
                        for (var o, n, r = 0, a = t.length, s = e; r < a && "__proto__" != (n = "" + t[r++]) && "constructor" !== n && "prototype" !== n;) s = s[n] = r === a ? i : typeof(o = s[n]) == typeof t ? o : 0 * t[r] != 0 || ~("" + t[r]).indexOf(".") ? {} : []
                    }
                    i.d(t, {
                        J: () => o
                    })
                },
                3627(e, t, i) {
                    if (/bot|googlebot|crawler|spider|robot|crawling|facebookexternalhit|lighthouse|newsai/i.test(navigator.userAgent)) throw new Error("-- disabling advergic script because a bot or crawler was detected");
                    window.av = window.av || {};
                    const o = window.av;
                    if (o.scriptLoaded) {
                        const e = {
                            code: "multiple-scripts",
                            stream: "non_crits",
                            environment: {
                                type: "main-script"
                            }
                        };
                        throw o.ma_lE(e), new Error("Another Advergic script already loaded, stopping current load")
                    }
                    if (o.ma_eP = function() {
                            const e = window.location.pathname.toLowerCase(),
                                t = decodeURIComponent(e);
                            return ["/about-us", "/about", "/apply-for-job", "/advertise", "/authors", "/contact-us", "/contact", "/contribution-guidelines", "/dmca", "/dmca-policy", "/legal-pages", "/privacy", "/privacy-policy", "/terms-condition", "/reproduction-and-copyrights", "/terms-of-service", "/terms-of-use", "/cookie-policy", "/terms", "/disclaimer", "/refund-policy", "/returns-policy", "/terms-and-condition", "/shipping-policy", "/faqs", "/faq", "/gdpr", "/data-protection", "/accessibility", "/haftungsausschluss", "/cart", "/shopping-cart", "/checkout", "/login", "/sign-in", "/register", "/sign-up", "/comment-moderation-policy", "/datenschutzrichtlinie", "/account", "/my-account", "/wishlist", "/sitemap", "/sitemap.xml", "/robots.txt", "/404", "/error", "/code-of-ethics", "/maintenance", "/careers", "/write-for-us", "/find-us", "/tender", "/general-info", "/کاپی-رائٹس", "/kontaktieren-sie-uns", "/پرائیویسی-پالیسی", "/ہمارے-بارے-میں", "/ہم-سے-رابطہ", "/legal", "/hubungi-kami", "/kebijakan-privasi", "/syarat-ketentuan"].some(e => t.includes(e))
                        }, "function" == typeof o.ma_eP && o.ma_eP()) throw new Error("-- disabling advergic script because page does not fall under the ad policy standards");

                    function n(e, t) {
                        return ("av" + (e ? "." + e : "") + "@" + ((t || o.timestamps.now()) - o.timestamps.started) + "ms:").replace(/%/g, "%%")
                    }

                    function r() {
                        for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++) t[i] = arguments[i];
                        return t.map(e => {
                            if ("object" == typeof e) try {
                                return JSON.parse(JSON.stringify(e))
                            } catch (e) {}
                            return e
                        })
                    }
                    o.scriptLoaded = !0, o.timestamps = o.timestamps || {}, o.timestamps.started = o.timestamps.started || (new Date).getTime(), o.timestamps.now = function() {
                        return (new Date).getTime()
                    }, o.configName = window.filename || "", o.build = "260810-2e4", o.version = "10.29.0", o.branch = "rel-zambia", o.stripLogs = "$av.stripLogs$", o.ssl = o.ssl || "https:" === document.location.protocol, o.ma_lJ = function(e, t, i, n, r, a) {
                        if (o.loadedJs = o.loadedJs || [], e = (e = (e = e.replace(/^(https)/, "")).replace(/^(http)/, "")).replace(/^(:)/, ""), !r) {
                            if (o.loadedJs.indexOf(e) >= 0) return !1;
                            for (var s = document.getElementsByTagName("script"), d = 0; d < s.length; d++)
                                if (s[d].src === e || s[d].src === "http:" + e || s[d].src === "https:" + e) return o.loadedJs.push(e), !1
                        }
                        return o.loadedJs.push(e),
                            function() {
                                var r = document.createElement("script");
                                r.async = !0, void 0 !== t && (r.async = t), a && (r.crossOrigin = a), r.type = "text/javascript", r.src = (o.ssl ? "https:" : "http:") + e, i && r.addEventListener("load", i), n && r.addEventListener("error", n);
                                var s = document.getElementsByTagName("head")[0] || document.body;
                                s.insertBefore(r, s.firstChild)
                            }(), !1
                    }, o.ma_lJ = o.ma_lJ, o.ma_lJSON = function(e, t, i) {
                        try {
                            var n = new XMLHttpRequest;
                            n.open("GET", e, !0), n.responseType = "json", n.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), n.onload = function() {
                                n.status >= 200 && n.status < 300 && t && t(n.response)
                            }, n.send()
                        } catch (e) {
                            o.warn("json failed to load")
                        }
                    }, o.ma_cPLCS = function() {
                        let e = window.googletag;
                        return "function" == typeof e.setConfig && "function" == typeof e.getConfig
                    }, o.ma_cSLCS = function(e) {
                        return "function" == typeof e.setConfig && "function" == typeof e.getConfig
                    }, o.ma_sDTM = function(e, t, i, n) {
                        let r = window.googletag;
                        const a = o.ma_cPLCS();
                        let s;
                        if (n && (s = o.ma_cSLCS(n)), "set" === e) try {
                            if (t && "object" == typeof t) {
                                for (let e in t) Object.prototype.hasOwnProperty.call(t, e) && o.ma_sDTM("set", e, t[e]);
                                return
                            }
                            if (null == i) return;
                            if (Array.isArray(i)) {
                                if (0 === (i = i.filter(e => null != e).map(String)).length) return
                            } else {
                                if ("object" == typeof i) return;
                                i = String(i)
                            }
                            n ? s ? n.setConfig({
                                targeting: {
                                    [t]: i
                                }
                            }) : n.setTargeting(t, i) : a ? r.setConfig({
                                targeting: {
                                    [t]: i
                                }
                            }) : r.pubads().setTargeting(t, i)
                        } catch (e) {
                            e.code = "set_targeting_fail", e.type = "catch", e.environment = {
                                errorCode: "set_targeting_exception"
                            }, o.ma_lE(e)
                        } else if ("clear" === e) try {
                            if (s) {
                                let e = n.getConfig("targeting").targeting[[t]];
                                e && e.length > 0 && n.setConfig({
                                    targeting: {
                                        [t]: null
                                    }
                                })
                            } else n.clearTargeting(t)
                        } catch (e) {
                            e.code = "clear_targeting_fail", e.type = "catch", e.environment = {
                                errorCode: "clear_targeting_exception"
                            }
                        } else if ("get" === e) try {
                            return n && s ? n.getConfig("targeting").targeting[t] : n.getTargeting(t)
                        } catch (e) {
                            return e.code = "get_targeting_fail", e.type = "catch", e.environment = {
                                errorCode: "get_targeting_exception"
                            }, o.ma_lE(e), []
                        }
                    }, o.ma_sDGM = function(e, t, i) {
                        let n = window.googletag;
                        try {
                            const r = o.ma_cPLCS();
                            let a;
                            if (i && (a = o.ma_cSLCS(i)), i)
                                if (a) "forceSafeFrame" == e ? i.setConfig({
                                    safeFrame: {
                                        [e]: t
                                    }
                                }) : i.setConfig({
                                    [e]: t
                                });
                                else if ("forceSafeFrame" === e) i.setForceSafeFrame(!0);
                            else o.ma_lE({
                                code: "gpt_method_exception",
                                type: "info",
                                message: e
                            });
                            else if (r) n.setConfig({
                                [e]: t
                            });
                            else switch (e) {
                                case "disableInitialLoad":
                                    n.pubads().disableInitialLoad();
                                    break;
                                case "collapseDiv":
                                    n.pubads().setCollapseEmptyDiv("BEFORE_FETCH" === t || "ON_NO_FILL" === t);
                                    break;
                                case "centering":
                                    n.pubads().setCentering(Boolean(t));
                                    break;
                                default:
                                    o.ma_lE({
                                        code: "gpt_method_exception",
                                        type: "info",
                                        message: e
                                    })
                            }
                        } catch (t) {
                            o.ma_lE({
                                code: "gpt_method_exception",
                                type: "catch",
                                message: e
                            })
                        }
                    }, o.uuid4 = function() {
                        return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
                            var t = 16 * Math.random() | 0;
                            return ("x" == e ? t : 3 & t | 8).toString(16)
                        })
                    }, o.get = function(e) {
                        return e = e.toString().toLowerCase(), void 0 === o.getVariables && (o.getVariables = {}, document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function() {
                            function e(e) {
                                return decodeURIComponent(e.split("+").join(" "))
                            }
                            var t = e(arguments[1]).toLowerCase(),
                                i = e(arguments[2]);
                            !isNaN(parseFloat(i)) && isFinite(i) && (i = parseFloat(i)), o.getVariables[t] = i
                        })), void 0 !== o.getVariables[e] && o.getVariables[e]
                    }, o.log = function(e, t) {
                        for (var i = arguments.length, a = new Array(i > 2 ? i - 2 : 0), s = 2; s < i; s++) a[s - 2] = arguments[s];
                        if (!o.ma_dB()) return;
                        const d = o.timestamps.now();
                        o.que1.push(function() {
                            o.stripLogs && "string" == typeof e && (e = e.replace(/&&(?<index>\d+)&&/g, function(e, t, i, n, r) {
                                return o.logs[t]
                            })), o.stripLogs && "string" == typeof t && (t = t.replace(/&&(?<index>\d+)&&/g, function(e, t, i, n, r) {
                                return o.logs[t]
                            })), console.log(n(t, d), ...r(e, ...a))
                        }, "log")
                    }, o.warn = function(e, t) {
                        for (var i = arguments.length, a = new Array(i > 2 ? i - 2 : 0), s = 2; s < i; s++) a[s - 2] = arguments[s];
                        if (!o.ma_dB()) return;
                        const d = o.timestamps.now();
                        o.que1.push(function() {
                            o.stripLogs && "string" == typeof e && (e = e.replace(/&&(?<index>\d+)&&/g, function(e, t, i, n, r) {
                                return o.logs[t]
                            })), o.stripLogs && "string" == typeof t && (t = t.replace(/&&(?<index>\d+)&&/g, function(e, t, i, n, r) {
                                return o.logs[t]
                            })), console.warn(n(t, d), ...r(e, ...a))
                        }, "warn")
                    }, o.error = o.error || o.warn, o.ma_cS = function(e) {
                        return e && e.stack && "string" == typeof e.stack
                    }, o.ma_eUC = function(e) {
                        return encodeURIComponent(e)
                    }, o.ma_mAI = function() {
                        for (let e = 0; e < o.que4.q.length; e++) o.que4.q[e].called = !0
                    }, o.ma_gE = function() {
                        var e = new Error(arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "");
                        if (!o.ma_cS(e) && (console.warn("critical error fired, stack is not found, trying to dynamically grab stack"), void 0 === e.stack)) try {
                            document.getElementById("hgkvhjbngyfbnkjknjhgfvnsm-this-does-not-exists").innerHTML = "abc"
                        } catch (t) {
                            e = t
                        }
                        return o.ma_cS(e) && o.ma_dB() && console.warn("generated stack", e.stack), e
                    }, o.ma_nOTS = function(e) {
                        return Object.keys(e).forEach(t => {
                            e[t] && "object" == typeof e[t] && 0 !== Object.keys(e[t]).length && Object.keys(e[t]).forEach(i => {
                                "object" == typeof e[t][i] ? e[t][i] = JSON.stringify(e[t][i]) : e[t][i] = String(e[t][i])
                            })
                        }), e
                    }, o.ma_pE = function(e, t, i) {
                        o.adcogni.push(e, t, i)
                    }, o.ma_lE = function(e, t) {
                        try {
                            var i = !1;
                            if ("string" == typeof(e = e || {}) || o.ma_cS(e) || "catch" === e.type) {
                                if (i = !0, o.critCount = o.critCount || 0, ++o.critCount > 10) return void o.warn("excessive crit loop found, stopping more crits for this pageview", "events.error", e);
                                var n;
                                if ("string" == typeof e || !o.ma_cS(e))
                                    if (n = o.ma_gE(), "string" == typeof e) {
                                        var r = e;
                                        (e = o.ma_cS(n) ? n : {}).code = r
                                    } else !o.ma_cS(e) && o.ma_cS(n) && (e = Object.assign(n, e));
                                if (e.code = e.code || "unhandled-crit-exception", o.critCodeCount = o.critCodeCount || {}, o.critCodeCount[e.code] = o.critCodeCount[e.code] || 0, ++o.critCodeCount[e.code] > 5) return void o.warn("excessive crit code[" + e.code + "] found, stopping more crit codes for this pageview", "events.error", e);
                                e = Object.assign({
                                    stack: e.stack || "nostack",
                                    message: e.message || "",
                                    name: e.name || o.ma_sCE(e.code)
                                }, e)
                            }
                            if (e.code && (e.code = o.ma_sCE(e.code)), e.source = "avhb", e.stream = e.stream || "events", "test" === e.stream && (e.stream = "events"), o.ma_dB() && i && o.publisher && !o.ma_hP("streamLog")) console.warn("stopping exception[" + e.code + "] from being logged because internal debugging is enabled\n" + e.stack, "events.crit", Object.assign({
                                message: e.message || "",
                                stack: e.stack || "nostack"
                            }, e));
                            else if (e = o.ma_dBA(e), i) {
                                var a = JSON.parse(JSON.stringify(e));
                                a.stream = "crits";
                                try {
                                    delete a.type
                                } catch (e) {
                                    e.code = "delete-not-supported", e.name = "delete-not-supported", e.stream = "crits", o.ma_dBA(e), o.ma_pE(e.stream, e, t)
                                }
                                o.ma_pE(a.stream, a, t), o.ma_pE(e.stream, e, t)
                            } else if ("non_crits" === e.stream) {
                                var s = JSON.parse(JSON.stringify(e));
                                s.code = s.code || "unhandled-error", s.name = s.name || s.code, s.message = s.message || "none", s.description = s.description || "none", s.module = s.module || "avhb", s.category = s.category || ["general"], s.type = s.type || "fail", o.ma_pE(s.stream, s, t), e.stream = "events", o.ma_pE(e.stream, e, t)
                            } else o.ma_pE(e.stream, e, t)
                        } catch (n) {
                            let t = "logevent-catch";
                            if (!e.url) try {
                                o.ma_dBA(e)
                            } catch (e) {
                                t = "failed-base-analytics"
                            }
                            e.stream = e.stream || "events", e.source = e.source || "avhb", e.code = e.code || "logevent-catch", e.type = e.type || "catch", e.environment = e.environment || {}, e.environment.eventSource = t, o.ma_pO("https://rack.avads.live/stream?beacon=events", e)
                        }
                    };
                    const a = document;
                    o.ma_c = function(e) {
                        o.ma_lE({
                            code: e,
                            type: "catch",
                            environment: {
                                eventSource: "crit-function-called"
                            }
                        })
                    }, o.throttle = (e, t) => {
                        let i, o = null,
                            n = 0;
                        const r = () => {
                            n = Date.now(), o = null, e(...i), i = null
                        };
                        return function() {
                            const a = Date.now(),
                                s = t - (a - n);
                            for (var d = arguments.length, c = new Array(d), l = 0; l < d; l++) c[l] = arguments[l];
                            i = c, s <= 0 || s > t ? (o && (window.clearTimeout(o), o = null), n = a, e(...i), i = null) : o || (o = window.setTimeout(r, s))
                        }
                    }, o.logging = 0, o.debug = !1, o.ma_gL = function() {
                        if (!o.logsFetched) {
                            if (o.logsFetched = !0, o.que1 = o.que1 || new d("que1"), !o.stripLogs || "false" === o.stripLogs) return o.stripLogs = !1, void o.que1.xq();
                            o.stripLogs = !0, o.que1.xq()
                        }
                    }, o.ma_dB = function() {
                        if (o.get("advrgcdebug") || o.get("avhbconsole")) return o.logging = 1, o.debug = !0, o.ma_gL(), !0;
                        try {
                            if (o.ma_cKE("av_chainload") || window.localStorage.getItem("av_debug") || window.localStorage.getItem("av_chainload") || window.localStorage.getItem("chainload")) return o.logging = 1, o.debug = !0, o.ma_gL(), !0
                        } catch (e) {
                            console.warn("localStrorage support not found")
                        }
                        return !1
                    }, o.getScriptName = function() {
                        if (void 0 === o.scriptName) {
                            o.scriptName = "unnamed";
                            var e, t = new Error;
                            if (void 0 === t.stack) try {
                                document.getElementById("8hnmkfyytrjnl-this-does-not-exist").innerHTML = "abc"
                            } catch (e) {
                                t = e
                            }
                            t.stack & (e = /.+\/(.*?):\d+(:\d+)*$/.exec((t.stack || "").trim())) && "" != e[1] || t.stack && (e = /getScriptName \(.+\/(.*):\d+:\d+\)/.exec((t.stack || "").trim())) ? o.scriptName = e[1] : null != t.filename && (o.scriptName = t.filename)
                        }
                        return o.scriptName
                    }, o.md5 = function(e) {
                        function t(e, t) {
                            var i = e[0],
                                s = e[1],
                                d = e[2],
                                c = e[3];
                            i = o(i, s, d, c, t[0], 7, -680876936), c = o(c, i, s, d, t[1], 12, -389564586), d = o(d, c, i, s, t[2], 17, 606105819), s = o(s, d, c, i, t[3], 22, -1044525330), i = o(i, s, d, c, t[4], 7, -176418897), c = o(c, i, s, d, t[5], 12, 1200080426), d = o(d, c, i, s, t[6], 17, -1473231341), s = o(s, d, c, i, t[7], 22, -45705983), i = o(i, s, d, c, t[8], 7, 1770035416), c = o(c, i, s, d, t[9], 12, -1958414417), d = o(d, c, i, s, t[10], 17, -42063), s = o(s, d, c, i, t[11], 22, -1990404162), i = o(i, s, d, c, t[12], 7, 1804603682), c = o(c, i, s, d, t[13], 12, -40341101), d = o(d, c, i, s, t[14], 17, -1502002290), i = n(i, s = o(s, d, c, i, t[15], 22, 1236535329), d, c, t[1], 5, -165796510), c = n(c, i, s, d, t[6], 9, -1069501632), d = n(d, c, i, s, t[11], 14, 643717713), s = n(s, d, c, i, t[0], 20, -373897302), i = n(i, s, d, c, t[5], 5, -701558691), c = n(c, i, s, d, t[10], 9, 38016083), d = n(d, c, i, s, t[15], 14, -660478335), s = n(s, d, c, i, t[4], 20, -405537848), i = n(i, s, d, c, t[9], 5, 568446438), c = n(c, i, s, d, t[14], 9, -1019803690), d = n(d, c, i, s, t[3], 14, -187363961), s = n(s, d, c, i, t[8], 20, 1163531501), i = n(i, s, d, c, t[13], 5, -1444681467), c = n(c, i, s, d, t[2], 9, -51403784), d = n(d, c, i, s, t[7], 14, 1735328473), i = r(i, s = n(s, d, c, i, t[12], 20, -1926607734), d, c, t[5], 4, -378558), c = r(c, i, s, d, t[8], 11, -2022574463), d = r(d, c, i, s, t[11], 16, 1839030562), s = r(s, d, c, i, t[14], 23, -35309556), i = r(i, s, d, c, t[1], 4, -1530992060), c = r(c, i, s, d, t[4], 11, 1272893353), d = r(d, c, i, s, t[7], 16, -155497632), s = r(s, d, c, i, t[10], 23, -1094730640), i = r(i, s, d, c, t[13], 4, 681279174), c = r(c, i, s, d, t[0], 11, -358537222), d = r(d, c, i, s, t[3], 16, -722521979), s = r(s, d, c, i, t[6], 23, 76029189), i = r(i, s, d, c, t[9], 4, -640364487), c = r(c, i, s, d, t[12], 11, -421815835), d = r(d, c, i, s, t[15], 16, 530742520), i = a(i, s = r(s, d, c, i, t[2], 23, -995338651), d, c, t[0], 6, -198630844), c = a(c, i, s, d, t[7], 10, 1126891415), d = a(d, c, i, s, t[14], 15, -1416354905), s = a(s, d, c, i, t[5], 21, -57434055), i = a(i, s, d, c, t[12], 6, 1700485571), c = a(c, i, s, d, t[3], 10, -1894986606), d = a(d, c, i, s, t[10], 15, -1051523), s = a(s, d, c, i, t[1], 21, -2054922799), i = a(i, s, d, c, t[8], 6, 1873313359), c = a(c, i, s, d, t[15], 10, -30611744), d = a(d, c, i, s, t[6], 15, -1560198380), s = a(s, d, c, i, t[13], 21, 1309151649), i = a(i, s, d, c, t[4], 6, -145523070), c = a(c, i, s, d, t[11], 10, -1120210379), d = a(d, c, i, s, t[2], 15, 718787259), s = a(s, d, c, i, t[9], 21, -343485551), e[0] = u(i, e[0]), e[1] = u(s, e[1]), e[2] = u(d, e[2]), e[3] = u(c, e[3])
                        }

                        function i(e, t, i, o, n, r) {
                            return t = u(u(t, e), u(o, r)), u(t << n | t >>> 32 - n, i)
                        }

                        function o(e, t, o, n, r, a, s) {
                            return i(t & o | ~t & n, e, t, r, a, s)
                        }

                        function n(e, t, o, n, r, a, s) {
                            return i(t & n | o & ~n, e, t, r, a, s)
                        }

                        function r(e, t, o, n, r, a, s) {
                            return i(t ^ o ^ n, e, t, r, a, s)
                        }

                        function a(e, t, o, n, r, a, s) {
                            return i(o ^ (t | ~n), e, t, r, a, s)
                        }

                        function s(e) {
                            var t, i = [];
                            for (t = 0; t < 64; t += 4) i[t >> 2] = e.charCodeAt(t) + (e.charCodeAt(t + 1) << 8) + (e.charCodeAt(t + 2) << 16) + (e.charCodeAt(t + 3) << 24);
                            return i
                        }
                        var d = "0123456789abcdef".split("");

                        function c(e) {
                            for (var t = "", i = 0; i < 4; i++) t += d[e >> 8 * i + 4 & 15] + d[e >> 8 * i & 15];
                            return t
                        }

                        function l(e) {
                            return function(e) {
                                for (var t = 0; t < e.length; t++) e[t] = c(e[t]);
                                return e.join("")
                            }(function(e) {
                                var i, o = e.length,
                                    n = [1732584193, -271733879, -1732584194, 271733878];
                                for (i = 64; i <= e.length; i += 64) t(n, s(e.substring(i - 64, i)));
                                e = e.substring(i - 64);
                                var r = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
                                for (i = 0; i < e.length; i++) r[i >> 2] |= e.charCodeAt(i) << (i % 4 << 3);
                                if (r[i >> 2] |= 128 << (i % 4 << 3), i > 55)
                                    for (t(n, r), i = 0; i < 16; i++) r[i] = 0;
                                return r[14] = 8 * o, t(n, r), n
                            }(e))
                        }

                        function u(e, t) {
                            return e + t & 4294967295
                        }
                        if (window.av._add32 || "5d41402abc4b2a76b9719d911017c592" != l("hello")) {
                            window.av._add32 = !0
                        }
                        return l(e)
                    }, o.ma_fSTN = function(e) {
                        var t = !1;
                        try {
                            if ("number" == typeof e) return e;
                            var i = e.split("1");
                            2 == i.length && 0 != parseInt(i[1], 10) ? t = parseInt(i[0], 10) / parseInt(i[1], 10) : 1 == i.length && (t = parseFloat(i[0], 10))
                        } catch (t) {
                            return o.warn("invalid fractionalString. value[" + e + "]", "main"), !1
                        }
                        return isNaN(t) ? (o.warn("invalid fractionalString. value[" + e + "]", "main"), !1) : t
                    }, o.ma_rF = function(e, t) {
                        return !e || e.length < 1 ? "" : !t || t.length < 1 ? e : e.substr(0, t.length) == t ? e.substr(t.length) : e
                    }, o.ma_gCS = function() {
                        const e = ["c", "r", "u", "e", "t", "n", "S", "i", "p"],
                            t = [0, 2, 1, 1, 3, 5, 4, 6, 0, 1, 7, 8, 4];
                        let i = "";
                        for (let o = 0; o < t.length; o++) i += e[t[o]];
                        return i
                    }, o.ma_cTU = function(e) {
                        if (!e || e.length < 1) return "";
                        for (var t = "", i = 0; i < e.length; i++) e[i] != e[i].toLowerCase() ? t += "_" + e[i].toLowerCase() : t += e[i];
                        return t
                    }, o.ma_gB = function(e) {
                        return o.bidders = o.bidders || {}, o.bidders[e] = o.bidders[e] || new o.constructors.Bidder, o.bidders[e].code = o.bidders[e].code || e, o.bidders[e]
                    };
                    const s = o.ma_gCS();
                    o.ma_gBS = function() {
                        if (void 0 === o.bidders)
                            for (var e in o.bidders = {}, window.adBidders = window.adBidders || {}, window.adBidders) "a9" == e ? o.bidders.amazon = new o.constructors.Bidder(window.adBidders.a9) : isNaN(e) && (o.bidders[e] = new o.constructors.Bidder(window.adBidders[e]), o.bidders[e].code = e);
                        return o.bidders
                    }, o.ma_aBA = function(e, t, i) {
                        if ("object" == typeof e) {
                            var n = e;
                            Object.keys(n).forEach(function(e) {
                                "object" == typeof n[e] ? Object.keys(n[e]).forEach(function(t) {
                                    o.ma_aBA(e, t, n[e][t])
                                }) : n[e]
                            })
                        } else "string" == typeof e && (o.bidders = o.bidders || {}, o.bidders[e] = o.bidders[e] || new o.constructors.Bidder, o.bidders[e][t] = i, o.bidders[e].code = e)
                    }, o.ma_s = function(e) {
                        var t, i, o = e.length;
                        if (0 === o) return e;
                        for (; --o;) t = Math.floor(Math.random() * (o + 1)), i = e[o], e[o] = e[t], e[t] = i;
                        return e
                    }, o.ma_aIL = function(e, t) {
                        return Math.floor(Math.random() * t) + e
                    }, o.ma_fV = function(e) {
                        let t = 2166136261;
                        for (let i = 0; i < e.length; i++) t ^= e.charCodeAt(i), t = Math.imul(t, 16777619);
                        return t >>> 0
                    }, o.ma_iU = function(e) {
                        return "http://" == e.substr(0, 7) || "https://" == e.substr(0, 8) || "//" == e.substr(0, 2)
                    }, o.ma_cCS = function(e) {
                        if (!e || !e.src) return !1;
                        try {
                            const t = new URL(e.src);
                            t.hostname === o.ma_gBCS() && t.pathname.startsWith("/s/") ? o.ma_aSE() : o.ma_aP(o)
                        } catch (e) {
                            o.ma_lE(e), o.ma_sSE()
                        }
                    }, o.ma_fPBB = function(e) {
                        var t = [];
                        for (let i of o.units)
                            for (let n of i.bids)
                                if (n.bidder == e.bidder) {
                                    let r = [];
                                    e.size && e.size.length > 0 ? r = o.ma_fS(e.size) : e.params && e.params.size && e.params.size.length > 0 ? r = o.ma_fS(e.params.size) : e.sizes && e.sizes.length > 0 ? r = o.ma_fS(e.sizes) : e.params && e.params.sizes && e.params.sizes.length > 0 ? r = o.ma_fS(e.params.sizes) : i.sizes && (r = o.ma_fS(i.sizes)), r.length > 0 ? r.indexOf(e.size) >= 0 && t.push(n) : t.push(n)
                                }
                        return t.length > 0 ? t[0] : {
                            params: {
                                pid: "unknown"
                            },
                            bidder: e.bidder
                        }
                    }, o.ma_cP = function(e) {
                        var t = {};
                        for (var i in e.params) t[i] = e.params[i];
                        delete t.params, delete t.bidder, delete t.bidderCode;
                        var o = {
                                siteId: "s",
                                placementId: "p",
                                publisherId: "u",
                                accountId: "a",
                                pos: "p",
                                delDomain: "d",
                                unit: "u",
                                placement: "p",
                                region: "r",
                                inventoryCode: "i",
                                network: "n",
                                zoneId: "z",
                                pid: "p",
                                slot: "p"
                            },
                            n = ["reserve", "floor", "bidFloor", "size", "sizes", "server", "adId"];
                        for (let e in o) t[e] && (t[o[e]] = t[o[e]] || t[e], delete t[e]);
                        for (let e in t)(null === t[e] || !t[e] || "" == t[e] || t[e].size && t[e].size < 1 || n.indexOf(e) >= 0) && delete t[e];
                        var r = JSON.stringify(t);
                        return r = (r = (r = (r = (r = r.replace(/\{/g, "")).replace(/\}/g, "")).replace(/\"/g, "")).replace("-d.openx.net", "")).replace(/\,/g, "/"), r = (e.bidder || e.bidderCode) + "/" + r
                    }, o.ma_aP = function(e) {
                        for (const t of Object.keys(e)) "function" == typeof e[t] ? e[t] = function() {} : e[t] = null;
                        Object.freeze(e)
                    }, o.ma_fS = function(e) {
                        try {
                            var t = [];
                            if (!e || !e.length) return t;
                            if ("string" == typeof e) return [e];
                            if (2 !== e.length || isNaN(e[0]) || isNaN(e[1]))
                                for (var i = 0; i < e.length; i++) {
                                    var n = e[i];
                                    "string" == typeof n ? t.push(n) : "object" == typeof n && "fluid" == n[0] ? t.push("fluid") : isNaN(n[0]) || isNaN(n[1]) ? "object" == typeof n && "object" == typeof n[0] && isNaN(n[0][0]) && !isNaN(n[0][1]) ? t.push(n[0][0] + "x" + n[0][1]) : Array.isArray(n) && "fluid" == n[0] ? t.push("fluid") : o.warn("! unhandled size format") : t.push(n[0] + "x" + n[1])
                                } else t.push(e[0] + "x" + e[1]);
                            return t
                        } catch (e) {
                            return []
                        }
                    }, o.ma_sCN = function(e, t) {
                        if (e = e && e.sizes ? o.ma_fS(e.sizes) : e && e.size ? o.ma_fS(e.size) : o.ma_fS(e), t = t && t.sizes ? o.ma_fS(t.sizes) : t && t.size ? o.ma_fS(t.size) : o.ma_fS(t), !e || e.length < 1) return null;
                        if (!t || t.length < 1) return null;
                        for (var i in t) {
                            var n = t[i];
                            for (var r in e) {
                                if (e[r] == n) return n
                            }
                        }
                        return null
                    }, o.ma_sC = function(e, t) {
                        if (e = e && e.sizes ? o.ma_fS(e.sizes) : e && e.size ? o.ma_fS(e.size) : o.ma_fS(e), t = t && t.sizes ? o.ma_fS(t.sizes) : t && t.size ? o.ma_fS(t.size) : o.ma_fS(t), !e || e.length < 1) return !1;
                        if (!t || t.length < 1) return !1;
                        for (var i in t) {
                            var n = t[i],
                                r = !1;
                            for (var a in e) {
                                if (e[a] == n) {
                                    r = !0;
                                    break
                                }
                            }
                            if (!r) return !1
                        }
                        return !0
                    }, o.ma_hFPN = function(e) {
                        for (var t = ""; e && "BODY" !== e.nodeName && 1 == e.nodeType;) {
                            if ("fixed" === (t = window.getComputedStyle(e).getPropertyValue("position").toLowerCase()) || "sticky" === t) return !0;
                            e = e.parentNode
                        }
                        return !1
                    }, o.ma_aAL = function() {
                        o.ma_hP("adLabel") && window.googletag.cmd.push(function() {
                            window.googletag.pubads().addEventListener("slotRenderEnded", function(e) {
                                try {
                                    var t = o.ma_gU(e.slot.getAdUnitPath());
                                    if (!t) return void e.slot.getAdUnitPath();
                                    if (!t.un_iOOP() && !e.isEmpty) {
                                        var i = t.un_gAL();
                                        if (i) {
                                            let e = document.createElement("div");
                                            e.innerHTML = i, o.ma_iB(e, t.getNode().firstChild)
                                        }
                                    }
                                } catch (e) {}
                            })
                        })
                    }, o.ma_aRL = function() {
                        "detailed" != o.publisher.rewardConsent && "off" != o.publisher.rewardConsent && o.ma_hP("rewarded") && o.que3.push(function() {
                            let e = document.getElementsByClassName("reward_advergic");
                            for (let t of e) {
                                let e = document.createElement("div");
                                e.style.display = "flex", e.style.flexDirection = "column", e.style.alignItems = "center", e.style.width = window.getComputedStyle(t).width, t.parentNode.insertBefore(e, t), e.appendChild(t);
                                let i = document.createElement("div"),
                                    n = o.ma_hP("darktheme") ? "#a1a1a1" : "#000";
                                i.style.cssText = `margin:0; font-weight:300; letter-spacing:1px; font-size:12px; padding:5px 0; color:${n}; text-align:center; width:100%;`, i.classList.add("av-rewardLabel"), i.textContent = o.publisher.rewardLabel, e.appendChild(i)
                            }
                        }, "rwdlabel-insertion")
                    }, o.ma_iB = function(e, t) {
                        t.parentNode.insertBefore(e, t)
                    }, o.ma_iNWLD = function(e) {
                        if (e) {
                            if (o.ma_dFV(e) > o.visitor.vi_gSH() * o.publisher.lazyDepth) return e.lazyLoaded = !0, !1
                        }
                        return !0
                    }, o.ma_cE = function(e, t) {
                        var i = {};
                        for (var o in t) void 0 !== e[t[o]] && (i[t[o]] = e[t[o]]);
                        return i
                    }, o.ma_pO = function(e, t, i) {
                        o.ma_iU(e) || o.warn("endpoint[" + e + "] is not a url in av.postObj function");
                        try {
                            var n = new XMLHttpRequest;
                            n.open("POST", e, !0), n.setRequestHeader("Content-Type", "application/json;charset=UTF-8"), n.withCredentials = !0, n.onreadystatechange = function() {
                                if (4 === n.readyState && 200 === n.status) try {
                                    i && i(n.responseText)
                                } catch (e) {
                                    o.warn("Error parsing response data", "main", n)
                                }
                            }, n.send(JSON.stringify(t))
                        } catch (t) {
                            o.warn("failed to post object to endpoint[" + e + "]", "main", t)
                        }
                    }, o.ma_gBCS = function() {
                        const e = ["a", "d", "s", "v", "l", ".", "i", "e"],
                            t = [0, 3, 0, 1, 2, 5, 4, 6, 3, 7];
                        let i = "";
                        for (let o = 0; o < t.length; o++) i += e[t[o]];
                        return i
                    }, o.ma_gX = function(e, t, i, n, r) {
                        e || o.warn({
                            code: "xhr-missing-url"
                        });
                        var a = new XMLHttpRequest;
                        a.open("GET", e, !0), a.__avSuccess = t || function() {}, a.__avFailure = i || null, a.__avTimeout = r || null, a.onload = function(e) {
                            200 === a.status ? (a.responseText, this.__avSuccess(this.responseText)) : this.__avFailure && this.__avFailure(this.responseText)
                        }, a.onerror = function(t) {
                            try {
                                o.warn("getXhr[" + e + "] errored"), a.__avFailure = a.__avFailure || function(e) {
                                    e.code = "xhr-failure-fallback-url", e.environment = {
                                        url: e.requestUrl,
                                        status: e.status
                                    }, o.ma_lE(e)
                                }, a.__avFailure(a)
                            } catch (e) {
                                e.code = "xhr-onerror-exception-url", e.type = "catch", e.environment = {
                                    url: a.requestUrl
                                }, o.ma_lE(e)
                            }
                        }, a.ontimeout = function(t) {
                            try {
                                o.warn("getXhr[" + e + "] timed out"), a.__avFailure = a.__avFailure || function(e) {
                                    e.code = "xhr-timeout-fallback-url", e.environment = {
                                        url: e.requestUrl,
                                        status: e.status
                                    }, o.ma_lE(e)
                                }, a.__avFailure(a), "function" == typeof a.__avTimeout && a.__avTimeout(a)
                            } catch (e) {
                                e.code = "xhr-ontimeout-exception", e.type = "catch", e.environment = {
                                    url: a.requestUrl
                                }, o.ma_lE(e)
                            }
                        }, a.timeout = n || 3e3, a.send()
                    }, o.ma_sCE = function(e) {
                        return o.ma_sY(e).replace(/-/g, "_")
                    }, o.ma_sY = function(e) {
                        return e.toString().toLowerCase().replace(/\s+/g, "-").replace(/\_+/g, "-").replace(/[^\w\-]+/g, "").replace(/\-\-+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
                    }, o.ma_aE = function(e, t) {
                        if (e.length !== t.length) return !1;
                        for (var i = e.length; i--;)
                            if (e[i] !== t[i]) return !1;
                        return !0
                    }, o.ma_dK = function() {
                        window.googletag.cmd.push(function() {
                            window.googletag.pubads().getSlots().forEach(function(e) {
                                e.getAdUnitPath(), e.getSlotElementId(), e.getTargetingKeys().forEach(function(t) {
                                    e.getTargeting(t)
                                })
                            })
                        })
                    }, o.ma_cKE = function(e, t, i, o) {
                        if (t || "" === t) {
                            let n = "";
                            const r = null != o && "none" === o.toLowerCase();
                            if (i) {
                                const e = new Date;
                                e.setTime(e.getTime() + 24 * i * 60 * 60 * 1e3), n = "; expires=" + e.toGMTString()
                            }
                            let a = e + "=" + t + n + "; path=/";
                            return o && (a += "; SameSite=" + (r ? "None" : o)), document.cookie = a, t
                        }
                        const n = e + "=",
                            r = document.cookie.split(";");
                        for (let e = 0; e < r.length; ++e) {
                            let t = r[e];
                            for (;
                                " " === t.charAt(0);) t = t.substring(1, t.length);
                            if (0 === t.indexOf(n)) return t.substring(n.length, t.length)
                        }
                        return !1
                    }, o.ma_tCH = function(e, t) {
                        let i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                        return function() {
                            try {
                                for (var n = arguments.length, r = new Array(n), a = 0; a < n; a++) r[a] = arguments[a];
                                e.call(this, ...r)
                            } catch (e) {
                                e.code = t, e.type = "catch", e.environment = i, o.ma_lE(e)
                            }
                        }
                    }, o.ma_gRR = function() {
                        return o.referrer ? o.referrer : o.ma_hP("taxonomy") ? (o.referrer = o.tx.ta_gTS(), o.referrer) : (o.referrer = document.referrer || "direct", o.referrer)
                    }, o.ma_dBA = function(e) {
                        (e = e || {}).url = window.location.href.substr(0, 2048), e.domain = window.location.hostname, "www." == e.domain.substr(0, 4) && (e.domain = e.domain.substr(4)), e.build = o.build, e.branch = o.branch, e.pbjs = e.pbjs || o.version, e.file = o.getScriptName(), e.userId = "/no-consent/", e.sessionId = "/no-consent/", e.timestamps = o.timestamps.now(), e.id = e.id || o.uuid4(), e.stream = e.stream || "test", e.referrer = o.ma_gRR(), e.environment = e.environment || {};
                        try {
                            e.domain != o.publisher.pu_gBD() && (e.baseDomain = o.publisher.pu_gBD()), e.canonical = o.publisher.pu_gCL(), e.avCanonical = o.md5(o.publisher.pu_gCL()), e.configId = String(o.publisher.configId || 0), e.analyticsPercent = Number(e.analyticsPercent || o.publisher.analyticsPercent), e.environment.lazy = o.publisher.pu_iLE(), e.environment.spa = o.ma_hP("spa")
                        } catch (e) {
                            o.warn("analytics was not able to access advergic publisher")
                        }
                        try {
                            let t = o.visitor.geo.country || "??",
                                i = o.publisher.pu_gU() || {};
                            e.device = o.visitor.vi_gDT(), e.pagviewId = o.visitor.pagviewId, e.ip = o.visitor.vi_gIA(), e.sessionDepth = o.visitor.vi_gSDH(), e.country = t, e.region = o.visitor.vi_gG().region || "??", e.utmSource = i.source || "/na/", e.utmMedium = i.medium || "/na/", e.utmContent = i.content || "/na/", e.utmTerm = i.term || "/na/", e.utmCampaign = i.campaign || "/na/", e.localStorage = o.visitor.vi_sLS(), e.screenWidth = String(o.visitor.vi_gSW()), e.screenHeight = String(o.visitor.vi_gSH()), e.userId = o.visitor.vi_gUI(), e.sessionId = o.visitor.vi_gSI()
                        } catch (e) {
                            o.warn("analytics was not able to access advergic visitor")
                        }
                        try {
                            e.gamNetwork = String(o.google.go_gNC()) || "/Not Available/", e.gamParent = String(o.google.go_gPC()) || "/Not Available/", e.gamChild = String(o.google.go_gCC()) || "/Not Available/"
                        } catch (e) {
                            o.warn("analytics was not able to access google")
                        }
                        return o.cmp ? (e.cmp = o.cmp.name, o.cmp.analytic && ["gdpr", "ccpa", "lgpd"].forEach(function(t) {
                            e[t] = e[t] || o.cmp.analytic[t] || "??"
                        })) : o.warn("cmp is missing"), ["gdpr", "ccpa", "lgpd"].forEach(function(t) {
                            e[t] = e[t] || "??"
                        }), e
                    }, o.ma_gC = function(e) {
                        return `https://avads.live/c/${e}`
                    }, o.ma_rTPVN = function() {
                        const e = {
                            fsprebid: "freestar",
                            headertag: "indexexchange",
                            pbjsSortable: "sortable",
                            epbjs: "ezoic",
                            idpt: "idpt",
                            pbjs325474: "optads",
                            pghb: "pubguru",
                            snackpbjs: "snackmedia",
                            rpPbjs: "raptive",
                            _tudePbjsGlobal: "aditude"
                        };
                        for (const t in e) void 0 !== window[t] && o.ma_lE({
                            code: "3p_ns_detect",
                            type: "info",
                            message: t
                        })
                    }, o.ma_gBMC = function(e, t) {
                        let i = e.stored && e.auctionMaxCpm ? e.auctionMaxCpm : e.cpm;
                        return (Math.floor(i / t) * t).toFixed(o.publisher.hbDecimals)
                    }, o.ma_gU = function(e) {
                        for (const t of o.units)
                            if (t.un_gT().indexOf(e) > -1) {
                                if (o.visitor.vi_iM() && t.un_aOM()) return t;
                                if (!o.visitor.vi_iM() && t.un_aOD()) return t
                            }
                        return !1
                    }, o.ma_aSE = function() {
                        o.que5.xq()
                    }, o.ma_gDU = function(e) {
                        o.unitsDisabled = o.unitsDisabled || [];
                        for (const t of o.unitsDisabled)
                            if (t.un_gT().indexOf(e) > -1) return t;
                        return !1
                    }, o.ma_dFV = function(e) {
                        let t = 0;
                        if ("string" == typeof e && (e = document.getElementById(e)), !e) return !1;
                        var i = e.getBoundingClientRect();
                        const o = i.top - window.innerHeight,
                            n = i.bottom;
                        return n < 0 ? t = -n : o > 0 && (t = o), t
                    }, o.ma_iIV = function(e) {
                        let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                        if ("string" == typeof e && (e = document.getElementById(e)), !e) return !1;
                        let i = e.getBoundingClientRect(),
                            o = i.top;
                        const n = o - window.innerHeight,
                            r = i.bottom;
                        return t ? o >= 0 && r <= window.screen.height : !(r < 0 || n > 0)
                    }, o.ma_gRI = function(e) {
                        return (e ? e + "-" : "") + (1048576 * (1 + Math.random()) | 0).toString(32).substring(1) + (1048576 * (1 + Math.random()) | 0).toString(32).substring(1)
                    }, o.ma_iH = function(e) {
                        return "none" === window.getComputedStyle(e).display || !!e.parentElement && o.ma_iH(e.parentElement)
                    }, o.ma_hP = function(e) {
                        return !0 === o.publisher[e] || o.publisher[e] && "na" !== o.publisher[e] && "n/a" !== o.publisher[e] && "off" !== o.publisher[e] && !1 !== o.publisher[e]
                    }, o.ma_fOPA = function(e) {
                        let t = o.visitor.vi_gSH(),
                            i = [];
                        for (let n in o.units) {
                            const r = o.units[n];
                            if (r.node && !r.un_iV()) {
                                let n = o.ma_hFPN(r.node),
                                    a = o.ma_iH(r.node),
                                    s = r.node.getBoundingClientRect();
                                if (n && !a && s.height > 0) {
                                    let o = parseInt(s.bottom);
                                    o <= t + 10 && o >= t - 50 && (r.autozone = "anchor-bottom", e && "bottom" != e || i.push(r));
                                    let n = parseInt(s.top);
                                    n <= 50 && n >= -10 && (r.autozone = "anchor-top", e && "top" != e || i.push(r))
                                }
                            }
                        }
                        return i
                    }, o.ma_rA = function(e, t) {
                        window.avhb.renderAd(e, t)
                    }, o.ma_sSE = function() {
                        o.que14.xq(), o.ma_mAI()
                    }, window.pbjs = window.pbjs || {}, window.avhb = window.avhb || {}, window.__logBidWon = window.__logBidWon || function(e) {
                        return e = e || {}, void 0 !== window.LogAdWinsEvent ? window.LogAdWinsEvent(e.bidderCode, e.cpm, e) : void 0 !== window.logBidWon ? window.logBidWon(e) : void 0
                    }, window.__logAdRender = window.logAdRender || function(e) {}, o.ma_lAR = function(e) {
                        e.id = o.uuid4(), o.ma_lE(e), window.__logAdRender(e)
                    }, o.ma_iSID = function(e) {
                        let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "script";
                        var i;
                        i = Array.isArray(e) ? e : [e];
                        var o = "script" == t ? "src" : "href",
                            n = Array.from(document.getElementsByTagName(t)).map(e => e[o]).filter(e => e);
                        n || (n = []);
                        var r = !1;
                        return i.forEach(function(e) {
                            void 0 !== n.find(t => t.indexOf(e) > -1) && (r = !0)
                        }), r
                    }, o.ma_lC = function(e) {
                        o.loadedCss = o.loadedCss || [], e = (e = (e = e.replace(/^(https)/, "")).replace(/^(http)/, "")).replace(/^(:)/, "");
                        var t = !1;
                        if (o.loadedCss.indexOf(e) >= 0);
                        else {
                            for (var i = document.getElementsByTagName("link"), n = 0; n < i.length; n++)
                                if (i[n].href === e || i[n].href === "http:" + e || i[n].src === "https:" + e) {
                                    o.loadedCss.push(e), t = !0;
                                    break
                                }
                            if (!t) return o.loadedCss.push(e), o.ssl = o.ssl || "https:" === document.location.protocol,
                                function() {
                                    var t = document.createElement("link");
                                    t.rel = "stylesheet", t.href = (o.ssl ? "https:" : "http:") + e;
                                    var i = document.getElementsByTagName("head")[0];
                                    i.insertBefore(t, i.firstChild)
                                }(), !0
                        }
                        return !1
                    }, o.ma_rAC = function() {
                        return new Promise(e => {
                            const t = o.ma_hP("darktheme") ? "rgba(0,0,0,0.6)" : "rgba(255,255,255,0.6)",
                                i = o.publisher.btnColor[0] || "#3399CC",
                                n = o.publisher.btnColor[1] || i || "#287AA3",
                                r = o.publisher.btnHeader || "#2C3E50",
                                a = o.publisher.rewardBtnText || "Watch Ad & Get Reward",
                                s = o.publisher.rewardBtnClose || "Close",
                                d = o.publisher.confirmLossTxt || "Lose Reward",
                                c = o.publisher.returnTxt || "Go back and Watch Ad",
                                l = document.createElement("style");
                            l.textContent = `\n            .ad-overlay {\n                position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: ${t}; display: flex; justify-content: center; align-items: center; z-index: 9999;\n            }\n            .ad-modal {\n                background: #ffffff; border-radius: 20px; width: 90%; max-width: 360px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); overflow: hidden; font-family: sans-serif;\n            }\n            .ad-header { background: ${r}; padding: 30px; text-align: center; position: relative; }\n            .ad-close {\n                position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; font-size: 0.5rem; background: rgba(255, 255, 255, 0.1); border: none; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease;\n            }\n            .ad-close:hover { background: rgba(255,255,255,0.2); transform: rotate(90deg); color:#6b7280 }\n            .ad-close svg { width: 16px; height: 16px; fill: rgba(255, 255, 255, 0.8); }\n            .ad-logo { width: 60px; height: 60px; border-radius: 14px; overflow: hidden; margin: 0 auto 16px; }\n            .ad-logo img { width: 100%; height: 100%; object-fit: cover; }\n            .ad-title { color: #ffffff; font-size: 22px; font-weight: 600; }\n            /* Slider Container */\n            .ad-slider { display: flex; width: 100%; transition: transform 0.4s ease; }\n            .ad-slide {\n                flex: 0 0 100%; /* Each slide takes full modal width */\n                background: #f8f9fb; padding: 32px 28px 28px; text-align: center; box-sizing: border-box;\n            }\n            .ad-message { font-size: 15px; color: #4b5563; line-height: 1.6; margin-bottom: 32px; }\n            .ad-buttons { display: flex; flex-direction: column; gap: 12px; width: 100%; }\n            .ad-btn {\n                width: 100%; padding: 14px 20px; border-radius: 12px; font-size: 15px; font-weight: 500; border: none; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; box-sizing: border-box;\n            }\n            .ad-accept { background: ${i}; color: #fff; }\n            .ad-accept:hover { background: ${n}; transform: translateY(-1px); }\n            .ad-decline { background: transparent; border: 2px solid #e5e7eb; color: #6b7280; }\n            .ad-decline:hover { background: #f9fafb; color:#6b7280; }\n        `, document.head.appendChild(l);
                            const u = document.createElement("div");
                            u.className = "ad-overlay";
                            const g = document.createElement("div");
                            g.className = "ad-modal";
                            const m = document.createElement("div");
                            m.className = "ad-header";
                            const p = document.createElement("div");
                            p.className = "ad-logo", p.innerHTML = `<img src="${o.publisher.pubLogo}" alt="Publisher Logo">`;
                            const h = document.createElement("h2");
                            h.className = "ad-title", h.textContent = o.publisher.boxTitle || "Watch Ad for Reward", m.appendChild(p), m.appendChild(h);
                            const v = document.createElement("div");
                            v.className = "ad-slider", v.style.transform = "translateX(0%)";
                            const f = document.createElement("div");
                            f.className = "ad-slide", f.innerHTML = `\n            <p class="ad-message">${o.publisher.rewardConsentTxt}</p>\n            <div class="ad-buttons"><button class="ad-btn ad-accept">${a}</button><button class="ad-btn ad-decline">${s}</button></div>\n        `;
                            const _ = document.createElement("div");
                            _.className = "ad-slide", _.innerHTML = `\n            <p class="ad-message">${o.publisher.giveUpTxt||"Are you sure you want to give up the reward?"}</p>\n            <div class="ad-buttons"><button class="ad-btn ad-decline">${d}</button><button class="ad-btn ad-accept">${c}</button></div>\n        `, v.appendChild(f), v.appendChild(_), g.appendChild(m), g.appendChild(v), u.appendChild(g), document.body.appendChild(u);
                            const y = f.querySelector(".ad-accept"),
                                w = f.querySelector(".ad-decline"),
                                b = _.querySelector(".ad-accept"),
                                S = _.querySelector(".ad-decline"),
                                C = e => {
                                    v.style.transform = `translateX(-${100*e}%)`
                                };
                            w.onclick = () => C(1), b.onclick = () => C(0), S.onclick = () => {
                                document.body.removeChild(u), e(!1)
                            }, y.onclick = () => {
                                document.body.removeChild(u), e(!0)
                            }
                        })
                    }, o.ma_gES = function(e, t, i) {
                        const n = window.performance.getEntriesByType("resource").filter(t => t.name.includes(e));
                        if (n.length > 0) {
                            const e = n[0];
                            o.adcogni.ad_mRP(t, e, i)
                        }
                    }, o.ma_rC = function(e) {
                        return new Promise(t => {
                            const i = o.publisher.btnColor[0] || "#3399CC",
                                n = o.publisher.btnColor[1] || "#287AA3",
                                r = o.publisher.btnHeader || "#2C3E50",
                                a = document.createElement("style");
                            a.textContent = `\n            .reward-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; z-index: 10000; }\n            .reward-modal { background: #fff; border-radius: 20px; width: 90%; max-width: 360px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); overflow: hidden; font-family: sans-serif; text-align: center; }\n            .reward-header { background: ${r}; padding: 20px; color: #fff; font-size: 20px; font-weight: 600; }\n            .reward-body { padding: 24px; color: #374151; font-size: 15px; }\n            .reward-buttons { display: flex; flex-direction: column; gap: 12px; padding: 20px; }\n            .reward-btn { display: block; text-align: center; padding: 14px; border-radius: 12px; font-size: 15px; font-weight: 500; border: none; cursor: pointer; transition: all 0.3s ease; text-decoration: none; }\n            .reward-open { background: ${i}; color: #fff; }\n            .reward-open:hover { background: ${n}; }\n            .reward-close { background: #f3f4f6; color: #374151; }\n            .reward-close:hover { background: #e5e7eb; }\n        `, document.head.appendChild(a);
                            const s = document.createElement("div");
                            s.className = "reward-overlay";
                            const d = document.createElement("div");
                            d.className = "reward-modal";
                            const c = document.createElement("div");
                            c.className = "reward-header", c.textContent = o.publisher.rewardTitle || "Reward Unlocked";
                            const l = document.createElement("div");
                            l.className = "reward-body", l.textContent = o.publisher.rewardSuccessMessage || "You earned the reward! Collect it to continue";
                            const u = document.createElement("div");
                            u.className = "reward-buttons";
                            const g = document.createElement("a");
                            g.className = "reward-btn reward-open", g.textContent = o.publisher.rewardCollectText || "Collect Reward", g.href = e, g.target = "_blank", g.rel = "noopener noreferrer", g.onclick = () => {
                                document.body.removeChild(s), t(!0)
                            };
                            const m = document.createElement("button");
                            m.className = "reward-btn reward-close", m.textContent = o.publisher.rewardCloseText || "Close", m.onclick = () => {
                                document.body.removeChild(s), t(!1)
                            }, u.appendChild(g), u.appendChild(m), d.appendChild(c), d.appendChild(l), d.appendChild(u), s.appendChild(d), document.body.appendChild(s)
                        })
                    }, o.ma_rCL = function(e, t) {
                        let i = document.getElementsByClassName("reward_advergic");
                        "pubcall" == e && n(), "unfilled-ad" == e && o.ma_gR("unfilled-ad");
                        for (let t of i) t.addEventListener("click", function(i) {
                            o.__rewardGranted__ || (window.lastClickedRewardLink = t, "reward-ad-available" == e && n())
                        });

                        function n() {
                            if ("detailed" == o.publisher.rewardConsent) {
                                let e = document.getElementsByClassName("ad-overlay");
                                for (let t of e) t.remove();
                                o.ma_rAC().then(e => {
                                    e && t.makeRewardedVisible()
                                })
                            } else t.makeRewardedVisible()
                        }
                    }, o.ma_aBL = function(e) {
                        for (let t of e) {
                            let e = t.id;
                            e && window.rewardLinks[e] && (t.href = window.rewardLinks[e])
                        }
                    }, o.ma_cPRF = function() {
                        o.ma_hP("rewardFn") && window[o.publisher.rewardFnName]()
                    }, o.ma_gR = function(e) {
                        try {
                            let t = document.getElementsByClassName("reward_advergic");
                            if ("unfilled-ad" === e) return o.ma_aBL(t), void o.ma_cPRF();
                            if ("freq" === e) return o.ma_aBL(t), void o.ma_cPRF();
                            if (o.ma_cPRF(), o.ma_aBL(t), window.lastClickedRewardLink && ("detailed" == o.publisher.rewardConsent || o.ma_hP("rewardConsent"))) {
                                let e = window.lastClickedRewardLink;
                                o.ma_rC(e.href)
                            } else if (window.lastClickedRewardLink) {
                                let e = window.lastClickedRewardLink;
                                window.open(e.href, "_self")
                            }
                        } catch (e) {
                            e.code = "grant_exception", e.type = "catch", e.environment = {
                                functionCode: "ma_gR"
                            }
                        }
                    };
                    class d {
                        constructor(e, t) {
                            this.queName = e, this.executed = !1, this.q = t || [], this.args = []
                        }
                        push(e) {
                            let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "anonymous";
                            e.fnName = e.name || t, this.q.push(e), "que1" !== this.queName && (e.fnName, this.queName, this.queName), this.executed && !e.called && this.callFunc(e)
                        }
                        unshift(e) {
                            let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "anonymous";
                            e.fnName = e.name || t, this.q.unshift(e), e.fnName, this.queName, this.queName, this.executed && !e.called && this.callFunc(e)
                        }
                        callFunc(e) {
                            e.called = !0;
                            try {
                                e.call(e, ...this.args)
                            } catch (t) {
                                let i = t;
                                try {
                                    t.code = "test"
                                } catch (e) {
                                    i = {
                                        environment: {
                                            err: t.toString(),
                                            errCode: t.code
                                        }
                                    }
                                }
                                i.environment = i.environment || {}, i.environment.fnName = e.fnName || "anonymous", i.code = "xq-" + this.queName, i.type = "catch", o.ma_lE(i)
                            }
                        }
                        xq() {
                            this.q.length, this.queName, this.args = arguments, o.timestamps["xq-" + this.queName] = o.timestamps.now();
                            for (let e = 0; e < this.q.length; e++) this.q[e].called || this.callFunc(this.q[e]);
                            this.executed = !0
                        }
                        reset() {
                            this.executed = !1, this.args = [];
                            for (let e = 0; e < this.q.length; e++) this.q[e].called = !1;
                            this.queName, this.queName
                        }
                    }
                    for (let e of ["que1", "que2", "que3", "que4", "que5", "que6", "que7", "que8", "que9", "que10", "que11", "que12", "que13", "que14"]) o[e] = Array.isArray(o[e]) ? new d(e, o[e]) : o[e] || new d(e);
                    o.que2.unshift(function() {
                        try {
                            o.publisher.traffiqlyTP < 1 && o.visitor.vi_gL(), o.visitor.vi_t(), o.ty = i(1082), o.ty.tr_iT(), "detect" == o.publisher.traffiqlyAc ? (o.ty.tr_fT(), o.que4.xq()) : o.ty.tr_fT() && o.que4.xq()
                        } catch (e) {
                            e.code = "que2_init_que4", e.type = "catch", o.ma_lE(e)
                        }
                        if (o.ma_hP("gtm") && function(e, t, i, o, n) {
                                e[o] = e[o] || [], e[o].push({
                                    "gtm.start": (new Date).getTime(),
                                    event: "gtm.js"
                                });
                                var r = t.getElementsByTagName(i)[0],
                                    a = t.createElement(i);
                                a.async = !0, a.src = "https://www.googletagmanager.com/gtm.js?id=" + n, r.parentNode.insertBefore(a, r)
                            }(window, document, "script", "dataLayer", o.publisher.gtm), o.ma_hP("ga")) {
                            function t() {
                                dataLayer.push(arguments)
                            }
                            o.publisher.ga, o.ma_lJ("https://www.googletagmanager.com/gtag/js?id=" + o.publisher.ga), window.dataLayer = window.dataLayer || [], t("js", new Date), t("config", o.publisher.ga)
                        }
                        o.visitor.vi_hAB()
                    }, "que2Init"), o.que4.unshift(function() {
                        o.constructors = {}, o.constructors.Unit = i(3766), o.constructors.Bidder = i(1270), o.auction = i(9747), o.units = o.units || [];
                        for (let e of window.adUnits) o.units.push(new o.constructors.Unit(e));
                        if (o.units, o.google.go_fU(), o.google.go_iOPU(), o.ma_aRL(), o.ma_aAL(), o.units && o.units.length && o.units.length > 0 && o.publisher.name.includes(window.location.hostname)) {
                            if (o.google.go_iT(), googletag.cmd.push(function() {
                                    o.ma_sDTM("set", "av_ty", o.ty.avTyKvp)
                                }), o.units.forEach(function(e) {
                                    e.define(), e.lazy && (document.getElementById(e.slot) && document.getElementById(e.slot).classList.add("av-lazy"), o.google.go_lTS())
                                }), o.auction.au_iT(), o.auction.configured) {
                                window.pbjs.renderAd = window.avhb.renderAd;
                                try {
                                    o.auction.requestBids()
                                } catch (e) {
                                    o.google.go_rA("auction-error"), o.warn(e), e.code = "auction_error", o.ma_lE(e)
                                }
                                setTimeout(function() {
                                    o.google.go_rA("fallback")
                                }, o.auction.au_gT() + 200)
                            } else o.google.go_rA("no-auction");
                            o.que3.push(function() {
                                o.google.go_sSN()
                            }, "que3SpaNodes"), o.publisher.pu_iLE() && o.google.go_lTS(), o.google.go_cSI()
                        } else o.que3.push(function() {
                            window.googletag && window.googletag.cmd && window.googletag.cmd.length > 0 && o.ma_lGG()
                        }, "que3LoadGpt");
                        var e;
                        o.google.go_lABG(), o.google.go_kP() || (o.ma_dB() || Math.random() <= o.publisher.utmPercent) && (e = 3e3, o.auction && o.auction.au_gT() > 0 && (e = 1e3 + o.auction.au_gT()), setTimeout(function() {
                            window.av.google.go_pK()
                        }, e))
                    }, "que4Init"), o.que5.unshift(function() {
                        o.ma_rTPVN(), o.google = i(8719), o.visitor.vi_iT(), o.publisher.pu_iT(), o.constructors = o.constructors || {}, o.constructors.Cmp = i(6074);
                        const e = function() {
                            let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 3;
                            window.setTimeout(() => {
                                !document.body && t > 0 ? e(t - 1) : o.que3.xq()
                            }, 50)
                        };
                        "interactive" == document.readyState || "complete" == document.readyState ? document.body ? o.que3.xq() : e() : document.addEventListener("readystatechange", () => {
                            if ("interactive" == document.readyState) {
                                if (!document.body) return void e();
                                o.que3.xq()
                            }
                        }), "exempt" == o.publisher.cmp ? (o.cmp = new o.constructors.Cmp({
                            name: o.publisher.cmp
                        }), o.que2.xq()) : (o.visitor.vi_gG(), o.ma_sCMP(), o.google.go_iT())
                    }, "que5Init"), o.ma_gGG = function() {
                        return "//securepubads.g.doubleclick.net/tag/js/gpt.js"
                    }, o.ma_lGG = function() {
                        window.googletag && window.googletag.apiReady || o.google.gptLoadRequested || (o.google.gptLoadRequested = !0, o.ma_lJ(o.ma_gGG(), !0, null, null, !1, "anonymous"))
                    }, o.ma_sCMP = function() {
                        o.cmp = !1, o.publisher.cmp = o.get("avcmp") || o.publisher.cmp || !1, "onpage" === o.publisher.cmp || window.__tcfapi ? o.cmp = new o.constructors.Cmp({
                            name: "onpage"
                        }) : ["google", "gfc"].indexOf(o.publisher.cmp) >= 0 && (o.ma_lGG(), o.cmp = new o.constructors.Cmp({
                            name: "gfc"
                        })), o.cmp ? o.cmp.cm_pG() : (o.ma_lE({
                            code: "cmp-not-configured",
                            stream: "events"
                        }), o.publisher.cmp ? o.ma_lE("tcf-missing-" + o.publisher.cmp, !0) : o.ma_lE("tcf-absent", !0), o.cmp = new Cmp({
                            name: "none"
                        }), o.que2.xq())
                    }, o.que10.unshift(function(e) {
                        o.ma_rCL("reward-ad-available", e)
                    }, "que10Init"), o.que11.unshift(function() {
                        o.warn("Rewarded ad failed to load or is unfilled", "reward"), o.ma_rCL("unfilled-ad"), o.ma_lE({
                            code: "reward_unfilled",
                            stream: "events"
                        })
                    }, "que11Init"), o.que12.unshift(function(e) {
                        if ("freq" !== e) {
                            if (o.publisher.rwrdFreq) {
                                o.que12.reset();
                                let e = o.publisher.rwrdFreq / 36e5;
                                o.visitor.vi_c("rwrdFreq", !0, e / 24)
                            }
                            o.__rewardGranted__ = !0, o.ma_lE({
                                code: "reward_granted",
                                stream: "events",
                                payload: e.payload || {}
                            }), o.ma_gR("ad-watched")
                        } else document.addEventListener("readystatechange", () => {
                            "complete" == document.readyState && o.ma_gR("freq")
                        })
                    }, "que12Init"), o.que7.unshift(function() {
                        o.publisher = i(9610), o.visitor = i(3852), o.adcogni = i(123), o.visitor = i(3852), o.ma_hP("taxonomy") && (o.tx = i(7635)), o.visitor.vi_lPV("afterInit", !0)
                    }), o.que13.unshift(function(e) {
                        o.__rewardGranted__ || (o.google.go_rR(), o.ma_lE({
                            code: "reward_abandoned",
                            stream: "events"
                        })), o.__rewardGranted__ = !1
                    }, "que13Init"), o.build, o.version, o.getScriptName(), o.ma_gPNS = function() {
                        if (window._pbjsGlobals && window._pbjsGlobals.length > 0)
                            for (let e of window._pbjsGlobals)
                                if ("avhb" != e) return e;
                        return void 0 !== window.pbjs && "pbjs"
                    }, o.que7.push(function() {
                        const e = a[s];
                        o.ma_cCS(e)
                    }, "q7-push"), o.webVitals = o.webVitals || {}, o.ma_lCV = function(e) {
                        o.webVitals[e.name] = e.value
                    }, o.ma_lFL = function(e) {
                        o.ma_lCV(e), o.webVitals.fid && o.webVitals.lcp && o.visitor.vi_lPV("cwv-fid-lcp")
                    };
                    const {
                        onCLS: c,
                        onINP: l,
                        onLCP: u,
                        onFCP: g
                    } = i(6661);
                    c(function(e) {
                        o.ma_lCV(e), o.visitor.vi_lPV("cwv-cls")
                    }), l(o.ma_lFL), u(o.ma_lFL), o.ma_gWV = function() {
                        return g(o.ma_lCV), o.webVitals
                    }, o.que7.xq(), o.domReadyExecute = function(e) {
                        o.que3 = o.que3 || [], o.que3.push(e, "que2Execute")
                    }, o.que2.push(function() {
                        window.__afterConsentExecute ? window.__afterConsentExecute() : o.que3.push(function() {
                            window.__afterConsentExecute && window.__afterConsentExecute()
                        }, "que3AfterQue2")
                    }, "que2Execute"), o.que4.push(function() {
                        window.__afterTraffiqlyExecute ? window.__afterTraffiqlyExecute() : o.que3.push(function() {
                            window.__afterTraffiqlyExecute && window.__afterTraffiqlyExecute()
                        }, "que3ExecuteQue4")
                    }, "que4Execute")
                },
                3715(e, t, i) {
                    i.d(t, {
                        A: () => o
                    });
                    const o = {
                        pbGlobal: "avhb",
                        defineGlobal: !0,
                        features: {
                            NATIVE: !1,
                            VIDEO: !1,
                            UID2_CSTG: !1,
                            GREEDY: !1,
                            AUDIO: !1,
                            LOG_NON_ERROR: !1,
                            LOG_ERROR: !1
                        },
                        distUrlBase: "https://cdn.jsdelivr.net/npm/prebid.js@10.29.0/dist/chunks/",
                        skipCalls: {}
                    }
                },
                3766(e) {
                    var t = window.av,
                        i = window.googletag;
                    e.exports = class {
                        constructor(e) {
                            e = e || {};
                            for (let t in e) this[t] = e[t];
                            if (this.code = this.code || "", this.slot = this.slot || "", this.bids = this.bids || [], this.spotsticky = this.spotsticky || !1, this.parallax = this.parallax || !1, this.advLabel = this.advLabel || !1, this.childCount = this.childCount || 0, this.device = this.device || "both", this.avads_logic = ["enabled"], this.mediaTypes = this.mediaTypes || {}, this.renderCount = this.renderCount || 0, this.pos = this.pos || 0, this.script("hour", (new Date).getUTCHours()), "object" == typeof t.unitVariables)
                                for (let e in t.unitVariables) this.script(e, t.unitVariables[e]);
                            return this
                        }
                        script(e, i) {
                            t.unitVariables = t.unitVariables || {}, t.unitVariables[e] = i, this.baseCode = this.code, this.baseSlot = this.slot, this.code = this.code.replace("{" + e + "}", i), this.slot = this.slot.replace("{" + e + "}", i), this.baseCode == this.code && this.baseSlot == this.slot || (this.code, this.slot)
                        }
                        un_iI() {
                            return this.code.indexOf("interstitial") > -1 || "interstitial" === this.avformat
                        }
                        un_iCOL() {
                            return this.code.indexOf("overlay") > -1 || "overlay" === this.avformat
                        }
                        un_iGA() {
                            return "gpt-anchor-bottom" === this.avformat || "gpt-anchor-top" === this.avformat
                        }
                        un_iEFP() {
                            return !(!(this.code.indexOf("siderail_left") > -1 || this.code.indexOf("siderail_right") > -1) || !t.ma_hP("siderails")) || (this.code.indexOf("OOP_High_Impact") > -1 || (this.code.indexOf("_rewarded") > -1 || !!this.un_iV()))
                        }
                        un_iAB() {
                            return "anchor-bottom" == this.autozone
                        }
                        un_gT() {
                            const e = t.google.go_gNC(),
                                i = this.code.replace("/" + e + "/", ""),
                                o = [this.code, i],
                                n = this.un_gSC();
                            if (n != i && o.push(n), this.slot && o.push(this.slot), this.code.indexOf(",")) {
                                const e = t.google.go_gPC();
                                e && o.push("/" + e + "/" + i);
                                const n = t.google.go_gCC();
                                n && o.push("/" + n + "/" + i)
                            }
                            return o
                        }
                        un_gGS() {
                            if (this.googleSlot) return this.googleSlot;
                            if (t.google.go_iT(), t.google.go_iPR())
                                for (const e of window.googletag.pubads().getSlots())
                                    if (e.getAdUnitPath() == this.code) return this.googleSlot = e, e;
                            return !1
                        }
                        define() {
                            if (!this.isdSlot) {
                                if (this.un_iGA() && this.defineOutOfPage(this.avformat), this.un_iI()) {
                                    if (!t.visitor.vi_cEAS("av_instl", 60, "interstitial", !0)) return;
                                    this.defineOutOfPage("interstitial")
                                }
                                if (this.un_iEFP()) this.code;
                                else {
                                    if (this.defineQueued) return !1;
                                    this.code, this.slot, this.sizes, this.defineQueued = t.timestamps.now();
                                    var e = this;
                                    window.googletag.cmd.push(t.ma_tCH(function() {
                                        if (e.code, e.slot, e.googleSlot = window.googletag.defineSlot(e.code, e.sizes, e.slot), e.googleSlot) {
                                            e.defined = t.timestamps.now();
                                            const i = e.un_gGS(),
                                                o = e.sizes.toString();
                                            o.indexOf("fluid") >= 0 && (e.code, e.slot, t.ma_sDGM("forceSafeFrame", !0)), i.addService(window.googletag.pubads())
                                        } else {
                                            let i = e.googleSlot;
                                            void 0 === i && (i = "undefined");
                                            let o = [];
                                            e.code || o.push("code"), e.sizes && 0 !== e.sizes.length || o.push("sizes"), e.slot || o.push("slot"), o.length > 0 && t.warn(" - googletag.defineSlot failed, missing[" + o.toString() + "]");
                                            document.querySelectorAll('[id="' + e.slot + '"]').length > 1 && t.warn(" - googletag.defineSlot failed, duplicate div with ID[" + e.slot + "]");
                                            for (const i of window.googletag.pubads().getSlot())
                                                if (i.getSlotElementId() === e.slot) {
                                                    t.warn(" - googletag.defineSlot failed, cannot reuse config slot[" + e.slot + "] on same device");
                                                    break
                                                }
                                            e.un_d("gpt-disabled")
                                        }
                                    }), "gpt_unit_define", {
                                        adunit: e.code,
                                        slot: e.slot
                                    })
                                }
                            }
                        }
                        defineOutOfPage(e) {
                            if (!this.isdSlot) {
                                if (this.defineQueued) return !1;
                                this.code, this.defineQueued = t.timestamps.now();
                                var i = this;
                                window.googletag.cmd.push(t.ma_tCH(function() {
                                    i.code, "interstitial" === e ? i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, window.googletag.enums.OutOfPageFormat.INTERSTITIAL) : "rewarded" === e ? i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, window.googletag.enums.OutOfPageFormat.REWARDED) : "leftSideRail" === e ? i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, window.googletag.enums.OutOfPageFormat.LEFT_SIDE_RAIL) : "rightSideRail" === e ? i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, window.googletag.enums.OutOfPageFormat.RIGHT_SIDE_RAIL) : "gpt-anchor-top" === e ? i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, window.googletag.enums.OutOfPageFormat.TOP_ANCHOR) : "gpt-anchor-bottom" === e ? i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, window.googletag.enums.OutOfPageFormat.BOTTOM_ANCHOR) : "customOOP" === e ? i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, i.slot) : "overlay" === e && (i.googleSlot = window.googletag.defineOutOfPageSlot(i.code, window.googletag.enums.OutOfPageFormat.CONTENT_OVERLAY)), null === i.googleSlot || i.googleSlot && (i.defined = t.timestamps.now(), i.un_gGS().addService(window.googletag.pubads()))
                                }, "gpt_unit_define_out_of_page", {
                                    adunit: i.code,
                                    slot: i.slot
                                }))
                            }
                        }
                        un_aOD() {
                            return "desktop" === this.device || "both" === this.device || this.code.toLowerCase().indexOf("desktop") >= 0 || !("mobile" === this.device || this.code.toLowerCase().indexOf("mobile") >= 0) && (t.warn("unit[" + this.code + "] does not have valid device type[" + this.device + "]"), !0)
                        }
                        un_aOM() {
                            return "mobile" === this.device || "both" === this.device || this.code.toLowerCase().indexOf("mobile") >= 0 || !("desktop" === this.device || this.code.toLowerCase().indexOf("desktop") >= 0) && (t.warn("unit[" + this.code + "] does not have valid device type[" + this.device + "]"), !0)
                        }
                        un_iOOP() {
                            var e = [];
                            return this.code.toLowerCase().indexOf("1x1") >= 0 && e.push("1x1"), this.code.toLowerCase().indexOf("interstitial") >= 0 && e.push("interstitial"), this.code.toLowerCase().indexOf("outstream") >= 0 && e.push("outstream"), this.code.toLowerCase().indexOf("rewarded") >= 0 && e.push("rewarded"), (this.oop || this.code.toLowerCase().indexOf("out-of-page") >= 0 || this.code.toLowerCase().indexOf("outofpage") >= 0 || this.code.indexOf("OOP") >= 0) && e.push("oop"), ["anchor-bottom", "anchor-collapse", "anchor-top", "anchor-bottom-collapse"].indexOf(this.autozone) >= 0 && e.push("autozone"), this.code.toLowerCase().indexOf("anchor") >= 0 && e.push("anchor"), this.code.toLowerCase().indexOf("catfish") >= 0 && e.push("catfish"), e.length > 0 && e
                        }
                        un_iDQ() {
                            if (this.defineQueued) return !0;
                            if (!this.defineQueued && window.googletag && Array.isArray(window.googletag.cmd))
                                for (const e of window.googletag.cmd) {
                                    const i = e.toString();
                                    if (i.indexOf("googletag.defineSlot('" + this.code + "'") || i.indexOf("googletag.defineOutOfPageSlot('" + this.code + "'")) return this.defineQueued = this.defineQueued || t.timestamps.now(), !0
                                }
                            return !1
                        }
                        un_iD() {
                            if (this.defined) return !0;
                            if (!t.google.go_iPR()) return !1;
                            if (void 0 === this.defined) {
                                this.defined = !1;
                                try {
                                    for (const e of window.googletag.pubads().getSlots()) e.getAdUnitPath() == this.slot && (this.defined = t.timestamps.now())
                                } catch (e) {
                                    this.code, this.defined = !1
                                }
                                this.un_gGS() && (this.defined = !0)
                            }
                            return this.defined
                        }
                        un_sT() {
                            var e = this;
                            if (e.targetingSet > t.timestamps.now() - 1e4) return t.warn("targeting already set for unit[" + e.code + "] in last 10 seconds"), !1;
                            e.targetingSet = t.timestamps.now(), window.googletag.cmd.push(t.ma_tCH(function() {
                                if (!t.visitor.pageviewTracked && e.slot && document.getElementById(e.slot) && (t.visitor.pageviewTracked = !0, e.un_sK("avpv", t.publisher.pu_gCV()), 1 === t.visitor.vi_gSDH() && e.un_sK("avssn", t.publisher.pu_gCV())), t.ma_hP("spa") && t.google.go_iK(), e.un_sK("renderCount", e.renderCount), e.lazy && e.un_sK("lazyUnit", 1), e.un_sK("pos", e.pos), e.un_sK("gDisable", String(t.visitor.vi_iGDOCP())), e.un_sK("site", t.publisher.name[0]), t.auction.wrappers.prebid.pr_iC() && t.auction.wrappers.prebid.pr_gB()) try {
                                    e.code, e.un_sHT()
                                } catch (i) {
                                    t.warn(" ! failed to set HB targeting for unit[" + e.code + "]", "unit", i)
                                }
                            }), "gpt_unit_targeting")
                        }
                        un_cK(e, i) {
                            var o = (i = String(i)).replace(/["'=!+#*~;^()<>\[\],&]/g, "");
                            return o != i && (t.kvp_events[e] && t.kvp_events[e][i] && t.kvp_events[e][i].val_blacklisted || (t.ma_lE({
                                code: "kvp_val_blacklisted",
                                environment: {
                                    kvp_key: e,
                                    kvp_val: i
                                },
                                message: "value contains blacklisted characters"
                            }), t.kvp_events[e] = t.kvp_events[e] || {}, t.kvp_events[e][i] = {
                                val_blacklisted: !0
                            })), o.length < 1 ? "/empty/" : "rndm" == e.substr(0, 4) ? o : o.length > 40 ? (t.kvp_events[e] && t.kvp_events[e][i] && t.kvp_events[e][i].val_exceed_chars || (t.ma_lE({
                                code: "kvp_val_exceed",
                                environment: {
                                    kvp_key: e,
                                    kvp_val: i
                                },
                                message: "Value exceeds 40 characters"
                            }), t.kvp_events[e] = t.kvp_events[e] || {}, t.kvp_events[e][i] = {
                                val_exceed_chars: !0
                            }), o.substr(0, 40)) : o
                        }
                        un_sK(e, i) {
                            t.kvp_events = t.kvp_events || {}, this.code;
                            var o = e.replace(/["'=!+#*~;^()<>\[\],&]/g, "");
                            if (e == o)
                                if (e.charAt(0) >= "0" && e.charAt(0) <= "9") t.kvp_events[e] && t.kvp_events[e].key_integers_start || (t.ma_lE({
                                    code: "kvp_key_integer",
                                    environment: {
                                        kvp_key: e
                                    },
                                    message: "Key names contains integer"
                                }), t.kvp_events[e] = {
                                    key_integers_start: !0
                                });
                                else if (0 !== e.length)
                                if (e.length > 20) t.kvp_events[e] && t.kvp_events[e].key_exceed_chars || (t.ma_lE({
                                    code: "kvp_key_lengthy",
                                    environment: {
                                        kvp_key: e
                                    },
                                    message: "Key exceeds 20 characters"
                                }), t.kvp_events[e] = {
                                    key_exceed_chars: !0
                                });
                                else {
                                    if ("string" == typeof i && i.indexOf(",") > -1) {
                                        const e = i.replace(/[”'=!+#*~;^()<>\[\]&]/g, "");
                                        i === e && (i = i.split(","))
                                    }
                                    if (Array.isArray(i))
                                        for (let t = 0; t < i.length; t++) i[t] = this.un_cK(e, i[t]);
                                    else i = this.un_cK(e, i);
                                    try {
                                        if (this.baseCode.indexOf("outstream_advergic") > -1) return t.google.os_kvp = t.google.os_kvp || {}, t.google.os_kvp.hasOwnProperty(e) || (t.google.os_kvp[e] = i), e + "=" + t.google.os_kvp[e];
                                        const o = this.un_gGS();
                                        o && t.ma_sDTM("set", e, i, o)
                                    } catch (o) {
                                        o.code = "avhb_settargeting_fail", o.type = "catch", o.environment = {
                                            hasGoogleSlot: !!this.googleSlot,
                                            adunit: this.code,
                                            slot: this.slot,
                                            sizes: this.sizes,
                                            key: e,
                                            value: "string" == typeof i ? i : String(i)
                                        }, t.ma_lE(o)
                                    }
                                }
                            else t.kvp_events[e] && t.kvp_events[e].key_empty || (t.ma_lE({
                                code: "kvp_key_empty",
                                message: "Key is empty"
                            }), t.kvp_events[e] = {
                                key_empty: !0
                            });
                            else t.kvp_events[e] && t.kvp_events[e].key_blacklist_chars || (t.ma_lE({
                                code: "kvp_key_blacklist",
                                environment: {
                                    kvp_key: e
                                },
                                message: "key contains blacklisted characters"
                            }), t.kvp_events[e] = {
                                key_blacklist_chars: !0
                            })
                        }
                        un_gPC(e) {
                            e || (e = this.code);
                            var t = e.split("/");
                            return t.length > 1 && "/" + t[1] + "/" + t[2]
                        }
                        getViewability() {
                            return t.visitor.vi_iM() && this.mobileViewability > 0 ? this.mobileViewability : !t.visitor.vi_iM() && this.desktopViewability > 0 ? this.desktopViewability : (this.code, this.desktopViewability = 20, this.mobileViewability = 20, 20)
                        }
                        un_sHT() {
                            try {
                                this.code;
                                var e = {
                                        cpm: 0
                                    },
                                    i = {
                                        cpm: 0
                                    },
                                    o = t.auction.wrappers.prebid.pr_gB() || [];
                                const r = Math.random() < .1;
                                if (o.length > 0)
                                    for (let a of o) {
                                        if (!a.viewability) try {
                                            var n = t.ma_gU(a.adUnitCode);
                                            n ? (a.viewability = n.getViewability(), a.adId, a.bidderCode, a.viewability, a.adUnitCode, a.cpm.toFixed(2)) : t.warn(" ! failed to find unit[" + a.adUnitCode + "]")
                                        } catch (e) {
                                            e.code = "unit-missing-viewability", t.warn(e)
                                        }
                                        a.viewability || (a.adId, a.adUnitCode, a.cpm.toFixed(2), a.viewability = 20), a.parentUnitCode || (a.parentUnitCode = this.un_gPC(a.adUnitCode)), a.cpm < .01 ? (a.adId, a.cpm.toFixed(2), a.bidderCode) : this.code === a.adUnitCode || this.un_gPC() === a.adUnitCode || a.parentUnitCode === this.un_gPC() || t.publisher.viewabilityBidding ? a.renderTime ? (a.adId, a.cpm.toFixed(2), a.bidderCode) : t.timestamps.now() > a.responseTimestamp + 1e3 * ((a.ttl || t.bidders[a.bidderCode].bidTtl || 180) - 3) ? (a.adId, a.cpm.toFixed(2), a.bidderCode, ((t.timestamps.now() - a.responseTimestamp) / 1e3).toFixed(2)) : t.ma_sC(this.sizes, a.size) ? !t.publisher.pidShift && this.code !== a.adUnitCode && a.viewability > this.getViewability() + 5 ? (this.code, this.getViewability(), a.adId, a.adUnitCode, a.viewability) : a.pendingTime && t.timestamps.now() - a.pendingTime < 1e4 ? (a.adId, a.cpm.toFixed(2), a.bidderCode, a.pendingUnit) : a.stored ? r || void 0 === a.url || window.location.href === a.url ? (a.cpm === i.cpm && a.responseTimestamp > i.responseTimestamp || a.cpm > i.cpm) && (a.adId, a.cpm.toFixed(2), a.bidderCode, ((t.timestamps.now() - a.responseTimestamp) / 1e3).toFixed(2), i = a) : (a.adId, a.url) : (a.cpm <= e.cpm ? (a.adId, a.cpm.toFixed(2), a.bidderCode, e.cpm.toFixed(2)) : (e = a, a.adId, a.cpm.toFixed(2), a.bidderCode, ((t.timestamps.now() - a.responseTimestamp) / 1e3).toFixed(2)), t.ma_hP("bidStoreEnable") && (-1 === t.auction.wrappers.prebid.wonBidIds.indexOf(a.adId) ? (a.adId, t.auction.wrappers.prebid.pr_sB(a)) : a.adId)) : (a.adId, a.bidderCode, a.size, t.ma_fS(this.sizes)) : (a.adId, a.adUnitCode, a.parentUnitCode, this.code, this.un_gPC())
                                    }
                                t.ma_hP("bidStoreEnable") && i.cpm > e.cpm && (i.auctionMaxCpm = e.cpm, i.crossPage = window.location.href !== i.url, e = i)
                            } catch (e) {
                                e.code = "unit-hb-winner-fail", e.type = "catch", e.environment = {
                                    adunit: this.code
                                }, t.ma_lE(e)
                            }
                            try {
                                var r = e;
                                if (r.cpm >= .01) {
                                    this.pendingBidId = r.adId, r.pendingUnit = this.code, r.pendingTime = t.timestamps.now();
                                    try {
                                        r.pid = r.pid || t.ma_fPBB(r);
                                        var a = t.ma_cP(r.pid);
                                        this.un_sK("av_pid", a)
                                    } catch (e) {
                                        t.warn("failed to find and compress pid", "unit.hbtargeting", r, e)
                                    }
                                    this.un_sK("av_bidder", r.bidderCode), this.un_sK("av_size", r.size), this.un_sK("av_adid", r.adId);
                                    let e = t.publisher.bidIncrement || .01,
                                        i = (Math.floor(r.cpm / e) * e).toFixed(t.publisher.hbDecimals);
                                    r.adId, this.code, ((t.timestamps.now() - r.responseTimestamp) / 1e3).toFixed(2), r.bidderCode, this.un_sK("av_pb", i)
                                } else this.code;
                                this.avads_logic.length > 0 && this.un_sK("avads_logic", this.avads_logic), this.avformat && this.un_sK("av_format", this.avformat)
                            } catch (e) {
                                e.code = "unit-set-winner-fail", e.type = "catch", e.environment = {
                                    adunit: this.code
                                }, t.ma_lE(e)
                            }
                        }
                        getNode(e) {
                            return this.node && !e || (void 0 === this.slot ? (this.node = !1, this.code) : this.node = document.getElementById(this.slot)), this.node
                        }
                        un_gAL() {
                            let e = t.publisher.adLabelText;
                            if (t.ma_hP("adLabel")) {
                                return `<div style="margin:0px;font-weight:300;letter-spacing:1px;font-size:12px;text-align:center;padding:5px 0px 5px 0px;color: ${t.ma_hP("darktheme")?"#a1a1a1":"#000"};" class="av-adLabel">${e}</div>`
                            }
                            return !1
                        }
                        un_iF() {
                            return this.isAutozone() || this.code.toLowerCase().includes("autozone") || this.code.toLowerCase().includes("anchor") || this.code.toLowerCase().includes("catfish") || this.code.toLowerCase().includes("1x1") || t.ma_hFPN(this.getNode())
                        }
                        un_aRA(e, i) {
                            try {
                                var o = {
                                    stream: "ad_render",
                                    unit: i.slot.getAdUnitPath(),
                                    orderId: i.campaignId,
                                    lineItemId: i.sourceAgnosticLineItemId,
                                    creativeId: i.sourceAgnosticCreativeId,
                                    timestampInit: t.timestamps.started,
                                    timeToRender: t.timestamps.now() - t.timestamps.started,
                                    renderCount: e.renderCount,
                                    size: t.ma_fS(i.size).pop(),
                                    bidder: "null",
                                    bid: 0,
                                    winner: "??",
                                    documentSize: "",
                                    viewPort: "",
                                    event: "",
                                    renderDuration: ""
                                };
                                let l;
                                (t.ma_hP("spa") || e.lazy) && (o.environment = o.environment || {}, o.environment.lazy = e.lazy || 0), o.adRenderId = t.uuid4(), t.impressionList = t.impressionList || {}, o.unit in t.impressionList && (t.impressionList[o.unit].renderDuration = t.timestamps.now() - (t.impressionList[o.unit].timestampInit + t.impressionList[o.unit].timeToRender), t.impressionList[o.unit].event = !0 === e.unfilledRefresh ? "unfilled-refresh" : "refresh", t.impressionList[o.unit].impViewedAt = null !== e.viewedAt, t.ma_lAR(t.impressionList[o.unit])), t.impressionList[o.unit] = o;
                                let u = i.slot.getConfig("targeting").targeting;
                                if (u.av_bidder && u.av_bidder.length > 0) {
                                    if (o.bidder = u.av_bidder.pop(), t.ma_hP("bidStoreEnable")) {
                                        var n = u.av_adid;
                                        for (let e of t.auction.wrappers.prebid.bids)
                                            if (e.adId === n[0]) {
                                                const i = t.publisher.bidIncrement || .01;
                                                let o = t.ma_gBMC(e, i);
                                                l = {
                                                    isStoredBid: !!e.stored,
                                                    adunit: e.adUnitCode,
                                                    auctionMaxCpm: o,
                                                    bidGain: Number(e.cpm - o).toFixed(4),
                                                    isBidCrossPage: e.crossPage || !1,
                                                    bidder: e.adapterCode || e.bidderCode || e.bidder || e.adserverTargeting.hb_bidder || "unknown",
                                                    advertiserDomain: e.meta ? .advertiserDomains ? .length ? e.meta.advertiserDomains.join(",") : e.adserverTargeting ? .hb_adomain || "",
                                                    size: e.adserverTargeting ? .hb_size || e.size || e.getSize() || String(e.width + "x" + e.height) || "",
                                                    bidCurrency: e.originalCurrency || "",
                                                    publisherCurrency: t.publisher.currencyCode || "",
                                                    isInstl: !!e.instl,
                                                    age: (t.timestamps.now() - Number(e.responseTimestamp)) / 1e3,
                                                    ttl: Number(e.ttl)
                                                };
                                                break
                                            }
                                    }
                                    o.bidder
                                }
                                if (u.av_pb && u.av_pb.length > 0 && (o.bid = Number(u.av_pb.pop()), o.bid), u.av_format && u.av_format.length > 0 && (o.bid = Number(u.av_format.pop()), o.bid), u.av_pid && u.av_pid.length > 0 && (o.bid = Number(u.av_pid.pop()), o.pid), u.av_adid && u.av_adid.length > 0) {
                                    var r = u.av_adid.pop();
                                    window.av.auction.wrappers.prebid.wonBidIds.indexOf(r) >= 0 && (o.winner = "advergicHB")
                                }
                                if (i.sourceAgnosticLineItemId && "??" === o.winner && (o.winner = "gam"), !i.sourceAgnosticLineItemId || i.isEmpty) {
                                    var a = u.av_adid;
                                    if (i.slot.getAdUnitPath(), o.winner, a && a.length > 0) {
                                        a = a.pop();
                                        var s = document.getElementById(i.slot.getSlotElementId());
                                        if (s) {
                                            s.innerHTML = "", i.slot.getAdUnitPath(), i.slot.getSlotElementId;
                                            var d = document.createElement("iframe");
                                            d.style.border = "0px", s.appendChild(d), s.style.display = "block", window.$$PREBID_GLOBALS$$.renderAd(d.contentWindow.document, a), o.winner = "advergicHB"
                                        } else i.slot.getAdUnitPath(), i.slot.getSlotElementById, o.winner = "unfilled"
                                    } else i.slot.getAdUnitPath(), o.winner = "unfilled"
                                }
                                if (o.winner, t.ma_lAR(o), l) {
                                    l.bidWon = "advergicHB" == o.winner;
                                    var c = Object.assign({}, o);
                                    c.environment = l, c.code = "stored-ad-render", c.stream = "events", t.ma_lE(c)
                                }
                            } catch (e) {
                                window.av.warn("failed to log ad render"), window.av.warn(e)
                            }
                        }
                        un_tR() {
                            if (t.google.renderTracked) return !1;
                            if (t.google.renderTracked = !0, t.ma_hP("spa")) {
                                var e = document.getElementsByTagName("body")[0];
                                if (e) var i = function(e, i) {
                                    for (let i of e) "childList" === i.type && i.removedNodes.length > 0 && void 0 !== t.impressionList && i.removedNodes.forEach(function(e) {
                                        for (var i in t.impressionList)
                                            if (e.getAttribute) {
                                                var o = e.getAttribute("id");
                                                if (o && o.includes(t.impressionList[i].unit)) {
                                                    let e = t.ma_gU(i);
                                                    t.impressionList[i].event = "mutation", t.impressionList[i].impViewedAt = null !== e.viewedAt, t.impressionList[i].renderDuration = t.timestamps.now() - (t.impressionList[i].timestampInit + t.impressionList[i].timeToRender), t.ma_lAR(t.impressionList[i]), t.coordinateDict && t.coordinateDict.hasOwnProperty(i) && delete t.coordinateDict[i]
                                                }
                                            }
                                    })
                                };
                                t.mutationObserver2 = new MutationObserver(i), t.mutationObserver2.observe(e, {
                                    attributes: !1,
                                    childList: !0,
                                    subtree: !0
                                })
                            }
                            window.googletag.cmd.push(function() {
                                window.googletag.pubads().addEventListener("slotRequested", function(e) {
                                    t.timestamps.firstAdRequest = t.timestamps.firstAdRequest || t.timestamps.now()
                                }), window.googletag.pubads().addEventListener("slotRenderEnded", function(e) {
                                    try {
                                        t.timestamps.firstAdRender = t.timestamps.firstAdRender || t.timestamps.now(), t.visitor.pageviewUnitRendered || (t.visitor.pageviewUnitRendered = !0, t.visitor.vi_lPV("adrender"));
                                        var i = t.ma_gU(e.slot.getAdUnitPath());
                                        if (i)
                                            if (i.renderCount = i.renderCount || 0, i.renderCount++, i.rendered = t.timestamps.now(), t.publisher.pu_aE() && (i.un_iV() || i.un_aRA(i, e)), i.unfilledRefresh = !1, e.isEmpty) t.google.unfilledImpressions++, i.unfilledCount = i.unfilledCount || 0, t.ma_hP("unfilledRefresh") ? i.unfilledCount++ < 2 ? (i.un_r("unfilled-refresh"), i.unfilledRefresh = !0) : (i.spotsticky || i.scrollsticky) && null === e.sourceAgnosticLineItemId && (i.slot, i.un_sAC(i.node)) : i.spotsticky && null === e.sourceAgnosticLineItemId && (i.slot, i.un_sAC(i.node));
                                            else {
                                                if (e.slot.getAdUnitPath(), e.sourceAgnosticLineItemId, e.sourceAgnosticCreativeId, e.campaignId, i.renderCount, i.renderSize = t.ma_fS(e.size).pop(), i.scrollsticky && "top" !== t.publisher.gptAnchor && "top" !== t.publisher.outstreamPosition && i.un_sSY(i, i.slot), t.ma_hP("spotsticky") && i.spotsticky && null !== e.sourceAgnosticLineItemId) {
                                                    var o = t.auction.wrappers.prebid.pr_gB();
                                                    if (o && o.length > 0)
                                                        for (let e of o) {
                                                            if ("1x1" !== i.renderSize && "0x0" !== i.renderSize) {
                                                                var n = i.renderSize.split("x");
                                                                i.un_sS(i.node, n)
                                                            }
                                                            if (e && e.adUnitCode === i.code && "1x1" === i.renderSize && "0x0" !== i.renderSize && !i.un_iAB() && !i.un_iI() && !i.un_iGA() && i.spotsticky && t.ma_sC(i.sizes, e.size)) {
                                                                var r = e.size.split("x");
                                                                i.un_sS(i.node, r);
                                                                break
                                                            }
                                                        } else 0 === o.length && (i.slot, "0x0" === i.renderSize || "0x0" === e.size || i.un_sS(i.node, e.size))
                                                }
                                                if (i.refreshDisabled) i.code;
                                                else if (t.publisher.pu_gRC() && t.publisher.pu_gRT()) i.renderCount < t.publisher.pu_gRC() && setTimeout(function() {
                                                    i.un_r("dumb")
                                                }, t.publisher.pu_gRT());
                                                else if (t.publisher.pu_gRT()) {
                                                    if (i.un_iV() || i.baseCode.indexOf("outstream_advergic") > -1) return;
                                                    i.un_sR()
                                                }
                                            }
                                        else e.slot.getAdUnitPath()
                                    } catch (i) {
                                        const o = e.slot.getAdUnitPath(),
                                            n = t.ma_gU(o);
                                        i.code = "adrender-unhandled-exception", i.type = "catch", i.environment = {
                                            adunit: n ? .code
                                        }, t.ma_lE(i)
                                    }
                                })
                            })
                        }
                        un_sSY(e, i) {
                            const o = document.getElementById(i);
                            if (!o) return;
                            if ("true" === o.dataset.stickyInit) return;
                            o.dataset.stickyInit = "true";
                            const n = document.createElement("div");
                            n.style.width = o.offsetWidth + "px", n.style.height = o.offsetHeight + "px", n.style.display = "none", o.parentNode.insertBefore(n, o);
                            const r = "mobile" === e.device ? t.ma_hP("scrollStickyHeight") : t.publisher.scrollStickyHeight + 250;
                            let a = window.scrollY || window.pageYOffset,
                                s = !1;
                            const d = () => {
                                const e = window.scrollY || window.pageYOffset,
                                    i = e > a,
                                    d = o.getBoundingClientRect(),
                                    c = s ? e + d.top - parseFloat(t.publisher.scrollStickyTop) : o.offsetTop;
                                i && d.top <= parseFloat(t.publisher.scrollStickyTop) && e < r && !s && (o.style.position = "fixed", o.style.top = t.publisher.scrollStickyTop + "px", o.style.left = "0", o.style.right = "0", o.style.zIndex = "1000", o.style.background = t.publisher.scrollStickyBG, n.style.display = "block", s = !0), i && e >= r && s && (o.style.position = "static", n.style.display = "none", s = !1), !i && e <= c && s && (o.style.position = "static", n.style.display = "none", s = !1), a = e
                            };
                            window.addEventListener("scroll", d), o._scrollHandler = d, o._placeholder = n
                        }
                        un_tV() {
                            if (t.viewabilityTracked) return !1;
                            t.google.viewabilityTracked = !0, window.googletag.cmd.push(function() {
                                window.googletag.pubads().addEventListener("impressionViewable", function(e) {
                                    var i = t.ma_gU(e.slot.getAdUnitPath());
                                    i && (i.viewedAt = t.timestamps.now(), i.un_iI() ? t.google.go_rRFFB("av_instl", 60, Date.now()) : i.un_iCOL() && t.google.go_rRFFB("av_instl", 600, Date.now()))
                                })
                            })
                        }
                        isAutozone() {
                            return !!this.autozone && "disabled" !== this.autozone
                        }
                        un_iA() {
                            if (void 0 === this.autozone || "disabled" === this.autozone || "off" !== t.publisher.gptAnchor) return !1;
                            if (!(["anchor-bottom", "anchor-top"].indexOf(this.autozone) >= 0)) return !1;
                            this.autozone, this.code;
                            try {
                                if (this.slot = this.slot || "div-slot-autozone-" + Math.floor(1e8 * Math.random()), this.un_iAB()) {
                                    this.node = this.node || document.getElementById(this.slot), this.node ? this.slot : (this.slot, this.node = document.createElement("div"), this.node.setAttribute("id", this.slot), document.body ? document.body.appendChild(this.node) : t.que3.push(() => {
                                        window.setTimeout(() => {
                                            this.un_iA()
                                        }, 50)
                                    }, "que3AnchorBottom")), this.autozone, this.code, this.slot;
                                    var e = {
                                        position: "fixed",
                                        bottom: "-400px",
                                        left: 0,
                                        right: 0,
                                        "text-align": "center",
                                        margin: "0 auto",
                                        zIndex: "9999999",
                                        transition: "bottom 0.75s"
                                    };
                                    for (var i in e) this.node.style[i] = e[i];
                                    return t.anchor = this, window.googletag.cmd.push(function() {
                                        window.googletag.pubads().addEventListener("slotRenderEnded", t.ma_tCH(function(e) {
                                            if (t.anchor.googleSlot === e.slot) {
                                                const i = t.ma_gU(e.slot.getAdUnitPath());
                                                i && i.un_iAB() && (window.av.anchor = i, window.top.av.log("autozone[" + window.av.anchor.autozone + "] unit[" + window.av.anchor.code + "] rendered, waiting to show x-button", "autozone"), setTimeout(() => {
                                                    const o = window.av.anchor,
                                                        n = o.node;
                                                    if (0 === n.childNodes.length) return;
                                                    if (e.isEmpty) return void(void 0 !== n && (window.top.av.log("autozone[" + o.autozone + "] unit[" + o.code + "] is empty, hiding anchor, not rendering x-button", "autozone"), n.display = "none"));
                                                    window.top.av.log("anchor container is not empty, keeping anchor, rendering x-button", "autozone");
                                                    let r = 0;
                                                    n.childNodes[0].nodeType === Node.COMMENT_NODE && r++;
                                                    let a = n.childNodes[r].offsetWidth,
                                                        s = n.childNodes[r].offsetHeight;
                                                    a === n.offsetWidth && n.childNodes[r].childNodes.length > 0 && (a = n.childNodes[r].childNodes[0].offsetWidth, s = n.childNodes[r].childNodes[0].offsetHeight), i.un_iAB() && (n.style.backgroundColor = t.ma_hP("darktheme") ? "rgb(255 255 255 / 25%)" : "rgba(0,0,0,0.25)", n.style.width = "100%", n.style.height = s + "px", n.style.bottom = "0px", n.style.marginLeft = "0px", n.style.marginRight = "0px", n.style.left = "0px", n.style.boxSizing = "unset", document.body.style.paddingBottom = s + "px"), i.un_aCB("anchor-bottom"), t.ma_hP("anchorLogo") && i.un_aAL("anchor-bottom")
                                                }, 1e3))
                                            }
                                        }, "anchor-bottom-failed-render"))
                                    }), !0
                                }
                            } catch (e) {
                                t.warn("autozone failed to build", e), e.code = "autozone_fail", e.type = "catch", e.environment = {
                                    adunit: this.code
                                }, t.ma_lE(e)
                            }
                            return !1
                        }
                        un_iR() {
                            return this.rendered ? this.rendered : !!t.google.go_eLR() && t.google.go_gEFS(6, this.code).length > 0
                        }
                        un_iDD() {
                            return !(!window.googletag || !window.googletag.pubadsReady) && !!this.displayed
                        }
                        un_iV() {
                            return this.baseCode.indexOf("outstream_advergic") > -1 || "video" === this.avformat || this.baseCode.indexOf("instream_advergic") > -1
                        }
                        un_gVADU() {
                            let e = t.ma_hP("instream");
                            if (t.get("avos")) {
                                return e ? "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpremidpostlongpod&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vmap&unviewed_position_start=1&env=vp&cmsid=496&vid=short_onecue&correlator=" : "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&correlator="
                            }
                            let i = t.google.go_cP(document.location.href),
                                o = [];
                            for (let e in t.google.kvps) this.un_sK(e, t.google.kvps[e]);
                            for (let e in t.google.os_kvp)
                                if (t.google.os_kvp.hasOwnProperty(e)) {
                                    let i = this.un_sK(e, t.google.os_kvp[e]);
                                    i && o.push(i)
                                }
                            let n = "https://securepubads.g.doubleclick.net/gampad/ads?iu=" + this.code + "&description_url=" + t.ma_eUC(i) + "&env=vp&impl=s&correlator=&tfcd=0&npa=0&gdfp_req=1&vpmute=1&vpa=auto&sz=300x250|400x300|640x360|640x480&unviewed_position_start=1&url=" + t.ma_eUC(i) + "&cust_params=" + t.ma_eUC(o.join("&")) + "&vad_type=linear&ad_type=video";
                            return e ? n + "&output=vmap&cmsid=496&vid=short_onecue&ad_rule=1" : n + "&output=vast&plcmt=2&vpos=preroll"
                        }
                        un_cVSFK(e, t) {
                            return t && "object" == typeof t && e in t ? t : void 0
                        }
                        un_gAS(e, i, o) {
                            try {
                                if (o) return this.un_cVSFK(i, e.ad ? .data);
                                for (const t in e) {
                                    const o = this.un_cVSFK(i, e[t]);
                                    if (void 0 !== o) return o
                                }
                                return this.un_cVSFK(i, e)
                            } catch (e) {
                                return void t.ma_lE({
                                    code: "no_video_stats",
                                    environment: {
                                        adunit: this.code
                                    }
                                })
                            }
                        }
                        un_pVA() {
                            let e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
                                i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                                o = t.ma_hP("instream"),
                                n = this,
                                r = n.node || document.getElementById(n.slot),
                                a = n.node.parentNode;
                            if (a = null !== a && "BODY" !== a.tagName && "video-container" == a.id ? n.node.parentNode : "", !r) return void t.warn("=> the video element with id[" + n.slot + "] is not present on the page", "video");
                            t.un_hPPS = () => {
                                n.renderCount = n.renderCount || 0, n.renderCount++, n.rendered = t.timestamps.now(), n.isVisible = !0, n.un_sOP(), t.ma_hP("outstreamLogo") && n.un_aAL("outstream"), t.ma_iIV(n.node) && !t.ma_iIV(a) && n.un_aCB("outstream");
                                let e = document.querySelector("#" + n.slot + " .vjs-big-play-button");
                                e && (e.style.display = "none")
                            }, t.un_uPP = (e, i) => {
                                i.play().then(() => {
                                    t.un_hPPS()
                                }).catch(i => {
                                    if (20 !== i.code && t.ma_hP("instream")) {
                                        t.ma_hP("outstreamLogo") && e.un_aAL("outstream"), t.ma_iIV(e.node) && !t.ma_iIV(a) && e.un_aCB("outstream");
                                        let i = document.querySelector("#" + e.slot + " .vjs-big-play-button");
                                        i && (i.style.left = "50%", i.style.top = "50%", i.style.transform = "translate(-50%,-50%)", i.style.display = "block"), i.addEventListener("click", () => {
                                            t.un_hPPS()
                                        }), i.addEventListener("touchstart", () => {
                                            t.un_hPPS()
                                        }), i.addEventListener("pointerdown", () => {
                                            t.un_hPPS()
                                        })
                                    } else t.un_hPPS()
                                }), e.un_sOP()
                            }, t.un_dP = function(e) {
                                e.dispose(), n.isVisible = !1, n.node && (n.node.style.zIndex = -1), window.removeEventListener("scroll", t.outstreamScrollListener), n.un_rCB(), n.un_rAL()
                            }, t.un_hOSE = function(e) {
                                t.ma_hP("outstreamRefreshUL") ? setTimeout(function() {
                                    t.un_dP(e), n.un_pVA(n.un_gVADU())
                                }, 200) : (t.un_dP(e), n.unfilledCount = n.unfilledCount || 0, t.ma_hP("outstreamRefresh") && n.unfilledCount++ < 2 && n.un_pVA(n.un_gVADU()))
                            };
                            var s = t.visitor.vi_gVS();
                            let d = o ? t.publisher.outstreamVideoURI : t.ma_gC("dummy-video.mp4");
                            try {
                                if (s.videojs.object && s.videojs.css && s.imajs.object && s.videojsIMA.object && s.videojsIMA.css && s.videojsIMAAds.object && s.videojsIMAAds.css) {
                                    var c = null;
                                    if (void 0 !== videojs.getPlayer && (c = videojs.getPlayer(n.slot)), !c && void 0 !== videojs.getPlayers) {
                                        var l = videojs.getPlayers();
                                        l[n.slot] && (c = l[n.slot])
                                    }
                                    if (c || void 0 === videojs.getPlayers || Object.keys(videojs.getPlayers()).forEach(e => {
                                            e.indexOf(n.slot) > -1 && (c = videojs.getPlayers()[e])
                                        }), c) return n.videoDisplayed = !0, n.slot, void(n.autoplay && t.un_uPP(n, c));
                                    n.slot;
                                    var u = {
                                            playsinline: !0,
                                            muted: !0,
                                            preferFullWindow: !0,
                                            fluid: !0,
                                            autoplay: "muted"
                                        },
                                        g = null;
                                    if ("VIDEO" === r.nodeName) {
                                        g = videojs(n.slot, u);
                                        var m = r
                                    } else {
                                        (m = document.createElement("video")).setAttribute("id", n.slot + "-videonode"), r.getAttribute("class") ? m.setAttribute("class", r.getAttribute("class") + " video-js vjs-default-skin") : m.setAttribute("class", "video-js vjs-default-skin"), m.setAttribute("controls", ""), m.setAttribute("preload", "auto"), n.muted && m.setAttribute("muted", ""), m.setAttribute("src", d), m.setAttribute("playsinline", ""), m.setAttribute("webkit-playsinline", "");
                                        var p = document.createElement("source");
                                        p.setAttribute("src", d), p.setAttribute("type", "video/mp4"), m.appendChild(p), r.appendChild(m), m.style.maxWidth = "100%", m.style.display = o ? "block" : "none";
                                        try {
                                            g = videojs(m, u), n.un_sOP(), t.ma_hP("outstreamLogo") && n.un_aAL("outstream"), t.ma_iIV(n.node) && !t.ma_iIV(a) && n.un_aCB("outstream")
                                        } catch (e) {
                                            e.code = "videojs-player-failed", e.type = "catch";
                                            const i = m,
                                                o = document.getElementById(i);
                                            return e.environment = {
                                                hasOutstreamNode: !!o,
                                                slot: i,
                                                adunit: n.code
                                            }, t.ma_lE(e), void r.removeChild(m)
                                        }
                                    }
                                    if (n.videoPlayer = g, n.videoDisplayed = !0, n.playerEvents = {}, g.ready(function() {
                                            n.playerEvents.playReady = t.timestamps.now(), n.outstreamAdStatus = "ready", n.closeTime = -1
                                        }), g.on("ended", function() {
                                            const e = t.timestamps.now();
                                            n.playerEvents.ended = n.playerEvents.ended || [], n.playerEvents.ended.push(e), e - n.playerEvents.firstplay > 1e4 ? o ? setTimeout(function() {
                                                n.un_pVA(n.un_gVADU())
                                            }, 200) : t.un_dP(g) : t.un_uPP(n, g)
                                        }), g.on("firstplay", function() {
                                            n.playerEvents.firstplay = t.timestamps.now()
                                        }), g.on("loadedmetadata", function() {
                                            n.playerEvents.loadedmetadata = t.timestamps.now()
                                        }), g.on("loadeddata", function() {
                                            n.playerEvents.loadeddata = t.timestamps.now()
                                        }), e) {
                                        let i = t.visitor.vi_gCT(),
                                            r = t.publisher.outstreamLoadTimeout,
                                            a = t.publisher.vastLoadTimeout;
                                        4 !== i && 5 !== i || (r += 2e3, a += 2e3), g.ima({
                                            adLabel: t.publisher.adLabelText,
                                            id: n.slot,
                                            adTagUrl: e,
                                            debug: !1,
                                            disableCustomPlaybackForIOS10Plus: !0,
                                            adsRenderingSettings: {
                                                loadVideoTimeout: r,
                                                enablePreloading: !0
                                            },
                                            vastLoadTimeout: a
                                        }), g.on("adsready", function() {
                                            n.playerEvents.adsready = t.timestamps.now(), n.totalAdDuration = -1, n.node.firstElementChild && (n.node.firstElementChild.style.display = "block"), m.style.display = "block";
                                            var e = n.node.getElementsByTagName("video");
                                            e && e.length > 0 && (e[0].style.display = "block", e[0].setAttribute("playsinline", ""), e[0].setAttribute("webkit-playsinline", "")), n.autoplay && (n.onpage || t.publisher.outstreamDepth > 0 || !n.isVisible) && t.un_uPP(n, g), g.ima.addEventListener(google.ima.AdEvent.Type.LOADED, function(e) {
                                                n.playerEvents.loaded = t.timestamps.now();
                                                try {
                                                    n.totalAdDuration = n.totalAdDuration || parseInt(n.un_gAS(e, "duration").duration), n.outstreamAdStatus = "loaded", n.totalAdDuration
                                                } catch (e) {
                                                    e.code = "video-total-duration-fail", e.environment = {
                                                        adunit: n.code
                                                    }, t.ma_lE(e)
                                                }
                                            }), g.ima.addEventListener(google.ima.AdEvent.Type.STARTED, function(e) {
                                                n.playerEvents.adstarted = t.timestamps.now(), n.outstreamAdStatus = "started";
                                                try {
                                                    const i = n.un_gAS(e, "adId", !0),
                                                        o = n.un_gAS(e, "creativeId", !0);
                                                    n.un_gAS(e, "clickThroughUrl", !0);
                                                    n.totalAdDuration = n.totalAdDuration || parseInt(n.un_gAS(e, "duration", !0));
                                                    n.un_gAS(e, "mediaUrl", !0);
                                                    const r = n.un_gAS(e, "vastMediaHeight", !0),
                                                        a = n.un_gAS(e, "vastMediaHeight", !0);
                                                    let s = {
                                                        stream: "ad_render",
                                                        unit: n.code,
                                                        orderId: "",
                                                        lineItemId: i.adId,
                                                        creativeId: o.creativeId,
                                                        timestampInit: t.timestamps.started,
                                                        timeToRender: t.timestamps.now() - t.timestamps.started,
                                                        renderCount: n.renderCount,
                                                        size: t.ma_fS([a.vastMediaWidth, r.vastMediaHeight]).pop(),
                                                        bidder: "null",
                                                        bid: 0,
                                                        winner: "gam",
                                                        documentSize: "",
                                                        viewPort: "",
                                                        event: "",
                                                        renderDuration: ""
                                                    };
                                                    t.ma_lAR(s), n.outstreamAdStatus = "started"
                                                } catch (e) {
                                                    e.code = "video-start-fail", e.environment = {
                                                        adunit: n.code
                                                    }, t.ma_lE(e)
                                                }
                                            }), g.ima.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED, function() {
                                                n.playerEvents.completed = t.timestamps.now(), o || setTimeout(function() {
                                                    t.un_dP(g), n.un_pVA(n.un_gVADU())
                                                }, 200)
                                            }), g.ima.addEventListener(google.ima.AdEvent.Type.AD_PROGRESS, t.throttle(function(e) {
                                                try {
                                                    const t = n.un_gAS(e, "currentTime");
                                                    n.currentTime = parseInt(t.currentTime), n.currentTime, n.outstreamAdStatus = "progress"
                                                } catch (e) {
                                                    e.code = "video-closetime-fail", e.environment = {
                                                        adunit: n.code
                                                    }, t.ma_lE(e)
                                                }
                                            }, 500))
                                        }), g.on("adserror", function(i) {
                                            try {
                                                n.playerEvents.adserror = t.timestamps.now(), t.warn("===> player ads error", "video", i);
                                                const r = i.data.AdError || i,
                                                    a = n.un_gAS(r, "errorCode");
                                                if (!a || 1009 !== a.errorCode && 303 !== a.errorCode) {
                                                    let i = {
                                                        code: "videojs_error",
                                                        adunit: n.code
                                                    };
                                                    i.environment = a ? {
                                                        errorCode: a.errorCode || null,
                                                        errorMessage: a.errorMessage || "",
                                                        errorType: a.type || ""
                                                    } : {
                                                        data: r
                                                    }, i.environment.adTagUrl = e, t.ma_lE(i)
                                                } else a && 303 === a.errorCode && t.ma_lE({
                                                    stream: "ad_render",
                                                    unit: n.code,
                                                    size: n.playerSize,
                                                    winner: "unfilled"
                                                });
                                                o || t.un_hOSE(g)
                                            } catch (e) {
                                                e.code = "video_adserror_exception", e.environment = {
                                                    adunit: n.code
                                                }, t.ma_lE(e)
                                            }
                                        })
                                    }
                                    return
                                }
                                s.videojs.script && s.videojs.object && s.videojs.css && s.imajs.object && s.videojsIMA.object && s.videojsIMA.css && s.videojsIMAAds.object && s.videojsIMAAds.css ? s.videojs.script && s.videojs.object : t.ma_lJ("//cdnjs.cloudflare.com/ajax/libs/video.js/7.16.0/video.min.js", !0, function() {
                                    s.videojsIMAAds.script ? s.videojsIMAAds.script && s.videojsIMAAds.object : t.ma_lJ("//googleads.github.io/videojs-ima/node_modules/videojs-contrib-ads/dist/videojs.ads.min.js"), s.videojsIMAAds.css || t.ma_lC("//googleads.github.io/videojs-ima/node_modules/videojs-contrib-ads/dist/videojs.ads.css"), s.videojsIMA.script ? s.videojsIMAAds.script && s.videojsIMA.object : t.ma_lJ("//googleads.github.io/videojs-ima/dist/videojs.ima.min.js"), s.videojsIMA.css || t.ma_lC("//googleads.github.io/videojs-ima/dist/videojs.ima.css")
                                }), s.videojs.css || t.ma_lC("//cdnjs.cloudflare.com/ajax/libs/video.js/7.16.0/video-js.min.css"), s.imajs.script ? s.imajs.script && s.imajs.object : t.ma_lJ("//imasdk.googleapis.com/js/sdkloader/ima3.js"), i < 60 && function(t, i) {
                                    setTimeout(function() {
                                        t.un_pVA(e, i)
                                    }, 500)
                                }(n, i + 1)
                            } catch (e) {
                                e.code = "videojs-exception", e.type = "catch", e.environment = {
                                    adunit: n.code
                                }, t.ma_lE(e)
                            }
                        }
                        un_aCB(e) {
                            let i = this.slot + "-close",
                                o = document.getElementById(i),
                                n = this.node.parentNode;
                            if (n = null !== n && "BODY" !== n.tagName && "video-container" == n.id ? this.node.parentNode : "", o) return void(o.style.display = "block");
                            this.closeNode = document.createElement("a"), this.closeNode.id = i, this.closeNode.appendChild(document.createTextNode("X"));
                            var r = {
                                backgroundColor: t.ma_hP("darktheme") ? "rgb(255 255 255 / 25%)" : "rgba(0,0,0)",
                                color: "#ffffff",
                                display: "block",
                                width: "15px",
                                textAlign: "center",
                                fontSize: "10px",
                                lineHeight: "15px",
                                fontFamily: "sans-serif",
                                position: "absolute",
                                right: "2px",
                                cursor: "pointer",
                                top: "-17px",
                                borderRadius: "25%"
                            };
                            for (let e in r) this.closeNode.style[e] = r[e];
                            e && this.node.firstElementChild ? this.node.firstElementChild.appendChild(this.closeNode) : this.node.appendChild(this.closeNode);
                            let a = this;
                            this.closeNode.addEventListener("click", e => {
                                a.onpage && t.ma_hP("instream") ? (window.removeEventListener("scroll", t.outstreamScrollListener), a.isClosed = !0, a.un_sOP(!0)) : (a.node.remove(), "" !== n && n.remove(), a.videoPlayer.dispose(), a.closeNode = null)
                            })
                        }
                        un_hCB() {
                            let e = this.slot + "-close",
                                t = document.getElementById(e);
                            return t ? void(t.style.display = "none") : void 0
                        }
                        un_rAL() {
                            let e = this.slot + "-av-logo",
                                t = document.getElementById(e);
                            return t ? void t.remove() : void 0
                        }
                        un_rCB() {
                            let e = this.slot + "-close",
                                t = document.getElementById(e);
                            return t ? void t.remove() : void 0
                        }
                        un_aAL(e) {
                            try {
                                let n = this.slot + "-av-logo",
                                    r = document.getElementById(n);
                                if (r) return void(r.style.display = "block");
                                this.advergicLogoNode = document.createElement("a"), this.advergicLogoNode.id = n, this.advergicLogoNode.href = "https://www.advergic.com", this.advergicLogoNode.target = "_blank", this.advergicLogo = document.createElement("img"), this.advergicLogo.setAttribute("src", t.ma_gC("av-ad-label-logo.svg")), this.advergicLogo.setAttribute("alt", "advergic.com");
                                var i = {
                                    margin: "0px",
                                    "box-shadow": "none",
                                    "border-radius": "0px",
                                    padding: "0px",
                                    width: "auto",
                                    "object-fit": "unset",
                                    border: "none"
                                };
                                this.advergicLogo.style.setProperty("height", "17px", "important");
                                for (let e in i) this.advergicLogo.style[e] = i[e];
                                this.advergicLogoNode.appendChild(this.advergicLogo);
                                var o = {
                                    padding: "0px 0px 0px 0px",
                                    position: "absolute",
                                    left: "0px",
                                    height: "17px",
                                    "font-size": "10px",
                                    "box-sizing": "content-box",
                                    "line-height": "11px",
                                    transition: "bottom 0.4s ease-in-out"
                                };
                                o.top = "outstream" == e ? "-15px" : "-17px";
                                for (let e in o) this.advergicLogoNode.style[e] = o[e];
                                e && this.node.firstElementChild ? this.node.firstElementChild.appendChild(this.advergicLogoNode) : this.node.appendChild(this.advergicLogoNode)
                            } catch (e) {
                                e.code = "ad_label_exception", e.environment = {
                                    adunit: this.code,
                                    slot: this.slot
                                }, t.ma_lE(e)
                            }
                        }
                        un_gLCU(e) {
                            let i = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                            var o = !0;
                            "" == (e = e || "unset") && (e = "unset");
                            var n = !1;
                            if (!n)
                                for (var r = 0; r < t.units.length; r++) {
                                    var a = window.adUnits[r];
                                    if ("unset" != e && (a.code == e || a.slot == e)) {
                                        n = a;
                                        break
                                    }
                                    if ("mobile" == a.device || a.code.toLowerCase().indexOf("mobile") >= 0)
                                        if (a.code.toLowerCase().indexOf("anchor") >= 0);
                                        else {
                                            if (!o) {
                                                n = a;
                                                break
                                            }
                                            o = !1
                                        }
                                }
                            if (!n) return !1;
                            n.children = n.children || [];
                            var s = {
                                useCachedBids: !0,
                                bids: n.bids,
                                code: n.code + "/" + (i || n.children.length),
                                sizes: n.sizes,
                                gptSlot: !1,
                                parent: n.code
                            };
                            return n.children.push(s.code), s
                        }
                        un_r(e) {
                            if (this.refreshDisabled) return this.code, !1;
                            e = e || "unset";
                            var i = this;
                            i.scrollsticky && i.un_sAC(i.node);
                            var o = t.auction.wrappers.prebid.pr_gB();
                            if (o && o.length > 0)
                                for (let e of o)
                                    if (e && e.adUnitCode === i.code && "1x1" !== i.renderSize && "0x0" !== i.renderSize && i.spotsticky && t.ma_sC(i.sizes, i.renderSize)) {
                                        var n = i.renderSize.split("x");
                                        i.un_sS(i.node, n)
                                    }
                            if (!t.google.go_iPR()) return i.code, setTimeout(function() {
                                i.un_r(e)
                            }, 1e4), !1;
                            i.code;
                            try {
                                i.code;
                                for (let e of ["av_pb", "av_refresh", "av_adid", "av_size", "avpv", "avssn", "av_pid", "av_bidder", "isInViewport"]) t.ma_sDTM("clear", e, null, i.un_gGS());
                                if (i.un_sK("av_refresh", e), i.un_sT(), i.displayed) {
                                    for (i.code, i.slot, i.node = window.top.document.getElementById(i.slot); i.node.hasChildNodes();) i.node.removeChild(i.node.lastChild);
                                    i.node.innerHTML = "\x3c!--refreshed unit[" + i.code + "] at time[" + t.timestamps.now() + "] --\x3e"
                                }
                                window.googletag.pubads().refresh([i.un_gGS()])
                            } catch (o) {
                                t.warn("failed to refresh unit[" + i.code + "].type[" + e + "]", "refresh", o)
                            }
                        }
                        un_rIV() {
                            this.displayed ? (this.node = this.node || document.getElementById(this.slot), this.viewedAt ? this.un_r("viewed-click") : !this.viewedAt && this.displayed && "" == this.node.innerHTML ? (this.code, this.un_r("removed-click")) : this.code) : this.code
                        }
                        un_sR() {
                            var e = this;
                            if (t.timestamps.now() < this.rendered + t.publisher.pu_gRT()) {
                                var i = 2e3;
                                this.rendered && (i = this.rendered + t.publisher.pu_gRT() + 1e3 - t.timestamps.now()), i < 1e3 && (i = 1e3), this.code, setTimeout(function() {
                                    e.un_sR()
                                }, i)
                            } else {
                                if (this.node = this.node || document.getElementById(this.slot), !this.node) return this.slot, this.code, !1;
                                var o = this.node.getBoundingClientRect(),
                                    n = 0;
                                if (o.top < 0 && o.top + o.height < 0 ? n = -1 * (o.top + o.height) : o.top > t.visitor.vi_gSH() && (n = o.top - t.visitor.vi_gSH()), t.visitor.vi_iA())
                                    if (!this.viewedAt || t.timestamps.now() - this.viewedAt < 1e4) {
                                        i = 2e3;
                                        this.viewedAt && (i = t.timestamps.now() - (this.viewedAt + 1e4)), i < 2e3 && (i = 2e3), this.code, this.viewedAt, setTimeout(function() {
                                            e.un_sR()
                                        }, i)
                                    } else n > t.publisher.refreshViewports * t.visitor.vi_gSH() && !this.un_iOOP() ? (this.code, t.publisher.refreshViewports, t.visitor.vi_gSH(), Math.abs(this.node.getBoundingClientRect().top), t.publisher.refreshViewports, setTimeout(function() {
                                        e.un_sR()
                                    }, 2e3)) : (this.code, this.viewedAt, e.un_r("smart"));
                                else setInterval(function() {
                                    this.code
                                }, 6e4), setTimeout(function() {
                                    e.un_sR()
                                }, 2e3)
                            }
                        }
                        un_dR() {
                            this.refreshDisabled = !0, this.code
                        }
                        un_d(e) {
                            if (e = e || "legacy", this.disabled = this.disabled || [], t.unitsDisabled = t.unitsDisabled || [], this.disabled.length < 1)
                                for (var i = t.units.length - 1; i >= 0; i--) {
                                    var o = t.units[i];
                                    if (o.code == this.code)
                                        if ("desktop-on-mobile" == e && (o.code.toLowerCase().indexOf("mobile") >= 0 || "mobile" == o.device));
                                        else if ("mobile-on-desktop" != e || !(o.code.toLowerCase().indexOf("desktop") >= 0 || "desktop" == o.device)) {
                                        this.code, o.device, t.unitsDisabled.push(this), t.units.splice(i, 1);
                                        break
                                    }
                                }
                            this.disabled.push(e)
                        }
                        un_iRTD() {
                            if (this.un_iOOP()) return !0;
                            if (t.publisher.pu_iLE() || this.lazy && t.publisher.lazyDepth >= 0) {
                                const e = this.getNode();
                                if (e && !t.ma_iNWLD(e)) return e.classList.add("av-lazy"), !1
                            }
                            return !0
                        }
                        un_dY() {
                            if (void 0 === this.slot || "" == this.slot) this.code;
                            else if (this.un_iDD()) this.code, this.slot;
                            else if (this.un_iR()) this.code, this.slot;
                            else if (this.un_iRTD()) {
                                if (this.node = document.getElementById(this.slot), this.getNode()) {
                                    let o = this.getNode();
                                    o.lazyLoaded && (this.lazyLoaded = !0, o.lazyLoaded = !1), o.classList.add("av-ads"), t.timestamps.now(), t.timestamps.started, this.slot, this.un_iDQ() || this.define(), t.google.enabledServices || (t.google.enabledServices = !0, window.googletag.cmd.push(function() {
                                        window.googletag.enableServices()
                                    }));
                                    var e = t.auction.wrappers.prebid.pr_gB();
                                    this.un_sT(), this.displayed = this.displayed || [], this.displayed.push(t.timestamps.now()), this.un_tR(), this.code, this.slot;
                                    var i = this;
                                    window.googletag.cmd.push(function() {
                                        i && i.spotsticky && (i.slot, i.un_sH(i.node)), i.un_c();
                                        var o = i.bids;
                                        try {
                                            if (e.length > 0)
                                                for (let n of e) {
                                                    let e = n.size.split("x");
                                                    for (let r of o)
                                                        for (let o of i.sizes) {
                                                            let a = o.toString().split(",");
                                                            r.bidder === n.bidderCode && i.code === n.adUnitCode && 2 === e.length && e[0] === a[0] && e[1] === a[1] && t.ma_iIV(i.slot) && (i.code, i.slot, window.googletag.display(i.slot))
                                                        }
                                                } else t.ma_iIV(i.slot) && (i.code, i.slot, window.googletag.display(i.slot))
                                        } catch (e) {
                                            t.warn(" ! failed to set HB targeting for unit[" + i.code + "]", "unit", e)
                                        }
                                        t.google.disabledInitialLoad && (i.code, i.slot, window.googletag.pubads().refresh([i.googleSlot]), i.un_sK("isInViewport", t.ma_iIV(i.slot)))
                                    })
                                } else if (this.code, this.slot, "interactive" == document.readyState || "complete" == document.readyState) this.divMissing = t.timestamps.now();
                                else {
                                    let e = this;
                                    t.que3.push(() => {
                                        window.setTimeout(() => {
                                            e.un_dY()
                                        }, 50)
                                    }, "que3MissingEligibleUnits")
                                }
                                this.un_tV()
                            } else this.code, this.slot
                        }
                        un_dOOP() {
                            if (this.un_iDD()) this.code, this.slot;
                            else {
                                t.google.enabledServices || (t.google.enabledServices = !0, window.googletag.cmd.push(function() {
                                    window.googletag.enableServices()
                                })), this.un_sT(), this.displayed = this.displayed || [], this.displayed.push(t.timestamps.now()), this.un_tR();
                                var e = this;
                                window.googletag.cmd.push(t.ma_tCH(function() {
                                    window.googletag.display(e.googleSlot), e.googleSlot ? t.google.disabledInitialLoad && window.googletag.pubads().refresh([e.googleSlot]) : e.un_d("gpt-disabled")
                                }, "gpt_unit_display_out_of_page")), e.un_tV()
                            }
                        }
                        toString() {
                            return this.code
                        }
                        un_c() {
                            let e = this.getNode();
                            t.ma_hP("unitCenter") && !this.un_iOOP() && e && (e.style.textAlign = "center", e.style.justifyItems = "center")
                        }
                        deload() {
                            try {
                                let n = this.getNode();
                                if (n) {
                                    n.innerHTML = "", n.id = "", this.node = null, this.deloaded = t.timestamps.now();
                                    var e = n.classList;
                                    e.remove("av-ad"), e.remove("av-ads"), e.remove("lazy-unit"), e.add("av-lazy")
                                }
                                var o = this.un_gGS();
                                o && window.googletag.cmd.push(function() {
                                    i.destroySlots([o])
                                })
                            } catch (e) {
                                e.code = "av-unit-deload", e.environment = {
                                    adunit: this.code
                                }, t.warn(e)
                            }
                        }
                        un_dOP() {
                            const e = this.un_gT();
                            if (window.av) {
                                const t = window.av.dSlots;
                                if (t && t.length && e.some(e => t.indexOf(e) >= 0)) return this.un_d("onpage-disabled"), void(this.isdSlot = !0)
                            }
                        }
                        un_gSC() {
                            if (arguments.length > 0 && void 0 !== arguments[0] && arguments[0]) {
                                return this.code.split("/").filter(function(e) {
                                    return e
                                }).slice(-2).join("/")
                            }
                            return this.baseCode.split("/").filter(function(e) {
                                return e
                            }).pop()
                        }
                        un_sH(e) {
                            if (null !== e) {
                                e.id;
                                let t = document.createElement("div");
                                t.className = "wrapperStickyContainerAU", t.style.margin = "0 auto";
                                let i = document.createElement("div");
                                i.className = "spotDivAU", i.style.setProperty("position", "sticky", "important"), i.style.setProperty("top", "60px", "important"), e.parentNode.insertBefore(i, e), i.appendChild(e), i.parentNode.insertBefore(t, i), t.appendChild(i)
                            }
                        }
                        un_sS(e, i) {
                            if (null !== e) {
                                let r = e.parentNode,
                                    a = r.parentNode;
                                if ("none" !== e.style.display) {
                                    if (e.id, a.classList.contains("wrapperStickyContainerAU")) {
                                        r.style.setProperty("position", "sticky", "important"), r.style.setProperty("top", "60px", "important");
                                        let e = "string" == typeof i[1] ? parseInt(i[1]) : i[1],
                                            s = "string" == typeof i[0] ? parseInt(i[0]) : i[0];
                                        if (1 === e || 1 === s) {
                                            var o = t.auction.wrappers.prebid.pr_gB();
                                            if (o && o.length > 0)
                                                for (let i of o)
                                                    if (i && i.adUnitCode === this.code && t.ma_sC(this.sizes, i.size)) {
                                                        var n = i.size.split("x");
                                                        e = n[1], s = n[0]
                                                    }
                                        }
                                        a.style.height = e + 200 + "px", a.style.width = s + "px", a.style.backgroundColor = t.ma_hP("darktheme") ? "#161616" : "#f1f1f1", a.style.padding = "0px"
                                    }
                                    r.classList.contains("spotDivAU")
                                }
                            } else e.id
                        }
                        un_sAC(e) {
                            if (this.scrollsticky) {
                                const t = document.getElementById(e);
                                if (!t) return;
                                t._scrollHandler && (window.removeEventListener("scroll", t._scrollHandler), delete t._scrollHandler), t._placeholder && t._placeholder.parentNode && (t._placeholder.parentNode.removeChild(t._placeholder), delete t._placeholder), t.style.position = "", t.style.top = "", t.style.left = "", t.style.right = "", t.style.zIndex = "", t.style.background = "", delete t.dataset.stickyInit
                            }
                            if (this.spotsticky) {
                                let t = e.parentNode.parentNode;
                                null !== e && t.classList.contains("wrapperStickyContainerAU") && "none" === e.style.display && (e.id, t.style.display = "none")
                            }
                        }
                        un_sOP(e) {
                            let i = t.publisher.outstreamPosition,
                                o = this.node.parentNode;
                            o = null !== o && "BODY" !== o.tagName && "video-container" == o.id ? this.node.parentNode : "";
                            let n = "" !== o ? t.ma_iIV(this.node.parentNode) : t.ma_iIV(this.node);
                            var r = t.google.outstream.node;
                            if (r) {
                                var a = {};
                                if ((n && this.onpage || e || this.isClosed) && t.ma_hP("instream")) o && "" !== o && (o.style.height = "", o.style.width = "", o.style.minHeight = "", o.style.zIndex = "-1"), this.code, this.slot, (a = {
                                    position: "relative",
                                    top: "auto",
                                    bottom: "auto",
                                    right: "auto",
                                    left: "auto"
                                }).height = this.playerSize.height + "px", a.width = this.playerSize.width + "px", this.un_hCB("outstream");
                                else {
                                    if (o && this.onpage) {
                                        var s = o.getBoundingClientRect();
                                        o.style.minHeight && "" !== o.style.minHeight || (o.style.minHeight = s.height + "px", o.style.width = s.width + "px")
                                    }
                                    this.code, this.slot, a = {
                                        position: "fixed",
                                        "text-align": "center",
                                        margin: "0 auto",
                                        zIndex: "3275632190",
                                        transition: `${i} 0.75s`
                                    };
                                    let e = t.visitor.vi_gSH(),
                                        n = t.units.filter(e => "anchor-bottom" === e.autozone || "gpt-anchor-bottom" === e.avformat);
                                    if (0 === n.length && (n = t.ma_fOPA("bottom")), n.length && t.ma_iIV(n[0].node) && !t.ma_iH(n[0].node)) {
                                        let t = n[0].node.getBoundingClientRect(),
                                            o = t.bottom < e ? e - parseInt(t.bottom) : 0;
                                        document.body.contains(n[0].node) ? a[`${i}`] = o + n[0].node.offsetHeight + 30 + "px" : a[`${i}`] = "20px"
                                    } else n.length && "gpt-anchor-bottom" === n[0].avformat ? a[`${i}`] = (1 === t.publisher.outstreamMarginBottom ? 120 : t.publisher.outstreamMarginBottom) + "px" : a[`${i}`] = "20px";
                                    a.right = "10px", a.height = this.playerSize.stickyHeight + "px", a.width = this.playerSize.stickyWidth + "px"
                                }
                                for (var d in a) r.style[d] = a[d]
                            } else this.slot
                        }
                        un_iP() {
                            if (void 0 === this.parallax || !this.parallax) return !1;
                            try {
                                if (this.parallax) {
                                    this.node = this.node || document.getElementById(this.slot);
                                    let e = 0;
                                    return window.googletag.cmd.push(function() {
                                        window.googletag.pubads().addEventListener("slotRenderEnded", t.ma_tCH(function(i) {
                                            const o = t.ma_gU(i.slot.getAdUnitPath());
                                            if (o && o.parallax) {
                                                const i = o.node;
                                                if (0 === i.childNodes.length) return;
                                                let n = 1;
                                                i.childNodes[1].nodeType === Node.COMMENT_NODE && n++;
                                                let r = i.childNodes[n].offsetWidth,
                                                    a = i.childNodes[n].offsetHeight;
                                                if (r === i.offsetWidth && i.childNodes[n].childNodes.length > 0 && (r = i.childNodes[n].childNodes[0].offsetWidth, a = i.childNodes[n].childNodes[0].offsetHeight), o.parallax && 600 === a) {
                                                    i.childNodes[n].classList.add("av-prlx-" + o.slot);
                                                    const r = document.getElementsByClassName("av-prlx-" + o.slot);
                                                    for (const e of r) e.style.transform = "translateY(0)", e.style.transition = "transform 0.3s ease-out";
                                                    i.style.minHeight = "250px", i.style.overflow = "hidden", i.style.setProperty("height", "420px", "important");
                                                    const a = () => {
                                                        for (const i of r)
                                                            if (t.ma_iIV(i)) {
                                                                const t = i.getBoundingClientRect(),
                                                                    o = t.top + window.scrollY - t.height,
                                                                    n = Math.max(0, window.scrollY || window.pageYOffset) - o;
                                                                if (e = Math.max(e, n), n <= 800) {
                                                                    const e = -.3 * n;
                                                                    i.style.transform = `translateY(${e}px)`
                                                                } else {
                                                                    const e = -240;
                                                                    i.style.transform = `translateY(${e}px)`
                                                                }
                                                            }
                                                        requestAnimationFrame(a)
                                                    };
                                                    window.addEventListener("scroll", a)
                                                }
                                            }
                                        }, "parallax-failed-render"))
                                    }), !0
                                }
                            } catch (e) {
                                t.warn("parallax failed to build", e)
                            }
                            return !1
                        }
                    }
                },
                3852(e) {
                    const t = window.av;
                    e.exports = new class {
                        constructor(e) {
                            for (var i in e = e || {}) this[i] = e[i];
                            return this.active = !0, t.timestamps.lastUserAction = t.timestamps.lastUserActionCode || t.timestamps.now(), window.addEventListener("scroll", function(e) {
                                t.visitor.active || t.auction && t.auction.au_rA(), t.visitor.active = !0, t.timestamps.lastUserAction = t.timestamps.now()
                            }), this.geoCallbacks = [], this.scrollDirection = "down", this.ipURI = "https://tap.avads.live/ip", this.fallbackURI = "https://an.avads.live/ip", this
                        }
                        vi_iT() {
                            this.mobile = this.vi_dM(), this.vi_dDS(), this.geo = this.geo || {}, t.get("av_geo") ? this.geo.country = t.get("av_geo") : this.vi_lS("geo") ? this.geo = this.vi_lS("geo") : this.vi_c("av_geo") ? this.geo = JSON.parse(this.vi_c("av_geo")) : t.visitor.vi_gG()
                        }
                        vi_dDS() {
                            this.vi_iM() ? this.xhrTimeout = 8e3 : this.xhrTimeout = 4e3
                        }
                        vi_uS() {
                            return "https:" === document.location.protocol
                        }
                        vi_gSD() {
                            this.lastScrollHeight = this.lastScrollHeight || 0;
                            var e = window.pageYOffset || (document.documentElement || document.body.parentNode || document.body).scrollTop || !1;
                            return e >= this.lastScrollHeight ? this.scrollDirection = "down" : this.scrollDirection = "up", this.lastScrollHeight = e, e
                        }
                        vi_sLS() {
                            return this.vi_lS("test", 1), t.visitor.localStorageSupported
                        }
                        vi_sSS() {
                            try {
                                var e = window.sessionStorage;
                                return e.setItem("av_test", "test"), e.removeItem("av_test"), !0
                            } catch (e) {
                                return !1
                            }
                        }
                        vi_lPV(e, i) {
                            t.ma_gWV(), t.visitor.pageviewId = t.visitor.pageviewId || t.uuid4();
                            var o = {
                                id: t.uuid4(),
                                stream: "pageviews"
                            };
                            o.stage = e || "unset", o.environment = o.environment || {};
                            try {
                                const e = window.performance;
                                if (e) {
                                    if (t.timestamps.timeOrigin = window.performance.timeOrigin, e.timing) {
                                        const i = e.timing;
                                        t.timestamps.domComplete = i.domComplete - e.timeOrigin, t.timestamps.domInteractive = i.domInteractive - e.timeOrigin
                                    } else {
                                        const i = e.getEntriesByType("navigation");
                                        if (i && i.length > 0) {
                                            const e = i[0];
                                            t.timestamps.domComplete = e.domComplete, t.timestamps.domInteractive = e.domInteractive
                                        }
                                    }
                                    if ("afterInit" == o.stage && document.currentScript && document.currentScript.src) {
                                        const e = document.currentScript.src.includes("avads.live") ? "avads.live" : document.currentScript.src;
                                        t.ma_gES(e, "av_script_performance")
                                    }
                                }
                            } catch (e) {
                                e.code = "performance_time_failure", t.ma_lE(e)
                            }
                            return o.timeOrigin = t.timestamps.timeOrigin || -1, o.domComplete = t.timestamps.domComplete > 0 ? t.timestamps.domComplete - t.timestamps.timeOrigin : -1, o.domInteractive = t.timestamps.domInteractive > 0 ? t.timestamps.domInteractive - t.timestamps.timeOrigin : -1, o.cwvFcp = t.webVitals.FCP ? t.webVitals.FCP : -1, o.cwvFid = t.webVitals.FID ? t.webVitals.FID : -1, o.cwvLcp = t.webVitals.LCP ? t.webVitals.LCP : -1, o.cwvCls = t.webVitals.CLS ? t.webVitals.CLS : -1, o.firstAdRequest = t.timestamps.firstAdRequest > 0 && t.timestamps.timeOrigin > 0 ? Math.ceil(t.timestamps.firstAdRequest - t.timestamps.timeOrigin) : -1, o.firstAdRender = t.timestamps.firstAdRender > 0 && t.timestamps.timeOrigin > 0 ? Math.ceil(t.timestamps.firstAdRender - t.timestamps.timeOrigin) : -1, t.timestamps.firstReqTime = o.firstAdRequest, t.timestamps.firstRenderTime = o.firstAdRender, t.ma_lE(o, i), t.visitor.pageviewId
                        }
                        vi_lSR(e) {
                            try {
                                return window.localStorage.removeItem(e), !0
                            } catch (e) {
                                return !1
                            }
                        }
                        vi_lS(e, i, o, n) {
                            if (void 0 !== i) try {
                                var r = {
                                    value: i,
                                    avw: 1
                                };
                                return o > 0 ? r.ttl = t.timestamps.now() + 24 * o * 60 * 60 * 1e3 : n && (r.ttl = n), window.localStorage.setItem(e, JSON.stringify(r)), t.visitor.localStorageSupported = !0, i
                            } catch (e) {
                                return t.visitor.localStorageSupported = !1, !1
                            } else try {
                                var a = window.localStorage.getItem(e);
                                if (a || ("av_" != e.substr(0, 3) && (e = "av_" + e), a = window.localStorage.getItem(e)), a) try {
                                    var s = JSON.parse(a);
                                    return s && s.avw && s.ttl && s.ttl < t.timestamps.now() ? (window.localStorage.removeItem(e), !1) : (t.visitor.localStorageSupported = !0, s.value && s.avw ? s.value : s)
                                } catch (i) {
                                    if (!(i instanceof SyntaxError)) throw i;
                                    i.code = "json-parse-error", i.type = "catch", i.environment = {
                                        key: e,
                                        message: "string" == typeof a ? a : String(a)
                                    }, t.warn(i)
                                }
                            } catch (e) {
                                return !1
                            }
                            return !1
                        }
                        vi_dLS() {
                            for (var e = 0; e < localStorage.length; e++) console.log(localStorage.key(e) + "=[" + localStorage.getItem(localStorage.key(e)) + "]")
                        }
                        vi_dM() {
                            var e = ["isMobileDevice", "isMobile", "pageMobile", "pageIsMobile", "mobile"];
                            for (var t in e) {
                                var i = e[t];
                                if ("function" == typeof window[i]) return window[i]();
                                if ("boolean" == typeof window[i]) return window[i]
                            }
                            if (window.innerWidth && window.innerWidth <= 480) return !0;
                            var o, n = !1;
                            return o = navigator.userAgent || navigator.vendor || window.opera, (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(o) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(o.substr(0, 4))) && (n = !0), n
                        }
                        vi_iM() {
                            return void 0 !== this.mobile || (this.mobile = this.vi_dM()), this.mobile
                        }
                        vi_aABG(e, t) {
                            if (!e || !t) throw new Error("Both userId and experimentId are required.");
                            return fnv1a(`${e}:${t}`) % 100 < 50 ? "A" : "B"
                        }
                        vi_gCT() {
                            const e = navigator.connection || navigator.mozConnection || navigator.webkitConnection || {};
                            switch (e.effectiveType || e.type || "") {
                                case "ethernet":
                                    return 1;
                                case "wifi":
                                case "wimax":
                                    return 2;
                                case "slow-2g":
                                case "2g":
                                    return 4;
                                case "3g":
                                    return 5;
                                case "4g":
                                case "LTE":
                                    return 6;
                                case "5g":
                                    return 7;
                                default:
                                    return 3
                            }
                        }
                        vi_iGDOCP(e) {
                            return t.visitor.gDisable ? t.visitor.gDisable : e ? (t.visitor.gDisable = e, t.visitor.gDisable) : 0
                        }
                        vi_gIABDT() {
                            const e = navigator.userAgent || "";
                            return /Amino|MAG\d+|Arris|Pace|Technicolor|CiscoIPTV|ADB|STB|SetTopBox|NetCast/i.test(e) ? 7 : /SmartTV|SMART-TV|HbbTV|GoogleTV|AppleTV|Roku|Viera|Web0S|WebOS|Tizen|NetTV|TV|DTV/i.test(e) ? 3 : /BrightSign|AOPEN|Scala|Broadsign|Navori|Signage|Kiosk/i.test(e) ? 8 : /PlayStation|Xbox|Nintendo|CrKey|Chromecast|Fire TV/i.test(e) ? 6 : /Android|Silk/i.test(e) && !/Mobile/i.test(e) || /ipad|android 3.0|xoom|sch-i800|playbook|tablet|kindle/i.test(e) ? 5 : /iPhone|ipod|Android.*Mobile|BlackBerry|Opera Mini|Opera Mobi|IEMobile|Windows Phone|windows\sce|smartphone|palm|Mobile/i.test(e) ? 4 : /Android|iPhone|iPad|Mobile|Tablet|Silk/i.test(e) ? 1 : (/Windows NT|Macintosh|Mac OS X|X11|Linux x86_64|Linux i686|CrOS/i.test(e), 2)
                        }
                        vi_gDT() {
                            t.visitor.vi_gIABDT();
                            return "PC"
                        }
                        vi_gIA() {
                            return t.visitor.vi_c("av_ip") || "??"
                        }
                        vi_uGL() {
                            t.warn("clearing geo cookies and localStorage");
                            try {
                                t.visitor.vi_sLS() && window.localStorage.removeItem("av_geo")
                            } catch (e) {
                                t.warn("localstorage error", "visitor", e)
                            }
                            t.visitor.vi_dC("geo"), t.visitor.geo = !1
                        }
                        vi_gPS() {
                            const e = t.visitor.vi_gIA(),
                                i = window.location.href,
                                o = window.location.hostname,
                                n = navigator.userAgent,
                                r = {
                                    8: t.ma_eUC(i),
                                    9: t.ma_eUC(o),
                                    12: t.ma_eUC(n)
                                };
                            e && "??" !== e && (r[10] = t.ma_eUC(e));
                            const a = Object.keys(r).map(e => e + "=" + r[e]).join("&");
                            return btoa(a)
                        }
                        vi_gG(e, i) {
                            if (t.visitor.vi_lS("geo") && "??" !== t.visitor.vi_lS("geo").country) return this.geo = t.visitor.vi_lS("geo"), this.geo;
                            if ("exempt" == t.publisher.cmp && t.publisher.traffiqlyTP >= 1) {
                                if (!this.geo || !this.geo.country || "??" == this.geo.country || "??" == this.vi_gIA()) {
                                    let o = e || {};
                                    this.geo = this.geo || {}, this.geo = o, this.geo.country = this.geo.country || "??", o.country && (t.visitor.geo = {
                                        country: o.country,
                                        region: o.region,
                                        ip: i,
                                        city: o.city,
                                        timezone: o.timezone,
                                        eu: o.eu,
                                        lat: o.ll && o.ll[0] || null,
                                        lon: o.ll && o.ll[1] || null,
                                        metro: o.metro || "unknown",
                                        accuracy: o.accuracy || null,
                                        asn: o.asn || "unknown",
                                        provider: o.provider || "unknown",
                                        zip: o.zip || null
                                    }, t.visitor.vi_lS("geo", t.visitor.geo), t.visitor.vi_c("av_geo", JSON.stringify(t.visitor.geo)), t.visitor.vi_c("custom_timeout", o.custom_timeout, 30), t.visitor.vi_c("av_ip", i, 30), t.visitor.vi_c("av_ip") && "" != t.visitor.vi_c("av_ip") && i != t.visitor.vi_c("av_ip") && t.visitor.vi_c("av_ip_mod", 1, 30))
                                }
                                return t.visitor.geo
                            }
                        }
                        vi_gL(e) {
                            return e && t.que9.push(e), this.geo && this.geo.country && "??" != this.geo.country && "??" != this.vi_gIA() ? "??" === t.visitor.geo.country || t.visitor.geolocated || (t.visitor.geolocated = !0, t.que9.xq()) : (this.geo = this.geo || {}, this.geo.country = this.geo.country || "??", t.visitor.geolocating || (t.visitor.geolocating = !0, fetch(this.ipURI, {
                                mode: "cors",
                                headers: {
                                    "Content-Type": "text/plain;charset=UTF-8"
                                }
                            }).then(e => e.json()).then(e => {
                                t.visitor.vi_c("preconnecting", t.reconnecting, 1), t.visitor.vi_c("geo_response_time", t.timestamps.now() - t.visitor.geoXhrStart, 1), e.country ? (t.visitor.geolocating = !1, t.visitor.geo = {
                                    country: e.country,
                                    region: e.region,
                                    ip: e.ip,
                                    city: e.city,
                                    timezone: e.timezone,
                                    asn: e.asn || "unknown",
                                    lon: e.ll[0] || null,
                                    lat: e.ll[1] || null,
                                    metro: e.metro || "unknown",
                                    provider: e.provider || "unknown"
                                }, t.visitor.vi_lS("geo", t.visitor.geo), t.visitor.vi_c("av_geo", JSON.stringify(t.visitor.geo)), t.visitor.vi_c("custom_timeout", e.custom_timeout, 30), t.visitor.vi_c("av_ip", e.ip, 30), t.visitor.vi_c("av_ip") && "" != t.visitor.vi_c("av_ip") && e.ip != t.visitor.vi_c("av_ip") && t.visitor.vi_c("av_ip_mod", 1, 30), "??" !== t.visitor.geo.country && (t.visitor.geolocated = !0, t.que9.xq())) : (t.visitor.geoRetries = t.visitor.geoRetries || 0, t.visitor.geoRetries++, t.warn("geolocation request failed"), t.visitor.geolocating = !1, t.visitor.geoRetries < 5 ? (t.warn(" + retrying[" + (5 - t.visitor.geoRetries) + "]"), this.ipURI = this.fallbackURI, t.visitor.vi_gL()) : t.warn(" ! abandoning", "visitor"))
                            }))), t.visitor.geo
                        }
                        vi_iNS() {
                            return 1 === t.visitor.vi_gSDH()
                        }
                        vi_gSI() {
                            return t.visitor.sessionId = t.visitor.sessionId || t.visitor.vi_s("sessionId") || t.uuid4(), t.visitor.sessionId
                        }
                        vi_s(e, i, o) {
                            if (void 0 === i) return (i = t.visitor.vi_c("av_" + e)) || (i = t.visitor.vi_c(e)) ? i : (i = t.visitor.vi_lS(e)) || !1;
                            t.visitor.vi_c(e, i, o), t.visitor.vi_lS(e, i, o)
                        }
                        vi_gSDH() {
                            if (!t.visitor.sessionDepth) {
                                var e = t.visitor.vi_s("session_depth");
                                e && (e = Number(e)), isNaN(e) && (e = 0), e++, t.visitor.vi_s("session_depth", e, t.publisher.sessionDuration), t.visitor.sessionDepth = e
                            }
                            return t.visitor.sessionDepth
                        }
                        vi_r() {
                            t.warn("reseting user tracking"), t.visitor.vi_uGL(), t.visitor.vi_dC("cookie1"), t.visitor.vi_dC("sessionId");
                            try {
                                for (const [e, i] of Object.entries(this.vi_gC())) e.startsWith("av_") && t.visitor.vi_dC(e);
                                for (let e in localStorage) e.startsWith("av_") && (localStorage[e], window.localStorage.removeItem(e))
                            } catch (e) {
                                t.warn("failed to removed cookies/localstorage starts with av_")
                            }
                            try {
                                window.localStorage.removeItem("cookie1"), window.localStorage.removeItem("sessionId")
                            } catch (e) {
                                t.warn("failed to reset user tracking")
                            }
                        }
                        vi_t() {
                            t.cmp ? t.cmp.trackable() && (t.visitor.tracked || (t.visitor.tracked = !0, t.visitor.vi_s("cookie1", t.visitor.vi_gUI(), 365), t.visitor.vi_s("sessionId", t.visitor.vi_gSI(), t.publisher.sessionDuration), t.visitor.vi_gSDH())) : t.warn("cmp does not exist")
                        }
                        vi_gUI() {
                            return t.visitor.userId = t.visitor.userId || t.visitor.vi_s("cookie1") || t.uuid4(), t.visitor.userId
                        }
                        vi_gC() {
                            for (var e = {}, t = document.cookie.split(";"), i = 0; i < t.length; i++) {
                                var o = !1,
                                    n = !1,
                                    r = t[i].split("=");
                                r && ((o = r[0]) && (o = o.trim()), (n = r[1]) && (n = n.trim())), e[o] = n
                            }
                            return e
                        }
                        vi_iA(e) {
                            return e = e || 180, t.timestamps = t.timestamps || {}, t.timestamps.now() - t.timestamps.start < 1e3 * e || (t.timestamps.lastUserAction = t.timestamps.lastUserAction || t.timestamps.now(), t.timestamps.now() - t.timestamps.lastUserAction < 1e3 * e || (this.active = !1, !1))
                        }
                        vi_hB() {
                            if (this.beacon || t.visitor.vi_s("av_beacon")) return !0;
                            if (window.navigator && navigator.sendBeacon) try {
                                const e = (t.adcogni || t.publisher || window.avGamNetwork).endpointUrl;
                                return navigator.sendBeacon(e, "{test}"), this.beacon = !0, t.visitor.vi_s("av_beacon", 1, 30), !0
                            } catch (e) {}
                            return !1
                        }
                        vi_hAB() {
                            void 0 === this.adBlocked && (this.adBlocked = null, t.que3.push(function() {
                                window.av.que2.push(function() {
                                    window.av.que6.xq()
                                }, "que6Execute")
                            }, "afterQue3"))
                        }
                        vi_gSW() {
                            var e = window.win || window._win || window,
                                t = e.document || document;
                            return e.innerWidth ? e.innerWidth : t.body && t.body.clientWidth ? t.body.clientWidth : t.documentElement && t.documentElement.clientWidth ? t.documentElement.clientWidth : 0
                        }
                        vi_gSH() {
                            var e = window.win || window._win || window,
                                t = e.document || document;
                            return e.innerHeight ? e.innerHeight : t.body && t.body.clientHeight ? t.body.clientHeight : t.documentElement && t.documentElement.clientHeight ? t.documentElement.clientHeight : 0
                        }
                        vi_rCK(e) {
                            return e.startsWith("av_") || -1 !== ["euconsent", "euconsent-v2", "av"].indexOf(e) ? e : "av_" + (e = (e = e.split("-").join("_")).split(/(?=[A-Z])/).join("_").toLowerCase())
                        }
                        vi_c(e, i, o, n, r) {
                            var a = t.visitor.vi_rCK(e);
                            if (i || "" == i) {
                                var s;
                                const t = null != r && "none" === r.toLowerCase();
                                if (o) {
                                    var d = new Date;
                                    d.setTime(d.getTime() + 24 * o * 60 * 60 * 1e3), s = "; expires=" + d.toGMTString()
                                } else if (n) {
                                    s = "; expires=" + new Date(n).toGMTString()
                                } else s = "";
                                let c = a + "=" + i + s + "; path=/";
                                return r && (c += "; SameSite=" + (t ? "None" : r)), a !== e && ((d = new Date).setTime(d.getTime() + -864e5), s = "; expires=" + d.toGMTString(), document.cookie = e + "=" + s + "; path=/"), document.cookie = c, !0
                            }
                            for (var c = a + "=", l = document.cookie.split(";"), u = 0; u < l.length; u++) {
                                for (var g = l[u];
                                    " " === g.charAt(0);) g = g.substring(1, g.length);
                                if (0 === g.indexOf(c)) return g.substring(c.length, g.length)
                            }
                            if (a !== e)
                                for (c = e + "=", u = 0; u < l.length; u++) {
                                    for (g = l[u];
                                        " " === g.charAt(0);) g = g.substring(1, g.length);
                                    if (0 === g.indexOf(c)) return g.substring(c.length, g.length)
                                }
                            return !1
                        }
                        vi_gIDBP() {
                            return t.visitor.iDBP || (t.visitor.iDBP = new Promise((e, i) => {
                                const o = indexedDB.open("av", 1);
                                o.onupgradeneeded = e => {
                                    const t = e.target.result;
                                    t.objectStoreNames.contains("visitors") || t.createObjectStore("visitors")
                                }, o.onsuccess = t => e(t.target.result), o.onerror = e => {
                                    t.visitor.iDBP = null, i(e.target.error)
                                }
                            })), t.visitor.iDBP
                        }
                        vi_iDB(e, i) {
                            return t.visitor.vi_gIDBP().then(t => new Promise(void 0 === i ? (i, o) => {
                                const n = t.transaction("visitors", "readonly").objectStore("visitors").get(e);
                                n.onsuccess = () => i(n.result ? ? !1), n.onerror = e => o(e.target.error)
                            } : (o, n) => {
                                const r = t.transaction("visitors", "readwrite"),
                                    a = r.objectStore("visitors"),
                                    s = a.get(e);
                                s.onsuccess = () => {
                                    void 0 === s.result ? a.put(i, e) : o(!1)
                                }, r.oncomplete = () => o(!0), r.onerror = e => n(e.target.error)
                            }))
                        }
                        vi_cEAS(e, i, o, n) {
                            const r = Date.now();
                            let a = t.visitor.vi_s(e);
                            if (Array.isArray(a) || (a = a ? [Number(a)] : []), a = a.filter(e => r - e < 1e3 * i), 0 === a.length) return !0;
                            if (!t.google.schedulingFlag) {
                                t.google.schedulingFlag = !0;
                                const e = Math.max(...a),
                                    s = Math.max(0, 1e3 * i - (r - e));
                                Math.round(s / 1e3), setTimeout(() => {
                                    t.google.schedulingFlag = !1, "interstitial" === o ? t.google.go_cI(n) : "overlay" === o && t.google.go_cCOL(n)
                                }, s)
                            }
                            return !1
                        }
                        vi_sync(e, i) {
                            let o = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 365;
                            return t.visitor.vi_c(e, i, o), t.visitor.vi_lS(e, i, o), t.visitor.vi_gIDBP().then(t => new Promise((o, n) => {
                                const r = t.transaction("visitors", "readwrite");
                                r.objectStore("visitors").put(i, e), r.oncomplete = () => o(!0), r.onerror = e => n(e.target.error)
                            }))
                        }
                        vi_sAID(e) {
                            const i = t.visitor.vi_c("advid"),
                                o = t.visitor.vi_lS("advid"),
                                n = i || o;
                            n ? this.vi_sync("advid", n) : t.visitor.vi_gIDBP().then(e => new Promise((t, i) => {
                                const o = e.transaction("visitors", "readonly").objectStore("visitors").get("advid");
                                o.onsuccess = () => t(o.result ? ? null), o.onerror = e => i(e.target.error)
                            })).then(t => {
                                t ? this.vi_sync("advid", t) : this.vi_sync("advid", e)
                            }).catch(i => {
                                t.warn("idb check failed in vi_sAID, falling back to cookie and ls", i), t.visitor.vi_c("advid", e, 365), t.visitor.vi_lS("advid", e, 365)
                            })
                        }
                        vi_iEC(e) {
                            return ["BE", "BG", "CZ", "DK", "DE", "EE", "IE", "GR", "EL", "ES", "FR", "HR", "IT", "CY", "LV", "LT", "LU", "HU", "MT", "NL", "AT", "PL", "PT", "RO", "SI", "SK", "FI", "SE"].indexOf(e) >= 0
                        }
                        vi_gUO() {
                            try {
                                return Number((new Date).toString().match(/([-\+][0-9]+)\s/)[1])
                            } catch (e) {
                                const t = (new Date).getTimezoneOffset();
                                return -(100 * Math.floor(t / 60) + t % 60)
                            }
                        }
                        vi_hBT() {
                            try {
                                if (this.vi_gUO() > -200 || this.vi_gUO() < -500) return !1
                            } catch (e) {}
                            return !0
                        }
                        vi_hET() {
                            try {
                                if (this.vi_gUO() < 0 || this.vi_gUO() > 400) return !1
                            } catch (e) {}
                            return !0
                        }
                        vi_hUG() {
                            let e = t.visitor.geo.country || "??";
                            return [!1, null, "", "??", "-", "--"].indexOf(e) >= 0
                        }
                        vi_nCWG() {
                            let e = t.visitor.geo.country || "??";
                            return !t.get("avcmp") && (!this.vi_hET() || !this.vi_hUG() && !this.vi_iEC(e))
                        }
                        vi_hEL() {
                            var e = navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage;
                            return !!["bg", "hr", "cs", "da", "nl", "nl-be", "en-ie", "et", "fi", "fr", "fr-be", "fr-fr", "fr-lu", "fr-mc", "fr-ch", "gd", "gd-ie", "de", "de-at", "de-de", "de-li", "de-lu", "de-ch", "el", "hu", "ga", "it", "it-ch", "lv", "lt", "lb", "mt", "pl", "pt", "ro", "sk", "sl", "es", "sv", "sv-fi", "sv-sv"].includes(e)
                        }
                        vi_dC(e) {
                            return this.vi_c(e, "", -1)
                        }
                        vi_iCB() {
                            var e = window.chrome,
                                t = window.navigator,
                                i = t.vendor,
                                o = void 0 !== window.opr,
                                n = t.userAgent.indexOf("Edg") > -1;
                            return !!t.userAgent.match("CriOS") || null != e && "Google Inc." === i && !1 === o && !1 === n
                        }
                        vi_gVS() {
                            var e = !("undefined" == typeof videojs || !videojs.browser || !videojs.options),
                                i = 0,
                                o = null;
                            return o = e ? (i = parseInt(videojs.VERSION.split(".")[0])) <= 5 ? videojs.plugin : videojs.getPlugin : function() {
                                return !1
                            }, {
                                videojs: {
                                    script: t.ma_iSID(["/video.js", "/video.min.js", "/video-js"]),
                                    object: e,
                                    css: t.ma_iSID(["videojs.css", "videojs.min.css", "video-js.css", "video-js.min.css"], "link")
                                },
                                imajs: {
                                    script: t.ma_iSID(["//imasdk.googleapis.com/js/sdkloader/ima3.js", "ima3.js"]),
                                    object: !("undefined" == typeof ima || !ima.common || !ima.ImaSdkSettings),
                                    css: !1
                                },
                                videojsIMA: {
                                    script: t.ma_iSID(["videojs.ima.js"]),
                                    object: 5 === i && t.ma_iSID(["videojs.ima.js"]) || !("undefined" == typeof videojs || !o("ima")),
                                    css: t.ma_iSID(["videojs.ads.css", "videojs.ads.min.css"], "link")
                                },
                                videojsIMAAds: {
                                    script: t.ma_iSID(["/videojs.ads.min.js"]),
                                    object: 5 === i && t.ma_iSID(["/videojs.ads.min.js"]) || !("undefined" == typeof videojs || !o("ads")),
                                    css: t.ma_iSID(["/videojs.ima.css", "/videojs.ima.min.css"], "link")
                                }
                            }
                        }
                    }
                },
                4568(e) {
                    var t = window.av;
                    e.exports = new class {
                        constructor(e) {
                            if (this.bids = [], this.bidsIds = [], this.analyticsVersion = "201", this.bidderOrderMap = {}, this.bidderTimes = {}, this.wonBidIds = [], this.storedBids = {}, t.ma_hP("bidStoreEnable")) {
                                var i;
                                this.storedBids = t.visitor.vi_lS("av_storedbid_data") ? t.visitor.vi_lS("av_storedbid_data") : {};
                                try {
                                    i = Object.keys(window.localStorage)
                                } catch (e) {
                                    e.code = "localStorage-not-supported", t.ma_lE(e)
                                }
                                for (let e of i)
                                    if ("av_bid_" === e.substr(0, 7)) {
                                        var o = t.visitor.vi_lS(e);
                                        if (o) {
                                            var n = Number(o.responseTimestamp),
                                                r = (t.timestamps.now() - n) / 1e3;
                                            if (r + 3 > Number(o.ttl)) {
                                                t.visitor.vi_lSR(e);
                                                const i = this.pr_gSBI(o.adUnitCode, e);
                                                i > -1 && (this.storedBids[o.adUnitCode].splice(i, 1), t.visitor.vi_lS("av_storedbid_data", this.storedBids, .042)), o.adId, t.timestamps.now()
                                            } else this.pr_aB(o), o.adId
                                        }
                                    }
                            }
                            for (var a in avhb.onEvent("bidWon", function(e) {
                                    try {
                                        e.adId, t.auction.wrappers.prebid.logBidWon(e.adId)
                                    } catch (e) {
                                        e.code = "prebid-ad-render-error", t.warn(e)
                                    }
                                }), avhb.onEvent("bidAdjustment", function(e) {
                                    try {
                                        e.currency = t.publisher.pu_gC()
                                    } catch (e) {
                                        e.code = "bidAdjustment-error-in-currency", t.warn(e)
                                    }
                                }), e = e || {}) this[a] = e[a];
                            if (window.avhb = window.avhb || {}, window.avhb.que = window.avhb.que || [], window.pbjs = window.pbjs || {}, window.avhb = window.avhb || {}, window.avhb.que.push(function() {
                                    const e = {};
                                    window.__tcfapi ? e.gpdr = {
                                        cmpApi: "iab",
                                        timeout: 8e3,
                                        defaultGdprScore: !0
                                    } : window.av.warn("tcf2 missed __tcfapi", "prebid", e), window.__uspapi ? e.usp = {
                                        cmpApi: "iab",
                                        timeout: 8e3
                                    } : window.av.warn("usp missed __uspapi", "prebid", e), (window.__tcfapi || window.__uspapi) && avhb.setConfig({
                                        consentManagement: e
                                    })
                                }), t.ma_hP("supplyChainId") && window.avhb.que.push(function() {
                                    const e = {
                                        ortb2: {
                                            source: {
                                                ext: {
                                                    schain: {
                                                        validation: "strict",
                                                        config: {
                                                            ver: "1.0",
                                                            complete: 1,
                                                            nodes: [{
                                                                asi: t.publisher.supplyChainDomain,
                                                                sid: t.publisher.supplyChainId,
                                                                hp: 1
                                                            }]
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        priceGranularity: {
                                            buckets: [{
                                                precision: t.publisher.hbDecimals || 2,
                                                min: 0,
                                                max: t.publisher.bidCap || t.publisher.hbMaxPrice,
                                                increment: t.publisher.bidIncrement
                                            }]
                                        }
                                    };
                                    avhb.setConfig(e)
                                }), t.ma_hP("taxonomy")) {
                                let e = t.tx.ta_gCK(),
                                    i = t.ma_gRR(),
                                    o = Array.isArray(e) ? e.join(", ") : String(e || ""),
                                    n = t.tx.ta_gIABC();
                                window.avhb.que.push(function() {
                                    window.avhb.setConfig({
                                        ortb2: {
                                            site: {
                                                ref: i,
                                                keywords: o,
                                                cattax: 7,
                                                cat: n,
                                                page: document.location.href,
                                                content: {
                                                    data: [{
                                                        name: "www.advergic.com",
                                                        ext: {
                                                            segtax: 7
                                                        },
                                                        segment: n
                                                    }]
                                                }
                                            }
                                        }
                                    })
                                })
                            }
                            let s = t.visitor.vi_gIABDT(),
                                d = t.visitor.vi_gCT() || "",
                                c = t.visitor.vi_c("av_ip"),
                                l = "??" == c ? "" : c;
                            window.avhb.que.push(function() {
                                window.avhb.setConfig({
                                    ortb2: {
                                        device: {
                                            devicetype: s,
                                            make: t.ty.deviceBrand,
                                            model: t.ty.deviceModel,
                                            os: t.ty.osName,
                                            osv: t.ty.osVersion,
                                            ip: l,
                                            langb: navigator.language.split("-")[0] || document.documentElement.lang,
                                            geo: {
                                                lat: t.visitor.geo.lat || null,
                                                lon: t.visitor.geo.lon || null,
                                                country: t.visitor.geo.country || "unknown",
                                                region: t.visitor.geo.region || "unknown",
                                                city: t.visitor.geo.city || "unknown",
                                                metro: t.visitor.geo.metro || "unknown",
                                                accuracy: t.visitor.geo.accuracy || null,
                                                zip: t.visitor.geo.zip || null,
                                                type: 2
                                            },
                                            connectiontype: d,
                                            ext: {
                                                asn: t.visitor.geo.asn,
                                                isp: t.visitor.geo.provider
                                            }
                                        }
                                    }
                                })
                            }), window.avhb.que.push(function() {
                                window.avhb.setConfig({
                                    firstPartyData: {
                                        uaHints: ["architecture", "model", "platform", "platformVersion", "fullVersionList"]
                                    }
                                })
                            })
                        }
                        pr_gSBI(e, t) {
                            var i = 0;
                            if (this.storedBids[e])
                                for (i = 0; i < this.storedBids[e].length; i++)
                                    if (this.storedBids[e][i].bidId === t) return i;
                            return -1
                        }
                        pr_sB(e) {
                            if (t.visitor.vi_sLS() && t.ma_hP("bidStoreEnable")) {
                                var i = Object.assign({}, e);
                                try {
                                    const e = "av_bid_" + this.pr_gBH(i);
                                    if (i.stored = !0, i.url = window.location.href, !t.visitor.vi_lS(e))
                                        if (this.storedBids[i.adUnitCode]) {
                                            let a = Number.MAX_VALUE,
                                                s = "",
                                                d = -1;
                                            for (var o = 0; o < this.storedBids[i.adUnitCode].length; o++) {
                                                var n = this.storedBids[i.adUnitCode][o];
                                                if (t.timestamps.now() >= n.expiryAt) {
                                                    var r = t.visitor.vi_lS(n.bidId);
                                                    r && (t.visitor.vi_lSR(n.bidId), this.storedBids[n.bidId], this.pr_rBD(r.adId))
                                                } else n.cpm < a && (a = n.cpm, s = n.bidId, d = o)
                                            }
                                            this.storedBids[i.adUnitCode].length < 5 ? (t.visitor.vi_lS(e, i, .042), this.storedBids[i.adUnitCode].push({
                                                bidId: e,
                                                cpm: i.cpm,
                                                expiryAt: Number(i.responseTimestamp) + 1e3 * i.ttl
                                            })) : i.cpm > a && (t.visitor.vi_lS(e, i, .042), this.storedBids[i.adUnitCode][d] = {
                                                bidId: e,
                                                cpm: i.cpm,
                                                expiryAt: Number(i.responseTimestamp) + 1e3 * i.ttl
                                            }, t.visitor.vi_lSR(s))
                                        } else t.visitor.vi_lS(e, i, .042), this.storedBids[i.adUnitCode] = [{
                                            bidId: e,
                                            cpm: i.cpm,
                                            expiryAt: Number(i.responseTimestamp) + 1e3 * i.ttl
                                        }];
                                    t.visitor.vi_lS("av_storedbid_data", this.storedBids, .042)
                                } catch (e) {
                                    e.code = "bid-store-fail", e.type = "catch", t.ma_lE(e)
                                }
                            }
                        }
                        pr_iC() {
                            for (var e in this.pr_fP(), t.units)
                                if (t.units[e].bids && t.units[e].bids.length > 0) return !0;
                            return !1
                        }
                        logBidWon(e) {
                            t.auction.wrappers.prebid.wonBidIds.push(e);
                            for (let o of this.bids)
                                if (o.adId === e) {
                                    if (t.ma_hP("bidStoreEnable")) {
                                        var i = "av_bid_" + this.pr_gBH(o);
                                        t.visitor.vi_lSR(i);
                                        const e = this.pr_gSBI(o.adUnitCode, i);
                                        e > -1 && (this.storedBids[o.adUnitCode].splice(e, 1), t.visitor.vi_lS("av_storedbid_data", this.storedBids, .042))
                                    }
                                    o.renderTime = t.timestamps.now();
                                    try {
                                        window.__logBidWon(o)
                                    } catch (e) {
                                        window.av.warn("failed to execute window.__logBidWon"), window.av.warn(e)
                                    }
                                    break
                                }
                        }
                        requestBids() {
                            let e, i = [],
                                o = t.visitor.vi_gPS();
                            if (t.cmp.trackable()) {
                                const i = {
                                        name: "id5Id",
                                        params: {
                                            partner: 1971,
                                            externalModuleUrl: "https://cdn.id5-sync.com/api/1.0/id5PrebidModule.js",
                                            pd: o,
                                            canCookieSync: !0,
                                            gamTargetingPrefix: "id5"
                                        },
                                        storage: {
                                            type: "html5",
                                            name: "id5id",
                                            expires: 99,
                                            refreshInSeconds: 7200
                                        }
                                    },
                                    n = {
                                        name: "sharedId",
                                        storage: {
                                            name: "_sharedID",
                                            type: "cookie",
                                            expires: 99
                                        }
                                    },
                                    r = {
                                        name: "criteo"
                                    };
                                let a = [];
                                t.ma_hP("id5") && a.push(i), t.ma_hP("sharedId") && a.push(n), t.ma_hP("criteoId") && a.push(r), e = a
                            }
                            if (avhb.que.push(function() {
                                    avhb.setConfig({
                                        userSync: {
                                            userIds: e
                                        }
                                    })
                                }), t.ma_hP("disableHb")) return;
                            if (t.ma_hP("disableHBOnFirstPage") && 1 === t.visitor.sessionDepth) return;
                            t.auction.wrappers.prebid.pr_rEB();
                            const n = {
                                    standard: {
                                        bidCpmAdjustment: function(e, i) {
                                            return t.auction.wrappers.prebid.pr_sBD(i)
                                        }
                                    }
                                },
                                r = t.ma_gBS();
                            ! function() {
                                const e = Object.keys(r);
                                for (const o of e)
                                    if (r[o]) {
                                        n[o] = n[o] || {}, n[o].storageAllowed = t.cmp.trackable();
                                        t.ma_gB(o).syncDisabled && i.push(o)
                                    }
                                0 === i.length && i.push("pixfuture")
                            }(), avhb.que.push(function() {
                                avhb.bidderSettings = n, avhb.setConfig({
                                    userSync: {
                                        filterSettings: {
                                            all: {
                                                bidders: i,
                                                filter: "exclude"
                                            }
                                        },
                                        aliasSyncEnabled: !0,
                                        syncEnabled: !0,
                                        syncDelay: t.publisher.syncDelay || 2e3,
                                        syncsPerBidder: 6
                                    }
                                }), avhb.setConfig({
                                    bidderTimeout: t.auction.au_gT()
                                }), avhb.setConfig({
                                    enableTIDs: !0
                                }), t.auction.wrappers.prebid.bidsRequested = t.timestamps.now();
                                var e = [],
                                    o = ["bids", "code", "mediaTypes", "sizes", "transactionId", "ortb2Imp", "pos"];
                                for (let i of t.units) {
                                    if (!i.code || !i.sizes) {
                                        t.warn("code or sizes for unit" + i + "does not exist", "unit");
                                        continue
                                    }
                                    if (i.un_iEFP()) continue;
                                    let n = !1;
                                    for (const e of avhb.adUnits)
                                        if (e.code === i.code) {
                                            n = !0;
                                            break
                                        }
                                    if (n) continue;
                                    let a = i.sizes.findIndex(e => "fluid" == e);
                                    if (-1 !== a ? i.sizes.splice(a, 1) : i.sizes, window.av && window.av.dSlots && window.av.dSlots.length) {
                                        if (i.un_gT().some(e => window.av.dSlots.indexOf(e) >= 0)) continue
                                    }
                                    i.mediaTypes.native || (i.code, i.sizes, i.mediaTypes.banner = {
                                        sizes: i.sizes,
                                        pos: i.pos
                                    });
                                    var r = t.ma_cE(i, o);
                                    r.bids = r.bids || [], e.push(r)
                                }
                                avhb.addAdUnits(e), t.auction.wrappers.prebid.pr_rNUAU(), avhb.requestBids({
                                    adUnits: e,
                                    bidsBackHandler: function(e) {
                                        window.av.auction.wrappers.prebid.pr_bRC(e)
                                    },
                                    timeout: t.auction.au_gT()
                                })
                            })
                        }
                        pr_rNUAU() {
                            const e = new Set;
                            t.units.forEach(t => {
                                t.code && (t.isChild && e.add(t.parent.code), t.bids && t.bids.length > 0 && e.add(t.code))
                            });
                            const i = avhb.adUnits.filter(t => !e.has(t.code)).map(e => e.code);
                            i.length > 0 && avhb.removeAdUnit(i)
                        }
                        pr_rB(e, i) {
                            t.bidders[i] = t.bidders[i] || new t.constructors.Bidder(t.bidders[e]), t.bidders[e].renamed = i, t.units.forEach(function(t) {
                                t.bids.forEach(function(t) {
                                    t.bidder === e && (t.bidder = i)
                                })
                            })
                        }
                        pr_fP() {
                            if (this.pidsFiltered) return !1;
                            this.pidsFiltered = !0;
                            try {
                                t.ma_gBS(), t.ma_gB("indexExchange").bi_r("ix"), t.ma_gB("152media").bi_r("oftmedia")
                            } catch (e) {
                                e.code = "filtering-pids-prep", e.type = "catch", t.ma_lE(e)
                            }
                            try {
                                for (let e in t.ma_gBS()) void 0 !== t.ma_gB(e).scaleRevenueShare && 0 === t.ma_gB(e).scaleRevenueShare && t.ma_gB(e).bi_d()
                            } catch (e) {
                                e.code = "filtering-pids-scale", e.type = "catch", t.ma_lE(e)
                            }
                            try {
                                var e = t.visitor.geo.country || "??";
                                for (let r in t.ma_gBS()) {
                                    var i = t.ma_gB(r),
                                        o = Array.isArray(i.geoBlackList) ? i.geoBlackList : [],
                                        n = Array.isArray(i.geoWhiteList) ? i.geoWhiteList : [];
                                    (e && o.includes(e) || e && n.length > 0 && !n.includes(e)) && i.bi_d("geo-blacklisted")
                                }
                            } catch (e) {
                                e.code = "filtering-pids-geo", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        pr_sBD(e) {
                            return e.cpm < .01 ? 0 : (e.cpm, e.bidderCode, e.adUnitCode, t.ma_gB(e.bidderCode).bidCurrency && t.ma_gB(e.bidderCode).bidCurrency !== t.publisher.pu_gC() && (e.bidderCode, t.ma_gB(e.bidderCode).bidCurrency, t.publisher.pu_gC(), t.currencies[t.ma_gB(e.bidderCode).bidCurrency][t.publisher.pu_gC()], e.cpm *= t.currencies[t.ma_gB(e.bidderCode).bidCurrency][t.publisher.pu_gC()]), t.ma_gB(e.bidderCode).scaleDiscrepancy && (e.bidderCode, t.ma_gB(e.bidderCode).scaleDiscrepancy, e.cpm *= t.ma_gB(e.bidderCode).scaleDiscrepancy), t.ma_gB(e.bidderCode).scaleRevenueShare && (e.bidderCode, t.ma_gB(e.bidderCode).scaleRevenueShare, e.cpm *= t.ma_gB(e.bidderCode).scaleRevenueShare), t.get("av_debug_bids") && (e.cpm = 10), e.cpm, e.cpm, e.bidderCode, e.adUnitCode, e.cpm)
                        }
                        pr_rA(e) {
                            t.ma_aBA(e, "registered", "prebid")
                        }
                        pr_gBH(e) {
                            return t.md5(e.bidderCode + e.adUnitCode + e.adId)
                        }
                        pr_aB(e) {
                            const t = this.pr_gBH(e); - 1 === this.bidsIds.indexOf(t) && (this.bids.push(e), this.bidsIds.push(t))
                        }
                        pr_gBD(e) {
                            for (let t of this.bids)
                                if (t.adId === e) return t;
                            return !1
                        }
                        pr_rBD(e) {
                            var i;
                            for (var o in this.bids) {
                                var n = this.bids[o];
                                if (n) {
                                    var r = Number(n.responseTimestamp);
                                    t.timestamps.now();
                                    n.adId === e && (n.adId, t.timestamps.now(), i = o)
                                }
                            }
                            i && this.bids.splice(i, 1)
                        }
                        pr_rEB() {
                            var e = [];
                            for (let n of this.bids) {
                                var i = Number(n.responseTimestamp),
                                    o = (t.timestamps.now() - i) / 1e3;
                                if (o + 3 > Number(n.ttl) && (e.push(n.adId), n.stored)) {
                                    const e = "av_bid_" + this.pr_gBH(n);
                                    t.visitor.vi_lSR(e);
                                    const i = this.pr_gSBI(n.adUnitCode, e);
                                    i > -1 && (this.storedBids[n.adUnitCode].splice(i, 1), t.visitor.vi_lS("av_storedbid_data", this.storedBids, .042)), n.adId, t.timestamps.now()
                                }
                            }
                            for (let t of e) this.pr_rBD(t)
                        }
                        pr_mRB(e) {
                            for (var t in e = e || window.avhb.getBidResponses())
                                for (let i of e[t].bids) i.cpm >= .01 && !i.imported && (i.imported = !0, this.pr_aB(i))
                        }
                        pr_gB() {
                            return this.pr_mRB(), this.bids
                        }
                        pr_bRC(e) {
                            this.bidsBack = t.timestamps.now();
                            try {
                                for (var i in e) {
                                    var o = t.ma_gU(i);
                                    o ? (o.bidsBack = t.timestamps.now(), o.bidsRequested = o.bidsRequested || t.timestamps.now()) : t.warn("recieved bids back for unit code[" + i + "] but unit is not found")
                                }
                                this.pr_mRB(e)
                            } catch (e) {}
                            t.auction.au_c()
                        }
                        pr_gAI() {
                            return this.auctionId || (this.auctionId = t.uuid4()), this.auctionId
                        }
                        pr_gUI() {
                            return t.visitor.vi_c("avsession") || t.ma_cKE("avsession", t.uuid4(), 1e3), t.visitor.vi_c("avsession")
                        }
                        pr_gV() {
                            var e = window.avhb.version;
                            return "v" === e[0] && (e = e.substr(1).trimLeft().trimRight()), e
                        }
                    }
                },
                5404(e, t, i) {
                    i.r(t), i.d(t, {
                        default: () => m,
                        extractContextKeywords: () => u
                    }), e = i.hmd(e);
                    const o = new Set(["a", "an", "the", "of", "utm_source", "utm_campaign", "utm_content", "utm_medium", "utm_term", "avhbconsole", "pbjs_debug", "google_console", "avos", "about", "above", "across", "after", "against", "along", "amid", "among", "around", "at", "before", "behind", "below", "beneath", "beside", "besides", "between", "beyond", "but", "by", "concerning", "considering", "despite", "down", "during", "except", "for", "from", "in", "inside", "into", "like", "near", "of", "off", "on", "onto", "out", "outside", "over", "past", "per", "plus", "regarding", "since", "through", "throughout", "till", "to", "toward", "towards", "under", "underneath", "until", "unto", "up", "upon", "versus", "via", "with", "within", "without", "reply", "and", "as", "both", "either", "nor", "or", "so", "than", "that", "though", "unless", "until", "when", "whenever", "where", "whereas", "wherever", "whether", "while", "yet", "am", "are", "be", "been", "being", "can", "could", "did", "do", "does", "done", "had", "has", "have", "having", "is", "may", "might", "must", "need", "ought", "shall", "should", "was", "were", "will", "would", "he", "her", "him", "his", "i", "it", "its", "me", "my", "our", "ours", "she", "their", "them", "they", "us", "we", "who", "whom", "whose", "you", "your", "yours", "herself", "himself", "itself", "myself", "ourselves", "themselves", "yourself", "yourselves", "this", "that", "these", "those", "what", "which", "whichever", "whoever", "whomever", "again", "ago", "already", "also", "always", "anywhere", "approximately", "back", "currently", "else", "enough", "especially", "even", "ever", "every", "everywhere", "finally", "first", "further", "generally", "here", "however", "if", "indeed", "instead", "just", "largely", "later", "least", "less", "lot", "lots", "mainly", "many", "maybe", "more", "moreover", "most", "mostly", "much", "never", "no", "none", "not", "now", "off", "often", "once", "only", "other", "otherwise", "perhaps", "please", "probably", "quite", "rather", "really", "recently", "same", "second", "several", "simply", "since", "slightly", "so", "some", "somebody", "somehow", "someone", "something", "sometimes", "somewhat", "somewhere", "soon", "still", "such", "then", "there", "therefore", "thus", "together", "too", "two", "usually", "very", "well", "when", "why", "yet", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "hundred", "thousand", "million", "billion", "http", "https", "www", "com", "org", "net", "html", "htm", "php", "href", "src", "alt", "px", "em", "rem", "css", "js", "svg", "png", "jpg", "jpeg", "gif", "webp", "amp", "utm", "ref", "url", "nav", "div", "span", "class", "id", "type", "true", "false", "null", "undefined", "click", "here", "read", "more", "learn", "see", "view", "home", "page", "next", "prev", "previous", "menu", "close", "open", "toggle", "show", "hide", "get", "set", "new", "old", "add", "use", "used", "using", "make", "made", "take", "taken", "come", "go", "know", "think", "look", "want", "need", "like", "time", "way", "day", "year", "right", "left", "good", "great", "best", "top", "free", "via", "all", "any", "each", "few", "own", "well", "also", "back", "start", "end", "help", "find", "give", "keep", "let", "put", "seem", "tell", "try", "ask", "work", "call", "long", "down", "side", "part", "place", "case", "week", "last", "line", "large", "small", "high", "low", "big", "hand", "point", "number", "company", "data", "information", "content", "site", "post", "issue", "issues", "user", "users", "process", "processes"]);

                    function n(e) {
                        let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 3;
                        return e && "string" == typeof e ? (e.toLowerCase().replace(/[''\u2019]s\b/g, "").replace(/[-\u2013\u2014]/g, " ").match(r()) || []).filter(e => !/^\d+$/.test(e) && (!(e.length < t) && !o.has(e))) : []
                    }
                    const r = (() => {
                            let e = null;
                            return () => {
                                if (e) return e;
                                try {
                                    e = new RegExp("[\\p{L}\\p{N}]+", "gu")
                                } catch {
                                    e = /[a-z0-9]+/g
                                }
                                return e
                            }
                        })(),
                        a = [{
                            name: "meta:keywords",
                            selector: 'meta[name="keywords"]',
                            weight: 3,
                            getText: e => e.getAttribute("content") || ""
                        }, {
                            name: "meta:description",
                            selector: 'meta[name="description"]',
                            weight: 1.8,
                            getText: e => e.getAttribute("content") || ""
                        }, {
                            name: "title",
                            selector: "title",
                            weight: 2.5,
                            getText: e => e.textContent || ""
                        }, {
                            name: "h1",
                            selector: "h1",
                            weight: 2
                        }, {
                            name: "h2-h3",
                            selector: "h2, h3",
                            weight: 1.5
                        }, {
                            name: "h4-h6",
                            selector: "h4, h5, h6",
                            weight: 1.2
                        }, {
                            name: "emphasis",
                            selector: "strong, em, b, i, mark, [role='emphasis']",
                            weight: 1.3
                        }, {
                            name: "links",
                            selector: "article a, main a, [role='main'] a",
                            weight: 1.1
                        }];

                    function s() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : document;
                        const t = new Map,
                            i = new Set(Array.from(e.querySelectorAll("script, style, noscript, iframe, svg, canvas, template, nav, header, footer, aside, [aria-hidden='true'], [role='navigation'], [role='banner'], [role='contentinfo'], [role='complementary'], .cookie-banner, .ad, .advertisement, [data-nosnippet], .sr-only, .visually-hidden"))),
                            o = {
                                acceptNode(t) {
                                    if (!t.nodeValue || "" === t.nodeValue.trim()) return NodeFilter.FILTER_SKIP;
                                    let o = t.parentElement;
                                    for (; o && o !== e.body;) {
                                        if (i.has(o)) return NodeFilter.FILTER_REJECT;
                                        o = o.parentElement
                                    }
                                    return NodeFilter.FILTER_ACCEPT
                                }
                            };
                        if (!e.body) return t;
                        const r = e.createTreeWalker(e.body, NodeFilter.SHOW_TEXT, o);
                        let a;
                        const s = [];
                        for (; a = r.nextNode();) s.push(a.nodeValue);
                        const d = n(s.join(" "));
                        for (const e of d) t.set(e, (t.get(e) || 0) + 1);
                        return t
                    }

                    function d() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : document;
                        const t = new Map;
                        for (const i of a) {
                            let o;
                            try {
                                o = e.querySelectorAll(i.selector)
                            } catch (e) {
                                console.warn(`[KeywordExtractor] Skipping source "${i.name}":`, e);
                                continue
                            }
                            for (const e of o) {
                                const o = i.getText ? i.getText(e) : e.textContent;
                                if (!o) continue;
                                const r = n(o);
                                for (const e of r) t.set(e, (t.get(e) || 0) + i.weight)
                            }
                        }
                        return t
                    }

                    function c(e, t) {
                        const i = new Map(e);
                        for (const [e, o] of t) {
                            const t = Math.log2(o + 1);
                            i.set(e, (i.get(e) || 0) + t)
                        }
                        return i
                    }

                    function l() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : document;
                        const t = new Map,
                            i = [{
                                selector: 'meta[property="og:title"]',
                                weight: 2.2
                            }, {
                                selector: 'meta[property="og:description"]',
                                weight: 1.5
                            }, {
                                selector: 'meta[property="og:site_name"]',
                                weight: 1.2
                            }, {
                                selector: 'meta[name="twitter:title"]',
                                weight: 1.8
                            }, {
                                selector: 'meta[name="twitter:description"]',
                                weight: 1.3
                            }];
                        for (const {
                                selector: o,
                                weight: r
                            } of i) {
                            const i = e.querySelector(o);
                            if (!i) continue;
                            const a = i.getAttribute("content");
                            if (a)
                                for (const e of n(a)) t.set(e, (t.get(e) || 0) + r)
                        }
                        const o = e.querySelectorAll('script[type="application/ld+json"]');
                        for (const e of o) {
                            let i;
                            try {
                                i = JSON.parse(e.textContent)
                            } catch {
                                continue
                            }
                            const o = ["name", "headline", "description", "keywords", "about"],
                                r = e => {
                                    if (e && "object" == typeof e) {
                                        for (const i of o)
                                            if ("string" == typeof e[i])
                                                for (const o of n(e[i])) t.set(o, (t.get(o) || 0) + 1.4);
                                        for (const t of Object.values(e)) Array.isArray(t) ? t.forEach(r) : "object" == typeof t && r(t)
                                    }
                                };
                            Array.isArray(i) ? i.forEach(r) : r(i)
                        }
                        return t
                    }

                    function u() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                        const {
                            topN: t = 25,
                            minScore: i = .5,
                            minTokenLength: o = 3,
                            doc: n = ("undefined" != typeof document ? document : null)
                        } = e;
                        if (!n) return console.warn("[KeywordExtractor] No document available; returning empty array."), [];
                        if (!n.documentElement) return console.warn("[KeywordExtractor] Document has no documentElement."), [];
                        try {
                            const e = d(n),
                                r = s(n),
                                a = l(n);
                            let u = c(e, r);
                            for (const [e, t] of a) u.set(e, (u.get(e) || 0) + t);
                            return Array.from(u.entries()).filter(e => {
                                let [t, n] = e;
                                return n >= i && t.length >= o
                            }).sort((e, t) => {
                                let [, i] = e, [, o] = t;
                                return o - i
                            }).slice(0, t).map(e => {
                                let [t] = e;
                                return t
                            })
                        } catch (e) {
                            return console.error("[KeywordExtractor] Extraction failed:", e), []
                        }
                    }
                    const g = {
                        extractContextKeywords: u,
                        _internal: {
                            tokenise: n,
                            scoreSignalSources: d,
                            extractBodyFrequencies: s,
                            extractBonusSignals: l,
                            mergeScores: c,
                            STOP_WORDS: o,
                            SIGNAL_SOURCES: a
                        }
                    };
                    void 0 !== e.exports ? e.exports = g : "undefined" != typeof window && (window.ContextKeywordExtractor = g);
                    const m = g
                },
                5481(e) {
                    /*
                     * @license MIT
                     * Fun Hooks v1.1.0
                     * (c) @snapwich
                     */
                    r.SYNC = 1, r.ASYNC = 2, r.QUEUE = 4;
                    var t = "fun-hooks",
                        i = Object.freeze({
                            ready: 0
                        }),
                        o = new WeakMap;

                    function n(e, t) {
                        return Array.prototype.slice.call(e, t)
                    }

                    function r(e) {
                        var a, s = {},
                            d = [];

                        function c(e, t) {
                            return "function" == typeof e ? m.call(null, "sync", e, t) : "string" == typeof e && "function" == typeof t ? m.apply(null, arguments) : "object" == typeof e ? l.apply(null, arguments) : void 0
                        }

                        function l(e, t, i) {
                            var o = !0;
                            void 0 === t && (t = Object.getOwnPropertyNames(e).filter(e => !e.match(/^_/)), o = !1);
                            var n = {},
                                r = ["constructor"];
                            do {
                                t.forEach(function(t) {
                                    var o = t.match(/(?:(sync|async):)?(.+)/),
                                        a = o[1] || "sync",
                                        s = o[2];
                                    if (!n[s] && "function" == typeof e[s] && -1 === r.indexOf(s)) {
                                        var d = e[s];
                                        n[s] = e[s] = m(a, d, i ? [i, s] : void 0)
                                    }
                                }), e = Object.getPrototypeOf(e)
                            } while (o && e);
                            return n
                        }

                        function u(e) {
                            var i = Array.isArray(e) ? e : e.split(".");
                            return i.reduce(function(o, n, r) {
                                var s = o[n],
                                    c = !1;
                                return s || (r === i.length - 1 ? (a || d.push(function() {
                                    c || console.warn(t + ": referenced '" + e + "' but it was never created")
                                }), o[n] = g(function(e) {
                                    o[n] = e, c = !0
                                })) : o[n] = {})
                            }, s)
                        }

                        function g(e) {
                            var t = [],
                                i = [],
                                n = function() {},
                                r = {
                                    before: function(e, i) {
                                        return s.call(this, t, "before", e, i)
                                    },
                                    after: function(e, t) {
                                        return s.call(this, i, "after", e, t)
                                    },
                                    getHooks: function(e) {
                                        var o = t.concat(i);
                                        "object" == typeof e && (o = o.filter(function(t) {
                                            return Object.keys(e).every(function(i) {
                                                return t[i] === e[i]
                                            })
                                        }));
                                        try {
                                            Object.assign(o, {
                                                remove: function() {
                                                    return o.forEach(function(e) {
                                                        e.remove()
                                                    }), this
                                                }
                                            })
                                        } catch (e) {
                                            console.error("error adding `remove` to array, did you modify Array.prototype?")
                                        }
                                        return o
                                    },
                                    removeAll: function() {
                                        return this.getHooks().remove()
                                    }
                                },
                                a = {
                                    install: function(o, r, a) {
                                        this.type = o, n = a, a(t, i), e && e(r)
                                    }
                                };
                            return o.set(r.after, a), r;

                            function s(e, o, r, a) {
                                var s = {
                                    hook: r,
                                    type: o,
                                    priority: a || 10,
                                    remove: function() {
                                        var o = e.indexOf(s); - 1 !== o && (e.splice(o, 1), n(t, i))
                                    }
                                };
                                return e.push(s), e.sort(function(e, t) {
                                    return t.priority - e.priority
                                }), n(t, i), this
                            }
                        }

                        function m(i, s, c) {
                            var l = s.after && o.get(s.after);
                            if (l) {
                                if (l.type !== i) throw t + ": recreated hookable with different type";
                                return s
                            }
                            var m, p = c ? u(c) : g(),
                                h = {
                                    get: function(e, t) {
                                        return p[t] || Reflect.get.apply(Reflect, arguments)
                                    }
                                };
                            a || d.push(f);
                            var v = new Proxy(s, h);
                            return o.get(v.after).install(i, v, function(e, t) {
                                var o, r = [];
                                e.length || t.length ? (e.forEach(a), o = r.push(void 0) - 1, t.forEach(a), m = function(e, t, a) {
                                    var s, d = r.slice(),
                                        c = 0,
                                        l = "async" === i && "function" == typeof a[a.length - 1] && a.pop();

                                    function u(e) {
                                        "sync" === i ? s = e : l && l.apply(null, arguments)
                                    }

                                    function g(e) {
                                        if (d[c]) {
                                            var o = n(arguments);
                                            return g.bail = u, o.unshift(g), d[c++].apply(t, o)
                                        }
                                        "sync" === i ? s = e : l && l.apply(null, arguments)
                                    }
                                    return d[o] = function() {
                                        var o = n(arguments, 1);
                                        "async" === i && l && (delete g.bail, o.push(g));
                                        var r = e.apply(t, o);
                                        "sync" === i && g(r)
                                    }, g.apply(null, a), s
                                }) : m = void 0;

                                function a(e) {
                                    r.push(e.hook)
                                }
                                f()
                            }), v;

                            function f() {
                                !a && ("sync" !== i || e.ready & r.SYNC) && ("async" !== i || e.ready & r.ASYNC) ? "sync" !== i && e.ready & r.QUEUE ? h.apply = function() {
                                    var e = arguments;
                                    d.push(function() {
                                        v.apply(e[1], e[2])
                                    })
                                } : h.apply = function() {
                                    throw t + ": hooked function not ready"
                                } : h.apply = m
                            }
                        }
                        return (e = Object.assign({}, i, e)).ready ? c.ready = function() {
                            a = !0,
                                function(e) {
                                    for (var t; t = e.shift();) t()
                                }(d)
                        } : a = !0, c.get = u, c
                    }
                    e.exports = r
                },
                6074(e) {
                    var t = window.av;
                    e.exports = class {
                        constructor(e) {
                            for (var t in e = e || {}) this[t] = e[t];
                            const i = window.av;
                            return this.pings = [], this.checks = 0, this.wait = 100, this.start = i.timestamps.now(), this.name = this.name || "unset", this.analytic = {
                                gdpr: "??",
                                ccpa: "??",
                                analytics: "??"
                            }, this
                        }
                        cm_p(e, i) {
                            if (this.done) return !1;
                            e = e || {}, i = i || {};
                            for (const t in i) {
                                if ("pinged" !== t && ["string", "number", "boolean"].indexOf(typeof i[t]) >= 0) e["tcf" + t.charAt(0).toUpperCase() + t.slice(1)] = i[t]
                            }
                            for (const t in e) this.analytic[t] = e[t];
                            if (["skip-geo", "consented", "no-consent"].indexOf(e.gdpr) >= 0) {
                                let i = "skip-geo" == e.gdpr ? 30 : 180;
                                t.visitor.vi_c("cmp", e.gdpr, i)
                            }["consented"].indexOf(e.analytics) >= 0 && t.visitor.vi_c("analytics", "enabled", 180), e.description = (JSON.stringify(this.analytic) + " " + JSON.stringify(i)).replaceAll(',"', ', "'), t.ma_lE(e, !0)
                        }
                        trackable() {
                            if ("exempt" == t.publisher.cmp) return !0;
                            let e = t.visitor.vi_c("cmp");
                            return ["consented", "skip-geo"].includes(e)
                        }
                        cm_pG() {
                            if (t.ma_hP("cmpDeferGeo") || t.cmp.geolocateQueued || (t.cmp.geolocateQueued = !0, t.visitor.vi_gG(function() {
                                    t.visitor.vi_nCWG() && (t.cmp.cm_p({
                                        gdpr: "skip-geo"
                                    }), t.cmp.done = !0, t.visitor.vi_c("cmp", "skip-geo", 30), t.que2.xq())
                                })), this.done) return !1;
                            if (10 === this.checks++ && (this.wait = 1e3, this.wait), (new Date).getTime() - t.start > 2e4) console.warn("cmp faied to load in 60s", "cmp");
                            else if (window.__tcfapi) {
                                t.que8.xq();
                                try {
                                    window.__tcfapi("ping", 2, e => {
                                        "onpage" === t.cmp.name && (t.cmp.name = "onpage-" + e.cmpId), e.pinged = t.timestamps.now(), t.cmp.pings.push(e), "visible" === e.displayStatus && t.cmp.cm_p({
                                            gdpr: "popped"
                                        }, e), "loading" === e.cmpStatus || "loaded" === e.cmpStatus ? void 0 === e.gdprApplies || e.gdprApplies ? window.__tcfapi("addEventListener", 2, t.ma_tCH(function(i, o) {
                                            o && i && ("useractioncomplete" === i.eventStatus || "tcloaded" === i.eventStatus) ? (void 0 === i.gdprApplies || i.gdprApplies ? i.purpose.consents[1] ? t.cmp.cm_p({
                                                gdpr: "consented"
                                            }, i) : t.cmp.cm_p({
                                                gdpr: "no-consent"
                                            }, i) : t.cmp.cm_p({
                                                gdpr: "skip-geo"
                                            }, e), i.purpose.consents[7] && t.cmp.cm_p({
                                                analytics: "consented"
                                            }, i), t.cmp.done = !0, t.que2.xq()) : (t.cmp.cm_p({
                                                gdpr: "consent-not-found"
                                            }, i), t.cmp.done = !1)
                                        }, "tcfapi-exception")) : (t.cmp.cm_p({
                                            gdpr: "skip-geo"
                                        }, e), t.cmp.done = !0, t.que2.xq()) : (t.cmp.cm_p({
                                            gdpr: "waiting",
                                            code: "tcf-ping-loading"
                                        }, e), t.cmp.checks, setTimeout(function() {
                                            t.cmp.cm_pG()
                                        }, t.cmp.wait))
                                    })
                                } catch (e) {
                                    t.warn("tcf still not completely loaded, waiting"), setTimeout(function() {
                                        t.cmp.cm_pG()
                                    }, t.cmp.wait)
                                }
                            } else t.timestamps.now() - this.start > 2e4 && !this.crit ? (this.crit = !0, console.warn("tcf2-timeout-" + this.name)) : setTimeout(function() {
                                t.cmp.cm_pG()
                            }, t.cmp.wait)
                        }
                    }
                },
                6661(e, t) {
                    ! function(e) {
                        let t = -1;
                        const i = e => {
                                addEventListener("pageshow", i => {
                                    i.persisted && (t = i.timeStamp, e(i))
                                }, !0)
                            },
                            o = (e, t, i, o) => {
                                let n, r;
                                return a => {
                                    t.value >= 0 && (a || o) && (r = t.value - (n ? ? 0), (r || void 0 === n) && (n = t.value, t.delta = r, t.rating = ((e, t) => e > t[1] ? "poor" : e > t[0] ? "needs-improvement" : "good")(t.value, i), e(t)))
                                }
                            },
                            n = e => {
                                requestAnimationFrame(() => requestAnimationFrame(e))
                            },
                            r = () => {
                                const e = performance.getEntriesByType("navigation")[0];
                                if (e && e.responseStart > 0 && e.responseStart < performance.now()) return e
                            },
                            a = () => r() ? .activationStart ? ? 0,
                            s = (e, i = -1) => {
                                const o = r();
                                let n = "navigate";
                                return t >= 0 ? n = "back-forward-cache" : o && (document.prerendering || a() > 0 ? n = "prerender" : document.wasDiscarded ? n = "restore" : o.type && (n = o.type.replace(/_/g, "-"))), {
                                    name: e,
                                    value: i,
                                    rating: "good",
                                    delta: 0,
                                    entries: [],
                                    id: `v5-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,
                                    navigationType: n
                                }
                            },
                            d = new WeakMap;

                        function c(e, t) {
                            let i = d.get(t);
                            return i || (i = new WeakMap, d.set(t, i)), i.get(e) || i.set(e, new t), i.get(e)
                        }
                        class l {
                            t;
                            i = 0;
                            o = [];
                            h(e) {
                                if (e.hadRecentInput) return;
                                const t = this.o[0],
                                    i = this.o.at(-1);
                                this.i && t && i && e.startTime - i.startTime < 1e3 && e.startTime - t.startTime < 5e3 ? (this.i += e.value, this.o.push(e)) : (this.i = e.value, this.o = [e]), this.t ? .(e)
                            }
                        }
                        const u = (e, t, i = {}) => {
                                try {
                                    if (PerformanceObserver.supportedEntryTypes.includes(e)) {
                                        const o = new PerformanceObserver(e => {
                                            queueMicrotask(() => {
                                                t(e.getEntries())
                                            })
                                        });
                                        return o.observe({
                                            type: e,
                                            buffered: !0,
                                            ...i
                                        }), o
                                    }
                                } catch {}
                            },
                            g = e => {
                                let t = !1;
                                return () => {
                                    t || (e(), t = !0)
                                }
                            };
                        let m = -1;
                        const p = new Set,
                            h = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
                            v = e => {
                                if ("hidden" === document.visibilityState) {
                                    if ("visibilitychange" === e.type)
                                        for (const e of p) e();
                                    isFinite(m) || (m = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", v, !0))
                                }
                            },
                            f = () => {
                                if (m < 0) {
                                    const e = a(),
                                        t = document.prerendering ? void 0 : globalThis.performance.getEntriesByType("visibility-state").find(t => "hidden" === t.name && t.startTime >= e) ? .startTime;
                                    m = t ? ? h(), addEventListener("visibilitychange", v, !0), addEventListener("prerenderingchange", v, !0), i(() => {
                                        setTimeout(() => {
                                            m = h()
                                        })
                                    })
                                }
                                return {
                                    get firstHiddenTime() {
                                        return m
                                    },
                                    onHidden(e) {
                                        p.add(e)
                                    }
                                }
                            },
                            _ = e => {
                                document.prerendering ? addEventListener("prerenderingchange", e, !0) : e()
                            },
                            y = [1800, 3e3],
                            w = (e, t = {}) => {
                                _(() => {
                                    const r = f();
                                    let d, c = s("FCP");
                                    const l = u("paint", e => {
                                        for (const t of e) "first-contentful-paint" === t.name && (l.disconnect(), t.startTime < r.firstHiddenTime && (c.value = Math.max(t.startTime - a(), 0), c.entries.push(t), d(!0)))
                                    });
                                    l && (d = o(e, c, y, t.reportAllChanges), i(i => {
                                        c = s("FCP"), d = o(e, c, y, t.reportAllChanges), n(() => {
                                            c.value = performance.now() - i.timeStamp, d(!0)
                                        })
                                    }))
                                })
                            },
                            b = [.1, .25];
                        let S = 0,
                            C = 1 / 0,
                            A = 0;
                        const E = e => {
                            for (const t of e) t.interactionId && (C = Math.min(C, t.interactionId), A = Math.max(A, t.interactionId), S = A ? (A - C) / 7 + 1 : 0)
                        };
                        let P;
                        const x = () => P ? S : performance.interactionCount ? ? 0,
                            T = () => {
                                "interactionCount" in performance || P || (P = u("event", E, {
                                    durationThreshold: 0
                                }))
                            };
                        let k = 0;
                        class O {
                            l = [];
                            u = new Map;
                            p;
                            m;
                            v() {
                                k = x(), this.l.length = 0, this.u.clear()
                            }
                            T() {
                                const e = Math.min(this.l.length - 1, Math.floor((x() - k) / 50));
                                return this.l[e]
                            }
                            h(e) {
                                if (this.p ? .(e), !e.interactionId && "first-input" !== e.entryType) return;
                                const t = this.l.at(-1);
                                let i = this.u.get(e.interactionId);
                                if (i || this.l.length < 10 || e.duration > t.L) {
                                    if (i ? e.duration > i.L ? (i.entries = [e], i.L = e.duration) : e.duration === i.L && e.startTime === i.entries[0].startTime && i.entries.push(e) : (i = {
                                            id: e.interactionId,
                                            entries: [e],
                                            L: e.duration
                                        }, this.u.set(i.id, i), this.l.push(i)), this.l.sort((e, t) => t.L - e.L), this.l.length > 10) {
                                        const e = this.l.splice(10);
                                        for (const t of e) this.u.delete(t.id)
                                    }
                                    this.m ? .(i)
                                }
                            }
                        }
                        const I = e => {
                                const t = globalThis.requestIdleCallback || setTimeout,
                                    i = globalThis.cancelIdleCallback || clearTimeout;
                                if ("hidden" === document.visibilityState) e();
                                else {
                                    const o = g(e);
                                    let n = -1;
                                    const r = () => {
                                        i(n), o()
                                    };
                                    addEventListener("visibilitychange", r, {
                                        once: !0,
                                        capture: !0
                                    }), n = t(() => {
                                        removeEventListener("visibilitychange", r, {
                                            capture: !0
                                        }), o()
                                    })
                                }
                            },
                            L = [200, 500];
                        class R {
                            p;
                            h(e) {
                                this.p ? .(e)
                            }
                        }
                        const M = [2500, 4e3],
                            N = [800, 1800],
                            B = e => {
                                document.prerendering ? _(() => B(e)) : "complete" !== document.readyState ? addEventListener("load", () => B(e), !0) : setTimeout(e)
                            };
                        e.CLSThresholds = b, e.FCPThresholds = y, e.INPThresholds = L, e.LCPThresholds = M, e.TTFBThresholds = N, e.onCLS = (e, t = {}) => {
                            const r = f();
                            w(g(() => {
                                let a, d = s("CLS", 0);
                                const g = c(t, l),
                                    m = e => {
                                        for (const t of e) g.h(t);
                                        g.i > d.value && (d.value = g.i, d.entries = g.o, a())
                                    },
                                    p = u("layout-shift", m);
                                p && (a = o(e, d, b, t.reportAllChanges), r.onHidden(() => {
                                    m(p.takeRecords()), a(!0)
                                }), i(() => {
                                    g.i = 0, d = s("CLS", 0), a = o(e, d, b, t.reportAllChanges), n(a)
                                }), setTimeout(a))
                            }))
                        }, e.onFCP = w, e.onINP = (e, t = {}) => {
                            if (!globalThis.PerformanceEventTiming || !("interactionId" in PerformanceEventTiming.prototype)) return;
                            const n = f();
                            _(() => {
                                T();
                                let r, a = s("INP");
                                const d = c(t, O),
                                    l = e => {
                                        I(() => {
                                            for (const t of e) d.h(t);
                                            const t = d.T();
                                            t && t.L !== a.value && (a.value = t.L, a.entries = t.entries, r())
                                        })
                                    },
                                    g = u("event", l, {
                                        durationThreshold: t.durationThreshold ? ? 40
                                    });
                                r = o(e, a, L, t.reportAllChanges), g && (g.observe({
                                    type: "first-input",
                                    buffered: !0
                                }), n.onHidden(() => {
                                    l(g.takeRecords()), r(!0)
                                }), i(() => {
                                    d.v(), a = s("INP"), r = o(e, a, L, t.reportAllChanges)
                                }))
                            })
                        }, e.onLCP = (e, t = {}) => {
                            _(() => {
                                const r = f();
                                let d, l = s("LCP");
                                const m = c(t, R),
                                    p = e => {
                                        t.reportAllChanges || (e = e.slice(-1));
                                        for (const t of e) m.h(t), t.startTime < r.firstHiddenTime && (l.value = Math.max(t.startTime - a(), 0), l.entries = [t], d())
                                    },
                                    h = u("largest-contentful-paint", p);
                                if (h) {
                                    d = o(e, l, M, t.reportAllChanges);
                                    const r = g(() => {
                                            p(h.takeRecords()), h.disconnect(), d(!0)
                                        }),
                                        a = e => {
                                            e.isTrusted && (I(r), removeEventListener(e.type, a, {
                                                capture: !0
                                            }))
                                        };
                                    for (const e of ["keydown", "click", "visibilitychange"]) addEventListener(e, a, {
                                        capture: !0
                                    });
                                    i(i => {
                                        l = s("LCP"), d = o(e, l, M, t.reportAllChanges), n(() => {
                                            l.value = performance.now() - i.timeStamp, d(!0)
                                        })
                                    })
                                }
                            })
                        }, e.onTTFB = (e, t = {}) => {
                            let n = s("TTFB"),
                                d = o(e, n, N, t.reportAllChanges);
                            B(() => {
                                const c = r();
                                c && (n.value = Math.max(c.responseStart - a(), 0), n.entries = [c], d(!0), i(() => {
                                    n = s("TTFB", 0), d = o(e, n, N, t.reportAllChanges), d(!0)
                                }))
                            })
                        }
                    }(t)
                },
                7635(e, t, i) {
                    var o = window.av;
                    o.publisher.networkCode;
                    const {
                        extractContextKeywords: n
                    } = i(5404);
                    e.exports = new class {
                        constructor(e) {
                            e = e || {};
                            for (let t in e) this[t] = e[t];
                            return this.iabCat = [], this.gDisable = 0, this.contextKw = [], this.url = o.ma_eUC(document.location.href), this.avCat = [], this.referral = "", this.dow = (new Date).getDay() || "", this.day = (new Date).getDate() || "", this.month = (new Date).getMonth() + 1 || "", this.hour = (new Date).getHours() || "", this.lang = navigator.language.split("-")[0] || document.documentElement.lang, this.pos = "unknown", this.avssn = "", this.avpv = "", this
                        }
                        ta_iT(e) {
                            for (let t in e) this[t] = e[t]
                        }
                        ta_sP(e) {
                            this.ppid = e || null
                        }
                        ta_gIABC() {
                            let e = this.iab_full || [];
                            for (let t = 0; t < e.length; t++) this.iabCat.includes(e[t].id) || this.iabCat.push(e[t].id);
                            return this.iabCat.length > 0 ? this.iabCat : ["na"]
                        }
                        ta_gCK() {
                            try {
                                if (Array.isArray(this.keywords) && this.keywords.length) return this.keywords;
                                const e = e => [...new Set(e.flat(1 / 0).filter(Boolean).map(e => String(e).trim().toLowerCase()).filter(e => e.length > 1))],
                                    t = t => t && "string" == typeof t ? e(t.replace(/[^\w\s-]/g, " ").split(/\s+/).filter(e => e.length > 3 && !/^(this|that|with|from|have|were|their|about|would|there|which)$/i.test(e))) : [];
                                try {
                                    const i = [...document.querySelectorAll('script[type="application/ld+json"]')],
                                        o = e => {
                                            if (!e) return [];
                                            if (Array.isArray(e)) return e.flatMap(o);
                                            if ("object" != typeof e) return [];
                                            let i = [];
                                            e.keywords && (Array.isArray(e.keywords) ? i.push(...e.keywords) : "string" == typeof e.keywords && i.push(...e.keywords.split(","))), e.description && i.push(...t(e.description)), e.name && i.push(...t(e.name));
                                            for (const t in e) i.push(...o(e[t]));
                                            return i
                                        };
                                    for (const t of i) try {
                                        const i = JSON.parse(t.textContent || "{}"),
                                            n = e(o(i));
                                        if (n.length >= 3) return this.keywords = n.slice(0, 15)
                                    } catch (e) {}
                                } catch (e) {}
                                this.keywords = n({
                                    topN: 15
                                })
                            } catch (e) {
                                this.keywords = n({
                                    topN: 15
                                })
                            }
                            return o.tx.contextKw = this.keywords, this.keywords
                        }
                        ta_gAC() {
                            this.iab_full = this.iab_full || [];
                            let e = this.iab_full.map(e => {
                                    let t = {};
                                    for (let i = 1; i < 5; i++) {
                                        let o = `tier${i}`;
                                        e.confidence < .75 || e[o] && (t[o] = e[o])
                                    }
                                    return t
                                }),
                                t = [];
                            e.map(e => {
                                for (let i = 1; i < 5; i++) {
                                    let o = `tier${i}`;
                                    if (e[o]) {
                                        if (t.includes(e[o])) continue;
                                        t.push(e[o])
                                    }
                                }
                            });
                            return this.avCat = t.length > 0 ? t : ["na"], this.avCat
                        }
                        ta_gTS() {
                            let e = o.publisher.pu_gU();
                            const t = document.referrer;
                            if (!t && !e) return this.referral = "direct", this.referral;
                            if (!t && e) {
                                const t = `${e.source} ${e.medium} ${e.campaign}`,
                                    i = [{
                                        keywords: ["whatsapp"],
                                        result: "whatsapp"
                                    }, {
                                        keywords: ["facebook", "fb"],
                                        result: "facebook"
                                    }, {
                                        keywords: ["instagram", "ig"],
                                        result: "instagram"
                                    }, {
                                        keywords: ["twitter", "tweet", " x "],
                                        result: "twitter"
                                    }, {
                                        keywords: ["linkedin", "lnkd"],
                                        result: "linkedin"
                                    }, {
                                        keywords: ["tiktok", "ttok"],
                                        result: "tiktok"
                                    }, {
                                        keywords: ["youtube", "ytube", "yt"],
                                        result: "youtube"
                                    }, {
                                        keywords: ["pinterest", "pin"],
                                        result: "pinterest"
                                    }, {
                                        keywords: ["snapchat", "snap"],
                                        result: "snapchat"
                                    }, {
                                        keywords: ["reddit"],
                                        result: "reddit"
                                    }, {
                                        keywords: ["telegram"],
                                        result: "telegram"
                                    }, {
                                        keywords: ["discord"],
                                        result: "discord"
                                    }, {
                                        keywords: ["threads"],
                                        result: "threads"
                                    }, {
                                        keywords: ["line"],
                                        result: "line"
                                    }];
                                for (const {
                                        keywords: e,
                                        result: o
                                    } of i)
                                    if (e.some(e => t.includes(e))) return this.referral = o, this.referral
                            }
                            const i = t.toLowerCase(),
                                n = new URLSearchParams(window.location.search);
                            let r;
                            r = !!n && (n.has("q") || n.has("query") || n.has("search"));
                            const a = {
                                "android-app://com.google.android.gm": "gmail",
                                "android-app://com.linkedin.android": "linkedin",
                                "android-app://com.facebook.katana": "facebook",
                                "android-app://com.instagram.android": "instagram",
                                "android-app://com.twitter.android": "twitter",
                                "android-app://com.x.android": "twitter",
                                "android-app://com.microsoft.teams": "teams",
                                "android-app://com.whatsapp": "whatsapp",
                                "android-app://com.whatsapp.w4b": "whatsapp",
                                "android-app://com.reddit.frontpage": "reddit",
                                "android-app://com.pinterest": "pinterest",
                                "android-app://com.snapchat.android": "snapchat",
                                "android-app://com.zhiliaoapp.musically": "tiktok",
                                "android-app://com.slack/": "slack",
                                "android-app://com.discord": "discord",
                                "android-app://com.telegram.messenger": "telegram",
                                "android-app://org.telegram.messenger": "telegram",
                                "android-app://com.skype.raider": "skype",
                                "android-app://com.viber.voip": "viber",
                                "android-app://com.kakao.talk": "kakaotalk",
                                "android-app://jp.naver.line.android": "line",
                                "android-app://com.tumblr": "tumblr",
                                "android-app://com.medium.reader": "medium",
                                "android-app://com.microsoft.launcher": "microsoft",
                                "android-app://com.facebook.orca": "messenger",
                                "android-app://com.facebook.mlite": "messenger"
                            };
                            for (const e in a)
                                if (i.startsWith(e)) return this.referral = a[e], this.referral;
                            if (i.includes("com.google.android.googlequicksearchbox")) return this.referral = r ? "googleSearch" : "googleDiscover", this.referral;
                            const s = new URL(t),
                                d = s.hostname.replace(/^www\./, "").toLowerCase(),
                                c = (s.pathname.toLowerCase(), {
                                    "drive.google.": "googleDrive",
                                    "docs.google.": "googleDocs",
                                    "maps.google.": "googleMaps",
                                    "mail.google.": "gmail",
                                    "news.google.": "googleNews",
                                    "google.": "googleOrganic",
                                    "google.com": "googleOrganic",
                                    "bing.com": "bing",
                                    "search.yahoo.com": "yahooSearch",
                                    "search.naver.com": "naverSearch",
                                    "yahoo.com": "yahoo",
                                    "duckduckgo.com": "duckduckgo",
                                    "baidu.com": "baidu",
                                    "m.baidu.com": "baidu",
                                    "yandex.": "yandex",
                                    "ecosia.org": "ecosia",
                                    "kagi.com": "kagi",
                                    "search.brave.com": "braveSearch",
                                    "brave.com": "brave",
                                    "naver.com": "naver",
                                    "daum.net": "daum",
                                    "seznam.cz": "seznam",
                                    "aol.com": "aol",
                                    "gemini.": "gemini",
                                    "chatgpt.": "chatgpt",
                                    "perplexity.ai": "perplexity",
                                    "startpage.com": "startpage",
                                    "swisscows.com": "swisscows",
                                    "qwant.com": "qwant",
                                    "mojeek.com": "mojeek",
                                    "chat.openai.com": "chatgpt",
                                    "claude.ai": "claude",
                                    "copilot.microsoft.com": "copilot",
                                    "phind.com": "phind",
                                    "sogou.com": "sogou",
                                    "sm.cn": "shenma",
                                    "neeva.com": "neeva",
                                    "search.daum.net": "daum",
                                    ".wikipedia.org": "wikipedia",
                                    "wikidata.org": "wikidata",
                                    "wiktionary.org": "wiktionary",
                                    "wikivoyage.org": "wikivoyage",
                                    "wolframalpha.com": "wolfram",
                                    "archive.org": "wayback",
                                    "cc.search.creativecommons.org": "creativecommons",
                                    "ntp.msn.com": "microsoftStart",
                                    "start.microsoft.com": "microsoftStart",
                                    "msn.com": "microsoftStart",
                                    "phoenix-browser.com": "phoenix",
                                    "search-dra.dt.dbankcloud.com": "petalSearchHuawei",
                                    "stories.apexnews-sea.com/": "operaNews"
                                });
                            for (const e in c)
                                if (d.includes(e)) return this.referral = c[e], this.referral;
                            const l = {
                                "facebook.com": "facebook",
                                "m.facebook.com": "facebook",
                                "l.facebook.com": "facebook",
                                "lm.facebook.com": "facebook",
                                "instagram.com": "instagram",
                                "l.instagram.com": "instagram",
                                "twitter.com": "twitter",
                                "x.com": "twitter",
                                "t.co": "twitter",
                                "linkedin.com": "linkedin",
                                "lnkd.in": "linkedin",
                                "pinterest.com": "pinterest",
                                "pin.it": "pinterest",
                                "youtube.com": "youtube",
                                "youtu.be": "youtube",
                                "tiktok.com": "tiktok",
                                "tiktok-row.net": "tiktok",
                                "pipo-security-sea.tiktok-row.net": "tiktok",
                                "whatsapp.com": "whatsapp",
                                "web.whatsapp.com": "whatsapp",
                                "wa.me": "whatsapp",
                                "chat.whatsapp.com": "whatsapp",
                                "api.whatsapp.com": "whatsapp",
                                "reddit.com": "reddit",
                                "redd.it": "reddit",
                                "snapchat.com": "snapchat",
                                "threads.net": "threads",
                                "l.threads.com": "threads",
                                "discord.com": "discord",
                                "discord.gg": "discord",
                                "telegram.org": "telegram",
                                "t.me": "telegram",
                                "quora.com": "quora",
                                "wechat.com": "wechat",
                                "weixin.qq.com": "wechat",
                                "line.me": "line",
                                "messenger.com": "messenger",
                                "m.me": "messenger",
                                "fb.me": "facebook",
                                "fb.com": "facebook",
                                "facebookwkhpilnemxj.onion": "facebook",
                                "skype.com": "skype",
                                "join.skype.com": "skype",
                                "viber.com": "viber",
                                "tumblr.com": "tumblr",
                                "medium.com": "medium",
                                "teams.microsoft.com": "teams",
                                "teams.live.com": "teams",
                                "vkontakte.ru": "vk",
                                "odnoklassniki.ru": "odnoklassniki",
                                "news.ycombinator.com": "hackernews",
                                "ycombinator.com": "hackernews",
                                "mastodon.social": "mastodon",
                                "fediverse.": "mastodon",
                                "bsky.app": "bluesky",
                                "bsky.social": "bluesky",
                                "poshmark.com": "poshmark",
                                "nextdoor.com": "nextdoor",
                                "twitch.tv": "twitch",
                                "rumble.com": "rumble",
                                "dailymotion.com": "dailymotion",
                                "vimeo.com": "vimeo",
                                "imgur.com": "imgur",
                                "giphy.com": "giphy",
                                "kakao.com": "kakaotalk",
                                "story.kakao.com": "kakaostory",
                                "band.us": "band",
                                "weibo.com": "weibo",
                                "m.weibo.cn": "weibo",
                                "douyin.com": "douyin",
                                "xiaohongshu.com": "xiaohongshu",
                                "xhslink.com": "xiaohongshu",
                                "word-edit.officeapps.live.com": "microsoftWord",
                                "word-view.officeapps.live.com": "microsoftWord",
                                "excel-edit.officeapps.live.com": "microsoftExcel",
                                "excel-view.officeapps.live.com": "microsoftExcel",
                                "powerpoint-edit.officeapps.live.com": "microsoftPowerPoint",
                                "powerpoint-view.officeapps.live.com": "microsoftPowerPoint",
                                "onenote-edit.officeapps.live.com": "microsoftOneNote",
                                "onenote-view.officeapps.live.com": "microsoftOneNote"
                            };
                            for (const e in l)
                                if (d.includes(e)) return this.referral = l[e], this.referral;
                            return this.referral = t, this.referral
                        }
                    }
                },
                8719(e) {
                    var t = window.av;
                    e.exports = new class {
                        constructor(e) {
                            for (var t in e = e || {}) this[t] = e[t];
                            return window.googletag = window.googletag || {}, window.googletag.cmd = window.googletag.cmd || [], this.adsenseSizes = ["300x600", "300x250", "728x90", "320x50", "320x100", "300x100", "160x600"], this.refreshDisabledGamIds = this.refreshDisabledGamIds || window.__refreshDisabledGamIds || [], this.filledImpressions = this.filledImpressions || 0, this.unfilledImpressions = this.unfilledImpressions || 0, this.kvps = this.kvps || {}, this
                        }
                        go_dR() {
                            t.units.forEach(function(e) {
                                e.refreshDisabled = !0
                            })
                        }
                        go_iT() {
                            if (this.initialized) return !1;
                            this.initialized = !0;
                            const e = window.googletag;
                            if (Array.isArray(e.cmd))
                                if (0 === e.cmd.length) this.disabledInitialLoad = !0, e.cmd.push(function() {
                                    t.ma_hP("coppa") && e.pubads().setPrivacySettings({
                                        childDirectedTreatment: !0
                                    }), t.ma_sDGM("disableInitialLoad", !0), e.pubads().enableAsyncRendering(), e.enableServices()
                                });
                                else {
                                    let i = "";
                                    const o = function(i) {
                                        const o = function() {
                                            const o = t.ma_sDGM("disableInitialLoad", !0),
                                                n = e.enableServices;
                                            e.pubads().disableInitialLoad = function() {}, e.enableServices = function() {};
                                            try {
                                                i()
                                            } catch (e) {
                                                throw t.warn("Error in trying to call fn() in overriding cmd in the google initialization", "google"), e.code = "google_init_fail", e.type = "catch", t.ma_lE(e), e
                                            } finally {
                                                e.pubads().disableInitialLoad = o, e.enableServices = n
                                            }
                                        };
                                        if (!t.google.disabledInitialLoad) {
                                            t.google.disabledInitialLoad = !0;
                                            return function() {
                                                t.ma_sDGM("disableInitialLoad", !0), o()
                                            }
                                        }
                                        return o
                                    };
                                    try {
                                        for (let t = 0; t < e.cmd.length; t++) {
                                            const n = e.cmd[t];
                                            "function" == typeof n && (i = n.toString(), e.cmd[t] = o(n))
                                        }
                                        this.disabledInitialLoad || (this.disabledInitialLoad = !0, e.cmd.push(function() {
                                            t.ma_sDGM("disableInitialLoad", !0)
                                        })), e.cmd.push(function() {
                                            e.enableServices()
                                        })
                                    } catch (o) {
                                        o.code = "gpt-dil-es-injection";
                                        const n = [];
                                        for (let t = 0; t < e.cmd.length; ++t) n.push(e.cmd[t].toString());
                                        o.environment = {
                                            functionCode: i,
                                            cmd: n
                                        }, o.type = "catch", t.ma_lE(o), this.disabledInitialLoad = !0, e.cmd.push(function() {
                                            t.ma_hP("coppa") && e.pubads().setPrivacySettings({
                                                childDirectedTreatment: !0
                                            }), t.ma_sDGM("disableInitialLoad", !0), e.enableServices()
                                        })
                                    }
                                }
                            else t.warn("googletag.cmd is no longer an array, gpt instantiated before disable");
                            if (t.ma_hP("dfpSingleRequest") && e.cmd.push(function() {
                                    e.pubads().enableSingleRequest()
                                }), t.ma_hP("taxonomy") && (t.tx.ppid && null !== t.tx.ppid && e.cmd.push(function() {
                                    e.pubads().setPublisherProvidedId(t.tx.ppid)
                                }), e.cmd.push(function() {
                                    t.ma_sDTM("set", {
                                        iabCat: t.tx.ta_gIABC(),
                                        contextKw: t.tx.ta_gCK(),
                                        url: t.tx.url,
                                        avCat: t.tx.ta_gAC(),
                                        referral: t.tx.ta_gTS(),
                                        dow: String(t.tx.dow),
                                        day: String(t.tx.day),
                                        month: String(t.tx.month),
                                        hour: String(t.tx.hour),
                                        browser: t.ty ? .tr_fBN() || "",
                                        lang: t.tx.lang,
                                        country: t.visitor.geo.country,
                                        city: t.visitor.geo.city,
                                        region: t.visitor.geo.region
                                    })
                                })), e.cmd.push(function() {
                                    t.ma_sDTM("set", {
                                        sessionDepth: String(t.visitor.vi_gSDH()),
                                        av_config: String(t.publisher.pu_gCV())
                                    });
                                    let e = t.publisher.collapseEmptyDivs;
                                    switch (e || (e = "disabled"), e) {
                                        case "collapsed":
                                        default:
                                            t.ma_sDGM("collapseDiv", "BEFORE_FETCH");
                                            break;
                                        case "expanded":
                                            t.ma_sDGM("collapseDiv", "ON_NO_FILL");
                                            break;
                                        case "disabled":
                                            t.ma_sDGM("collapseDiv", "DISABLED")
                                    }
                                    t.ma_sDGM("centering", !0)
                                }), this.go_iK(), e.cmd.push(function() {
                                    for (var e in t.google.kvps) t.ma_sDTM("set", e, t.google.kvps[e])
                                }), t.ma_lGG(), t.timestamps.googleEmbedded = (new Date).getTime(), t.google.kvps.avads_logic = "enabled", t.ma_hP("trackURI")) {
                                t.google.go_cP(window.location.pathname) > 40 && t.warn("pathname exceeds 40 char with URI tracking enabled"), t.google.kvps.request_uri = window.location.pathname.substring(0, 40)
                            }
                        }
                        go_cP(e) {
                            let t = e;
                            return t = t.replace("avhbconsole=true", ""), t = t.replace("pbjs_debug=true", ""), t = t.replace("avhb=", ""), t = t.replace("&&", "&"), t = t.replace("&&", "&"), t = t.replace("?&", "?"), t = t.replace("avos", ""), t = t.replace("avcmp", ""), t = t.replace("#google_vignette", ""), t = decodeURIComponent(t), t
                        }
                        go_gAS() {
                            return t.publisher.pu_gBD()
                        }
                        go_cSR() {
                            try {
                                let e = t.google.go_gAS();
                                if (!e) return void t.ma_lE({
                                    code: "domain_name_exception",
                                    environment: {
                                        functionCode: "go_cSR"
                                    }
                                });
                                e = e.split(".").join("_");
                                const i = t.google.go_gNC();
                                if (!i) return void t.warn("missing network code, cannot create web side rails", "siderails");
                                let o = t.units.find(e => e.code.indexOf("siderail_left") > -1);
                                o || (o = {
                                    code: "/" + i + "/" + e + "_siderail_left",
                                    type: "display",
                                    autozone: "siderail_left",
                                    avformat: "siderail",
                                    device: "desktop",
                                    pos: 6
                                }), o = new t.constructors.Unit(o), t.units.push(o);
                                let n = t.units.find(e => e.code.indexOf("siderail_right") > -1);
                                n || (n = {
                                    code: "/" + i + "/" + e + "_siderail_right",
                                    type: "display",
                                    autozone: "siderail_right",
                                    avformat: "siderail",
                                    device: "desktop",
                                    pos: 6
                                }), n = new t.constructors.Unit(n), t.units.push(n), t.google.leftSideRail = o, t.google.rightSideRail = n, o.defineOutOfPage("leftSideRail"), n.defineOutOfPage("rightSideRail"), window.googletag.cmd.push(t.ma_tCH(function() {
                                    n.googleSlot ? (n.un_dOOP(), o.googleSlot ? o.un_dOOP() : o.un_d("gpt-disabled")) : n.un_d("gpt-disabled")
                                }), "gpt_google_side_rails_for_web")
                            } catch (e) {
                                e.code = "siderail_fail", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        go_rRFFB(e, i, o) {
                            let n = t.visitor.vi_s(e);
                            Array.isArray(n) || (n = n ? [Number(n)] : [o]), t.visitor.vi_s(e, n, i / 86400)
                        }
                        go_cI(e) {
                            if (t.visitor.vi_cEAS("av_instl", 60, "interstitial", !0)) try {
                                let i = t.units.find(e => "interstitial" === e.avformat) || t.units.find(e => e.code.indexOf("_interstitial") > -1);
                                if (!i) {
                                    let e = t.google.go_gAS();
                                    if (!e) return void t.ma_lE({
                                        code: "domain_name_exception",
                                        environment: {
                                            functionCode: "go_cI"
                                        }
                                    });
                                    e = e.split(".").join("_");
                                    const o = t.google.go_gNC();
                                    if (!o) return void t.warn("missing network code, cannot create google top anchor", "gpt-anchor-top");
                                    i = {
                                        code: "/" + o + "/" + e + "_interstitial",
                                        type: "display",
                                        autozone: "disabled",
                                        avformat: "interstitial",
                                        device: "both",
                                        pos: 7
                                    }, i = new t.constructors.Unit(i), t.units.push(i), i.defineOutOfPage(i.avformat)
                                }
                                if (("interstitial" !== i.avformat || e) && (i.avformat = "interstitial", i.defineOutOfPage(i.avformat)), i.un_dOP(), i.disabled && i.disabled.length > 0) return;
                                t.google.interstitial = i, window.googletag.cmd.push(t.ma_tCH(function() {
                                    let e = t.google.interstitial;
                                    e.googleSlot ? (e.un_dOOP(), window.googletag.pubads().addEventListener("slotOnload", function(t) {
                                        e.googleSlot, t.slot
                                    }), window.googletag.pubads().addEventListener("slotRenderEnded", function(t) {
                                        e.googleSlot, t.slot
                                    })) : e.un_d("gpt-disabled")
                                }), "gpt_google_interstitial_for_web")
                            } catch (e) {
                                e.code = "interstitial_fail", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        go_cCOL(e) {
                            if (t.visitor.vi_cEAS("av_gco", 600, "overlay", !0)) try {
                                if (!t.visitor.vi_iM() && !t.ma_hP("overlayDesktop")) return;
                                let i = t.units.find(e => "overlay" === e.avformat) || t.units.find(e => e.code.indexOf("_overlay") > -1);
                                if (!i) {
                                    let e = t.google.go_gAS();
                                    if (!e) return void t.ma_lE({
                                        code: "domain_name_exception",
                                        environment: {
                                            functionCode: "go_cCOL"
                                        }
                                    });
                                    e = e.split(".").join("_");
                                    const o = t.google.go_gNC();
                                    if (!o) return void t.warn("missing network code, cannot create google content overlay", "overlay");
                                    i = {
                                        code: "/" + o + "/" + e + "_overlay",
                                        type: "display",
                                        autozone: "disabled",
                                        avformat: "overlay",
                                        device: "both",
                                        pos: 7
                                    }, i = new t.constructors.Unit(i), t.units.push(i), i.defineOutOfPage(i.avformat)
                                }
                                if (("overlay" !== i.avformat || e) && (i.avformat = "overlay", i.defineOutOfPage(i.avformat)), i.un_dOP(), i.disabled && i.disabled.length > 0) return;
                                t.google.overlay = i, window.googletag.cmd.push(t.ma_tCH(function() {
                                    let e = t.google.overlay;
                                    e.googleSlot ? (e.un_dOOP(), window.googletag.pubads().addEventListener("slotOnload", function(t) {
                                        e.googleSlot, t.slot
                                    }), window.googletag.pubads().addEventListener("slotRenderEnded", function(t) {
                                        e.googleSlot, t.slot
                                    })) : e.un_d("gpt-disabled")
                                }), "google_overlay_for_web")
                            } catch (e) {
                                e.code = "overlay_fail", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        go_cGA() {
                            try {
                                let e = t.publisher.gptAnchor,
                                    i = t.units.find(t => t.avformat === `gpt-anchor-${e}`) || t.units.find(t => t.code.indexOf(`anchor_${e}`) > -1);
                                if (!i) {
                                    let o = t.google.go_gAS();
                                    if (!o) return void t.ma_lE({
                                        code: "domain_name_exception",
                                        environment: {
                                            functionCode: "go_cGA"
                                        }
                                    });
                                    o = o.split(".").join("_");
                                    const n = t.google.go_gNC();
                                    if (!n) return void t.warn("missing network code, cannot create google top anchor", "gptanchor");
                                    let r;
                                    r = t.visitor.vi_iM() ? [
                                        [320, 50],
                                        [320, 100]
                                    ] : [
                                        [728, 90],
                                        [728, 250]
                                    ], i = {
                                        code: "/" + n + "/" + o + `_anchor_${e}`,
                                        type: "display",
                                        sizes: r,
                                        autozone: "disabled",
                                        avformat: `gpt-anchor-${e}`,
                                        device: "both"
                                    }, i = new t.constructors.Unit(i), t.units.push(i), i.defineOutOfPage(i.avformat)
                                }
                                if (i.avformat !== `gpt-anchor-${e}` && (i.avformat = `gpt-anchor-${e}`, i.defineOutOfPage(i.avformat)), i.un_dOP(), i.disabled && i.disabled.length > 0) return;
                                t.google.ANCHOR = i, window.googletag.cmd.push(t.ma_tCH(function() {
                                    let e = t.google.ANCHOR;
                                    e.googleSlot ? (e.un_dOOP(), window.googletag.pubads().addEventListener("slotOnload", function(t) {
                                        e.googleSlot, t.slot
                                    }), window.googletag.pubads().addEventListener("slotRenderEnded", function(t) {
                                        e.googleSlot, t.slot
                                    })) : e.un_d("gpt-disabled")
                                }), "gpt-anchor")
                            } catch (e) {
                                e.code = "gpt_anchor_fail", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        go_cCO() {
                            try {
                                let e = t.google.go_gAS();
                                if (!e) return void t.ma_lE({
                                    code: "domain_name_exception",
                                    environment: {
                                        functionCode: "go_cCO"
                                    }
                                });
                                e = e.split(".").join("_");
                                let i = t.ma_gU(e + "_OOP_High_Impact") || t.units.find(e => e.code.indexOf("_OOP_High_Impact") > -1);
                                if (!i) {
                                    const o = t.google.go_gNC();
                                    if (!o) return void t.warn("missing network code, cannot create custom-oop", "avoop");
                                    i = {
                                        code: "/" + o + "/" + e + "_OOP_High_Impact",
                                        slot: e + "_OOP_High_Impact",
                                        type: "display",
                                        avformat: "outofpage",
                                        device: "both",
                                        pos: 1
                                    }
                                }
                                if (i = new t.constructors.Unit(i), t.units.push(i), i.un_dR(), i.un_dOP(), i.disabled && i.disabled.length > 0) return;
                                if (i.node = i.node || document.getElementById(i.slot), i.node) i.slot;
                                else {
                                    if (void 0 === document.body || null === document.body) return void t.que3.push(function() {
                                        t.google.go_cCO()
                                    }, "que3avoop");
                                    i.slot, i.node = document.createElement("div"), i.node.setAttribute("id", i.slot), document.body.appendChild(i.node)
                                }
                                t.customOOP = i, i.defineOutOfPage("customOOP"), i.un_dOOP(), window.googletag.cmd.push(() => {
                                    let e = t.customOOP;
                                    e.googleSlot && t.que3.push(() => {
                                        const i = window.googletag.pubads();
                                        i.addEventListener("slotOnload", t => {
                                            e.googleSlot === t.slot && t.slot.getAdUnitPath()
                                        }), i.addEventListener("slotRenderEnded", i => {
                                            e.googleSlot === i.slot && i.isEmpty && "google" === t.publisher.interstitial && t.google.go_cI()
                                        })
                                    })
                                }, "av_custom_oop")
                            } catch (e) {
                                e.code = "custom_oop_fail", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        go_cR(e) {
                            if (t.visitor.vi_c("rwrdFreq")) return void t.que12.xq("freq");
                            const i = document.getElementsByClassName("reward_advergic").length;
                            if (0 != i || t.ma_hP("rewardFn")) {
                                t.ma_hP("rewardFn") || i > 0 && t.navigateHandler && (window.navigation.removeEventListener("navigate", t.navigateHandler), t.navigateHandler = null);
                                try {
                                    let i = t.google.go_gAS();
                                    if (!i) return void t.ma_lE({
                                        code: "domain_name_exception",
                                        environment: {
                                            functionCode: "go_cR"
                                        }
                                    });
                                    i = i.split(".").join("_");
                                    const o = t.google.go_gNC();
                                    if (!o) return void t.warn("missing network code, cannot create web rewarded", "rewarded");
                                    let n = t.units.find(e => e.code.indexOf("_rewarded") > -1);
                                    n || (n = {
                                        code: "/" + o + "/" + i + "_rewarded",
                                        type: "display",
                                        avformat: "rewarded",
                                        device: "both",
                                        pos: 7
                                    }), e && (n.code = "/" + o + "/" + i + "_rewarded/" + e);
                                    let r = new t.constructors.Unit(n);
                                    t.units.push(r), r.un_dOP(), r.disabled && 0 !== r.disabled.length || (t.google.rewarded = r, r.defineOutOfPage("rewarded"), r.un_dOOP(!1), window.googletag.cmd.push(() => {
                                        r = t.google.rewarded, r.googleSlot && t.que3.push(() => {
                                            const e = window.googletag.pubads();
                                            t.google._rewardListeners && t.google._rewardListeners.forEach(t => {
                                                let [i, o] = t;
                                                e.removeEventListener(i, o)
                                            });
                                            const i = [
                                                ["slotOnload", e => {
                                                    r.googleSlot === e.slot && e.slot.getAdUnitPath()
                                                }],
                                                ["slotRenderEnded", e => {
                                                    r.googleSlot === e.slot && e.isEmpty && (window.rwrdUnfill = !0, t.que11.xq(), t.ma_lE({
                                                        code: "reward_unfilled",
                                                        stream: "events",
                                                        type: "info"
                                                    }))
                                                }],
                                                ["rewardedSlotReady", e => {
                                                    window.rwrdEvent = e, t.que10.xq(e)
                                                }],
                                                ["rewardedSlotGranted", e => {
                                                    t.que12.xq(e), t.warn("executing rewarded ads delivered", "rewarded", e)
                                                }],
                                                ["rewardedSlotClosed", e => {
                                                    window.googletag.destroySlots([e.slot]), t.que12.args.length > 0 ? t.ma_lE({
                                                        code: "reward_granted",
                                                        stream: "events"
                                                    }) : (t.ma_lE({
                                                        code: "reward_abandoned",
                                                        stream: "events"
                                                    }), t.que13.xq(e))
                                                }]
                                            ];
                                            i.forEach(t => {
                                                let [i, o] = t;
                                                return e.addEventListener(i, o)
                                            }), t.google._rewardListeners = i
                                        })
                                    }))
                                } catch (e) {
                                    e.code = "rwd_fail", e.type = "catch", t.ma_lE(e), t.que11.xq()
                                }
                            } else window.navigation && (t.navigateHandler || (t.navigateHandler = e => {
                                t.google.go_cR()
                            }, window.navigation.addEventListener("navigate", t.navigateHandler)))
                        }
                        go_cO() {
                            try {
                                let i = t.google.go_gAS();
                                if (!i) return void t.ma_lE({
                                    code: "domain_name_exception",
                                    environment: {
                                        functionCode: "go_cO"
                                    }
                                });
                                i = i.split(".").join("_");
                                let o = t.ma_gU(i + "_outstream_advergic") || t.units.find(e => e.un_iV());
                                if (!o) {
                                    const e = t.google.go_gNC();
                                    if (!e) return void t.warn("missing network code, cannot create outstream", "outstream");
                                    o = {
                                        code: "/" + e + "/" + i + "_outstream_advergic",
                                        avformat: "video",
                                        slot: i + "_outstream_advergic",
                                        device: "both"
                                    }, o = new t.constructors.Unit(o), t.units.push(o)
                                }
                                if (o.sizes = [
                                        [640, 360]
                                    ], t.ma_hP("instream") || (o.position = "preroll"), o.autoplay = !0, o.muted = !0, o.un_dOP(), o.disabled && o.disabled.length > 0) return;
                                if (o.node = document.getElementById(o.slot), o.node) o.onpage = !0, o.slot;
                                else {
                                    if (void 0 === document.body || null === document.body) return o.onpage = !1, void t.que3.push(function() {
                                        t.google.go_cO()
                                    }, "que3Outstream");
                                    o.slot, o.onpage = !1, o.node = document.createElement("div"), o.node.setAttribute("id", o.slot), document.body.appendChild(o.node)
                                }
                                if (t.ma_hP("instream")) {
                                    if (!document.getElementById("video-container")) {
                                        const e = document.createElement("div");
                                        e.id = "video-container", e.setAttribute("align", "center"), e.style.marginTop = t.ma_hP("outstreamLogo") ? "37px" : "20px", e.style.marginBottom = "20px", t.ma_iB(e, o.node), e.appendChild(o.node)
                                    }
                                }
                                let n = 256,
                                    r = 144,
                                    a = 640,
                                    s = 360,
                                    d = 300,
                                    c = 168;
                                if (t.visitor.vi_iM()) {
                                    const e = "undefined" != typeof window && window.innerWidth || 0,
                                        t = e > 0;
                                    a = t ? Math.round(.8 * e) : 300, s = t ? Math.round(9 * a / 16) : 168, d = t ? Math.round(.6 * e) : 256, c = t ? Math.round(9 * d / 16) : 144
                                }
                                o.playerSize = {}, o.playerSize.width = Math.max(o.node.getAttribute("data-width") || o.node.getAttribute("width") || a, n), o.playerSize.height = Math.max(o.node.getAttribute("data-height") || o.node.getAttribute("height") || s, r), o.playerSize.stickyWidth = Math.max(o.node.getAttribute("data-sticky-width") || o.node.getAttribute("sticky-width") || d, n), o.playerSize.stickyHeight = Math.max(o.node.getAttribute("data-sticky-height") || o.node.getAttribute("sticky-height") || c, r), o.code, o.slot, t.google.outstream = o;
                                var e = o.un_gVADU();
                                o.un_pVA(e), t.outstreamScrollListener = t.throttle(function() {
                                    const e = t.google.outstream;
                                    if (e.onpage && !e.rendered && t.publisher.outstreamDepth >= 0) {
                                        t.ma_dFV(e.code) <= t.visitor.vi_gSH() * t.publisher.outstreamDepth && (e.isVisible = !0, e.playerEvents && e.playerEvents.adsready && (e.videoPlayer.play(), e.rendered = t.timestamps.now()))
                                    }
                                    if (e && e.isVisible) {
                                        e.un_sOP();
                                        let i = e.node.parentNode;
                                        i = null !== i && "BODY" !== i.tagName && "video-container" == i.id ? e.node.parentNode : "", t.ma_hP("outstreamLogo") && t.ma_iIV(e.node) && !t.ma_iIV(i) && (e.un_aCB("outstream"), e.un_aAL("outstream"))
                                    }
                                }, 100), t.que3.push(function() {
                                    window.addEventListener("scroll", t.outstreamScrollListener)
                                }, "que3-scroll-listener")
                            } catch (e) {
                                e.code = "video_exception", e.type = "catch", t.ma_lE(e)
                            }
                        }
                        go_iSNS(e) {
                            const t = e.getAttribute("data-adsbygoogle-status");
                            return /(^| )adsbygoogle($| )/.test(e.className) && "done" !== t && "reserved" !== t
                        }
                        go_lABG() {
                            t.google.adsByGoogleQueued || (t.google.adsByGoogleQueued = !0, t.visitor.vi_iM() || t.ma_hP("interstitialDesktop") ? (t.ma_hP("interstitial") && (t.publisher.interstitial = "google"), t.ma_hP("interstitial") || (t.publisher.interstitial = "disabled"), -1 === ["google", "adsense", "disabled", "av"].indexOf(t.publisher.interstitial) && (t.warn("found invalid value for interstitial field"), t.ma_hP("adsenseAutoAds") ? t.publisher.interstitial = "adsense" : t.publisher.interstitial = "google")) : t.publisher.interstitial = "disabled", t.que3.push(function() {
                                try {
                                    const r = t.publisher.adsenseClientId;
                                    if (t.ma_hP("adsenseAutoAds") && r) {
                                        var e = "//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",
                                            i = document.getElementsByTagName("script");
                                        for (let o = 0; o < i.length; ++o) {
                                            const n = i[o];
                                            if (n.src.indexOf(e) >= 0) {
                                                const e = n.getAttribute("data-ad-client");
                                                e === r ? t.google.adsByGoogleLoaded = !0 : t.warn("detected adsbygoogle.js with different clientId[" + e + "]")
                                            }
                                        }
                                        if (!t.google.adsByGoogleLoaded) {
                                            const i = document.createElement("script");
                                            i.async = !0, i.type = "text/javascript", i.src = document.location.protocol + e, i.setAttribute("data-ad-client", r);
                                            var o = document.getElementsByTagName("head")[0];
                                            o.insertBefore(i, o.firstChild), t.google.adsByGoogleLoaded = !0
                                        }
                                    }
                                    t.ma_hP("overlay") && t.google.go_cCOL(), t.ma_hP("siderails") && t.google.go_cSR(), t.ma_hP("rewarded") && !t.ma_hP("spaRewarded") && t.google.go_cR(), "google" !== t.publisher.interstitial || t.ma_hP("customOOP") || t.google.go_cI(), t.ma_hP("gptAnchor") && t.google.go_cGA(), t.ma_hP("customOOP") && t.google.go_cCO();
                                    var n = document.getElementsByTagName("ins");
                                    !t.google.adsByGoogleLoaded && (n.length > 0 || void 0 !== window.adsbygoogle) && (t.google.adsByGoogleLoaded = !0, n.length, t.ma_lJ("//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js")), window.adsbygoogle = window.adsbygoogle || []
                                } catch (e) {
                                    e.code = "adsbygoogle_js_exception", e.type = "catch", t.ma_lE(e)
                                }
                            }, "que3GoogleAdSense"))
                        }
                        go_iPR() {
                            return !(!window.googletag || !window.googletag.pubadsReady) && (t.timestamps.pubadsReady = t.timestamps.pubadsReady || Date.now(), !0)
                        }
                        go_eLR() {
                            const e = window.googletag;
                            if (!t.google.go_iPR()) return !1;
                            if (void 0 === this.eventIsLogReady) {
                                this.eventIsLogReady = !1;
                                try {
                                    e.pubads().log && e.pubads().log.getAllEvents && (this.eventIsLogReady = !0)
                                } catch (t) {
                                    try {
                                        e.cmd.push(function() {
                                            if (e.pubads().log && e.pubads().log.getAllEvents) return this.eventIsLogReady = !0, !0
                                        })
                                    } catch (e) {
                                        return !1
                                    }
                                }
                            }
                            return !1
                        }
                        go_gEFS(e, i) {
                            const o = window.googletag;
                            var n = [];
                            try {
                                if (o.pubads().log && o.pubads().log.getAllEvents) {
                                    var r = o.pubads().log.getAllEvents();
                                    r && r.length && r.filter(function(t) {
                                        return t.getMessage && t.getMessage().getMessageId && t.getMessage().getMessageId() === e
                                    }).forEach(function(e) {
                                        if (!(e.getTimeStamp && e.getSlot && e.getMessage && e.getMessage().getMessageArgs)) return n;
                                        var t = e.getTimeStamp().getTime() - r[0].getTimeStamp().getTime();
                                        e.getSlot() && 1 === e.getMessage().getMessageArgs().length && e.getMessage().getMessageArgs()[0].indexOf(e.getSlot().getAdUnitPath()) > -1 && e.getSlot().getAdUnitPath() === i && n.push(t)
                                    })
                                }
                            } catch (e) {
                                t.warn("Error in getEventForSlot:", e)
                            }
                            return n
                        }
                        go_iK() {
                            t.google.kvps = t.google.kvps || {}, void 0 !== window.kvps && Object.keys(window.kvps).length > 0 && Object.keys(window.kvps).forEach(function(e) {
                                t.google.kvps[e] = window.kvps[e]
                            }), void 0 !== window.__kvps && Object.keys(window.__kvps).length > 0 && Object.keys(window.__kvps).forEach(function(e) {
                                t.google.kvps[e] = window.__kvps[e]
                            }), void 0 !== window.av && void 0 !== window.av.kvps && Object.keys(window.av.kvps).length > 0 && Object.keys(window.av.kvps).forEach(function(e) {
                                t.google.kvps[e] = window.av.kvps[e]
                            });
                            const e = t.md5(t.publisher.pu_gCL());
                            t.google.kvps.av_canonical = e, t.visitor.vi_iNS() ? (t.visitor.vi_s("av_canonical_session", e), t.google.kvps.av_canonical_session = e) : t.visitor.vi_s("av_canonical_session") ? t.google.kvps.av_canonical_session = t.visitor.vi_s("av_canonical_session") : t.warn("av_canonical_session not found in session")
                        }
                        go_fU() {
                            for (var e = t.units.length - 1; e >= 0; e--) {
                                var i = t.units[e];
                                t.visitor.vi_iM() ? i.un_aOM() ? (i.code, i.device) : i.un_d("desktop-on-mobile") : t.visitor.vi_iM() || (i.un_aOD() ? (i.code, i.device) : i.un_d("mobile-on-desktop"))
                            }
                        }
                        go_kP() {
                            return !!t.visitor.vi_c("kvpsPosted") && (t.visitor.vi_c("kvpsPosted", 1, 1 / 24), !0)
                        }
                        go_pK() {
                            if (this.go_kP()) return !1;
                            if (!t.google.go_iPR()) return t.google.postKvpTries = t.google.postKvpTries || 0, t.google.postKvpTries++ < 10 && setTimeout(function() {
                                t.google.go_pK()
                            }, 2e3), !1;
                            t.visitor.vi_c("kvpsPosted", 1, 1 / 24);
                            var e = {};
                            ["avssn", "av_config", "avpv"].forEach(function(i) {
                                e[i] = [t.publisher.pu_gCV()]
                            });
                            var i = ["av_pb", "av_bidder", "av_format", "av_size", "avads_logic", "av_config", "avpv", "avssn", "av_canonical", "av_canonical_session", "av_ab", "gDisable", "referral", "browser"];
                            for (var o in window.googletag.cmd.push(t.ma_tCH(function() {
                                    window.googletag.pubads().getSlots().forEach(function(o) {
                                        t.google.go_gTK(o).forEach(function(n) {
                                            i.indexOf(n) >= 0 && (e[n] = e[n] || [], t.ma_sDTM("get", n, null, o).forEach(function(t) {
                                                !isNaN(parseFloat(t)) && isFinite(t) && (t = Number(t)), e[n].indexOf(t) < 0 && e[n].push(t)
                                            }))
                                        })
                                    })
                                }, "gpt_postkvps_exception")), t.google.kvps) {
                                e[o] = e[o] || [];
                                let i = t.google.kvps[o];
                                !isNaN(parseFloat(i)) && isFinite(i) && (i = Number(i)), e[o].indexOf(i) < 0 && e[o].push(i)
                            }
                        }
                        go_gTK(e) {
                            return t.ma_cSLCS(e) ? Object.keys(e.getConfig("targeting").targeting) : e.getTargetingKeys()
                        }
                        go_gNC() {
                            if (void 0 === this.gamNetworkCode) {
                                for (var e in window.adUnits)
                                    if (window.adUnits[e].code) {
                                        var i = window.adUnits[e].code.split("/");
                                        if (void 0 !== i[1]) {
                                            this.gamNetworkCode, this.gamNetworkCode = i[1];
                                            break
                                        }
                                    } else;
                                this.gamNetworkCode = this.gamNetworkCode || (t.publisher.networkCode ? t.publisher.networkCode.toString() : "")
                            }
                            return this.gamNetworkCode
                        }
                        go_gPC() {
                            return void 0 === this.gamParentCode && (this.gamParentCode = this.go_gNC().split(",")[0], this.gamParentCode = this.gamParentCode || t.publisher.gamParentCode || "", this.gamParentCode), this.gamParentCode
                        }
                        go_gCC() {
                            return void 0 === this.gamChildCode && (this.gamChildCode = this.go_gNC().split(",")[1], this.gamChildCode = this.gamChildCode || t.publisher.gamChildCode || "", this.gamChildCode), this.gamChildCode
                        }
                        go_dFU() {
                            t.units.forEach(function(e) {
                                e.define()
                            })
                        }
                        go_dPU() {
                            t.units.forEach(function(e) {
                                e.un_dY()
                            })
                        }
                        go_rAU() {
                            t.units.forEach(function(e) {
                                e.un_r("click")
                            })
                        }
                        go_rVU() {
                            t.units.forEach(function(e) {
                                e.un_rIV()
                            })
                        }
                        go_rA(e) {
                            if (e = e || "unknown", t.timestamps.adsRequested) return !1;
                            if (t.timestamps.adsRequested = t.timestamps.now(), t.units.forEach(function(e) {
                                    e.un_iA(), e.un_iP();
                                    var i = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
                                    e.un_iAB() && t.publisher.anchorDelay > 0 && t.publisher.anchorDelay * i > window.scrollY || (e.un_iI() || e.un_iGA() ? e.code : e.un_dY())
                                }), t.visitor.vi_iM() && !t.ma_hP("outstreamMobile") && (t.publisher.outstream = !1), t.ma_hP("outstream") && t.ma_hP("unibots")) {
                                let e = "//cdn.unibotscdn.com/player/mvp/player.js";
                                "PK" !== t.visitor.geo.country ? t.ma_lJ(e) : t.google.go_cO()
                            } else t.ma_hP("outstream") && !t.ma_hP("unibots") ? t.google.go_cO() : !t.ma_hP("outstream") && t.ma_hP("unibots") ? t.ma_lJ(unibotPlayer) : t.get("avos") && (t.publisher.outstreamLogo = !0, t.google.go_cO())
                        }
                        go_cCU(e, i) {
                            e.childCount++;
                            var o = new t.constructors.Unit(e);
                            return o.code += "/" + o.childCount, o.slot = "div-gpt-" + Math.ceil(1e8 * Math.random()), o.unfilledCount = 0, o.renderCount = 0, o.targetingSet = !1, t.google.go_rU(o), o
                        }
                        go_rU(e) {
                            e.defined = !1, e.defineQueued = !1, e.displayed = !1, e.viewedAt = !1, e.rendered = !1, e.pendingBidId = !1, e.gptSlot = !1, e.node = !1, e.bid = [], e.origin = "spa"
                        }
                        go_rR() {
                            let e = t.units.find(e => e.code.indexOf("rewarded") > -1);
                            t.google.go_rU(e), window.rwrdEvent && (window.rwrdEvent = void 0), t.google._rewardListeners && t.google._rewardListeners.forEach(e => {
                                let [t, i] = e;
                                window.googletag.pubads().removeEventListener(t, i)
                            }), t.que10.reset(), t.que11.reset(), t.que12.reset(), t.que13.reset(), t.rewardCallCount = t.rewardCallCount || 0, t.rewardCallCount++, t.google.go_cR(t.rewardCallCount)
                        }
                        go_fSN(e) {
                            if (e.classList || e.classList.contains("av-lazy") || e.classList.contains("lazy")) {
                                t.publisher.spaObserved = t.publisher.spaObserved || 0, t.publisher.spaObserved++;
                                try {
                                    const o = e.getAttribute("parent-unit") || e.getAttribute("data-parent-unit");
                                    let n = !1;
                                    if (e.id) {
                                        const i = t.ma_gU(e.id);
                                        if (i)
                                            if (i.displayed) {
                                                if (e.classList.contains("av-ad")) return e.classList.add("lazy-unit"), e.classList.contains("av-lazy") && e.classList.remove("av-lazy"), void(e.classList.contains("lazy") && e.classList.remove("lazy"))
                                            } else n = i, n.slot = e.id, n.isAlreadyAdded = !0;
                                        else t.warn("unit was designed for spa but no matching unit found")
                                    }
                                    if (!n && o) {
                                        const e = t.ma_gU(o);
                                        e && (n = t.google.go_cCU(e))
                                    }
                                    if (!n)
                                        if (e.id || o) t.warn("unit.id[" + e.id + "].parent[" + o + "] designed for SPA but no eligible parent found");
                                        else
                                            for (let o of t.units)
                                                if (o.sizes && o.sizes.length > 0) {
                                                    var i = !0;
                                                    for (let n of o.sizes) {
                                                        if (t.visitor.vi_iM() && !o.un_aOM()) {
                                                            i = !1;
                                                            break
                                                        }
                                                        if (!t.visitor.vi_iM() && !o.un_aOD()) {
                                                            i = !1;
                                                            break
                                                        }
                                                        if (o.un_iOOP()) {
                                                            i = !1;
                                                            break
                                                        }
                                                        if ("fluid" === n || "native" === n);
                                                        else if (0 !== e.offsetWidth && n[0] > e.offsetWidth || 0 !== e.offsetHeight && n[1] > e.offsetHeight) {
                                                            i = !1;
                                                            break
                                                        }
                                                    }
                                                    if (i) {
                                                        n = t.google.go_cCU(o);
                                                        break
                                                    }
                                                }
                                    if (n) {
                                        if (!n.isAutozone()) return n.isAlreadyAdded || t.units.push(n), e.classList.add("lazy-unit"), e.classList.contains("av-lazy") && e.classList.remove("av-lazy"), e.classList.contains("lazy") && e.classList.remove("lazy"), e.id = n.slot, n.define(), t.auction.configured && t.auction.active || n.un_dY(), n
                                    } else t.warn("could not determine parent unit to inherit from for av-lazy unit", e)
                                } catch (i) {
                                    t.warn("mutation observer unable to monitor mutation", i, e)
                                }
                            } else;
                            return !1
                        }
                        go_iH(e) {
                            return "none" === window.getComputedStyle(e).display || !!e.parentElement && t.google.go_iH(e.parentElement)
                        }
                        go_sSN() {
                            var e = !1,
                                i = document.getElementsByClassName("av-lazy"),
                                o = document.getElementsByClassName("lazy");
                            if (i.length > 0)
                                for (let o = i.length - 1; o >= 0; o--) {
                                    let n = i[o];
                                    if (n["parent-unit"] = n["parent-unit"] || n.getAttribute("parent-unit") || n.getAttribute("data-parent-unit"), !t.google.go_iH(n)) {
                                        if (t.publisher.lazyDepth >= 0) {
                                            if (t.ma_dFV(n) >= t.visitor.vi_gSH() * t.publisher.lazyDepth) continue
                                        }
                                        e = !0, t.google.go_fSN(n)
                                    }
                                }
                            if (o.length > 0)
                                for (let i = o.length - 1; i >= 0; i--) {
                                    let n = o[i];
                                    if (n["parent-unit"] = n["parent-unit"] || n.getAttribute("parent-unit") || n.getAttribute("data-parent-unit"), !t.google.go_iH(n)) {
                                        if (t.publisher.lazyDepth >= 0) {
                                            if (t.ma_dFV(n) >= t.visitor.vi_gSH() * t.publisher.lazyDepth) continue
                                        }
                                        e = !0, t.google.go_fSN(n)
                                    }
                                }
                            return e
                        }
                        go_lTS() {
                            this.scroll || (this.scroll = !0, t.que4.push(function() {
                                window.addEventListener("scroll", t.throttle(function() {
                                    t.google.go_sSN() && t.auction.requestBids()
                                }, 250), {
                                    capture: !0
                                })
                            }, "que4Spa"))
                        }
                        go_iOPU() {
                            if (t.google.go_iPR()) try {
                                window.googletag.pubads().getSlots().length > 0 && (t.google.onpagead = !1, window.googletag.pubads().getSlots().forEach(function(e) {
                                    var i = t.ma_gU(e.getAdUnitPath());
                                    i && (i.un_iI() && i.un_iGA() || (i.defined = i.defined || t.timestamps.now(), i.onpaged = !0, t.google.onpaged = !0, i.slot !== e.getSlotElementId() && t.warn(" ! onpage.slot[" + e.getSlotElementId() + "] mismatches config.slot[" + i.slot + "] for unit[" + i.code + "]")))
                                }), t.units.forEach(function(e) {
                                    e.onpaged || (e.getNode(), e.defined, e.code, e.slot)
                                }))
                            } catch (e) {
                                t.warn(e)
                            } else;
                        }
                        go_fS() {
                            void 0 === t.google.remainingSpaForces && (t.google.remainingSpaForces = 50);
                            try {
                                setTimeout(function() {
                                    for (var e in t.units) {
                                        var i = t.units[e];
                                        i.slot && i.getNode() && (i.node.classList.contains("av-lazy") || i.node.classList.contains("lazy") || i.node.classList.contains("lazy-unit") || (i.code, i.getNode().classList.add("av-lazy")))
                                    }
                                }, 200), t.google.remainingSpaForces-- > 0 && t.google.go_fS()
                            } catch (e) {
                                e.code = "av-lazy-force-exception", t.warn(e)
                            }
                            t.google.go_sSN()
                        }
                        go_cSI() {
                            if (t.ma_hP("spa") || t.ma_hP("lazy")) {
                                t.que3.push(function() {
                                    t.google.go_sSN()
                                }, "que3SearchSpa"), t.google.go_lTS();
                                try {
                                    var e = document.getElementsByTagName("body")[0];
                                    if (!e) return void window.setTimeout(function() {
                                        t.google.go_cSI()
                                    }, 50);
                                    t.MutationObserver = new MutationObserver(function(e, i) {
                                        var o = !1;
                                        for (let i of e) "childList" === i.type && (o = t.google.go_sSN());
                                        o ? t.auction.requestBids() : window.setInterval(function() {}, 6e4)
                                    }), t.MutationObserver.observe(e, {
                                        attributes: !1,
                                        childList: !0,
                                        subtree: !0
                                    }), t.ma_hP("spaInitialFire") || (t.publisher.spaInitialFire = !0, t.google.go_sSN())
                                } catch (e) {
                                    t.warn("spa mutation observer failed", e)
                                }
                            } else;
                        }
                        go_gRUC() {
                            var e = 0;
                            for (let i = 0; i < t.units.length; i++) {
                                let o = t.units[i];
                                o.rendered && !o.deloaded && e++
                            }
                            return e
                        }
                        go_dU() {
                            if (this.go_gRUC() > 10) {
                                var e = t.get("av_min_deload_seconds") || 30,
                                    i = {
                                        distance: 0
                                    };
                                for (let n = 0; n < t.units.length; n++) {
                                    let r = t.units[n],
                                        a = r.getNode();
                                    if (a) {
                                        var o = (new Date - r.rendered) / 1e3;
                                        if (!r.rendered || o < e) {
                                            r.code;
                                            continue
                                        }
                                        let n = t.ma_dFV(a);
                                        if (0 === n) {
                                            r.code;
                                            continue
                                        }
                                        n > i.distance ? (r.code, i.unit = r) : (r.code, i.distance)
                                    }
                                }
                                i.distance && i.unit.deload()
                            }
                        }
                    }
                },
                8928(e, t, i) {
                    function o(e, t, i, o, n) {
                        for (t = t.split ? t.split(".") : t, o = 0; o < t.length; o++) e = e ? e[t[o]] : n;
                        return e === n ? i : e
                    }
                    i.d(t, {
                        A: () => o
                    })
                },
                9610(e) {
                    var t = window.av;
                    e.exports = new class {
                        constructor(e) {
                            for (var i in e = e || {}) this[i] = e[i];
                            var o = ["avPublisher", "avGamNetwork", "avDomain"],
                                n = !1;
                            for (var r in o) {
                                var a = o[r];
                                if (window[a])
                                    for (var s in window[a]) void 0 !== window[a][s] && null !== window[a][s] && "" !== window[a][s] && (window[a][s], this[s] = window[a][s], n = !0)
                            }
                            n || t.warn("no attributes were able to be imported from sources[" + o + "]", "publisher"), (isNaN(this.analyticsPercent) || this.analyticsPercent < .1) && (this.analyticsPercent = .1), this.sessionDuration = this.sessionDuration || 1 / 24
                        }
                        pu_aE() {
                            return this.sampleAnalytics || (t.ma_dB() || "enabled" === t.visitor.vi_c("av_analytics") || t.cmp.trackable() ? this.sampleAnalytics = 1 : "disabled" === t.visitor.vi_c("av_analytics") && (this.sampleAnalytics = 0), void 0 === this.sampleAnalytics && (this.sampleAnalytics = this.analyticsPercent > Math.random()), this.sampleAnalytics || t.visitor.vi_c("av_analytics", "disabled")), this.sampleAnalytics
                        }
                        pu_iCG() {
                            return t.google.go_gNC().split(",").includes("23301900962")
                        }
                        pu_iT() {
                            var e = {};
                            const i = this.pu_gC();
                            let o = t.visitor.vi_c("av_usd"),
                                n = t.visitor.vi_c("av_eur"),
                                r = "https://api.frankfurter.dev/v2/rates";
                            if (!o) try {
                                t.ma_lJSON(`${r}?base=USD`, function(e) {
                                    if (e)
                                        if ("USD" === i) o = 1, t.visitor.vi_c("av_usd", o, .5);
                                        else {
                                            let n = e.find(e => e.quote == i);
                                            n && n.rate && (o = n.rate, t.visitor.vi_c("av_usd", o, .5))
                                        }
                                    else;
                                })
                            } catch (e) {
                                o = t.publisher.toUsdConversionRate, e.code = "cur_conversion_exception", e.type = "catch", t.ma_lE(e)
                            }
                            if (!n) try {
                                t.ma_lJSON(`${r}?base=EUR`, function(e) {
                                    if (e)
                                        if ("EUR" === i) n = 1, t.visitor.vi_c("av_eur", n, .5);
                                        else {
                                            let o = e.find(e => e.quote == i);
                                            o && o.rate && (n = o.rate, t.visitor.vi_c("av_eur", n, .5))
                                        }
                                    else;
                                })
                            } catch (e) {
                                n = t.publisher.toEurConversionRate, e.code = "cur_conversion_exception", e.type = "catch", t.ma_lE(e)
                            }
                            if (this.toUsdConversionRate = o, this.toEurConversionRate = n, this.baseDomain = this.baseDomain || this.pu_gBD(window.location.hostname), e[this.baseDomain])
                                for (var a in e[this.baseDomain]) this[a] = e[this.baseDomain][a];
                            "USD" !== this.pu_gC() && (t.currencies = {
                                USD: {
                                    AUD: 1.43,
                                    CAD: 1.41,
                                    EUR: .87,
                                    GBP: .76,
                                    INR: 94.61,
                                    PKR: 278.24,
                                    SGD: 1.29,
                                    EGP: 49.84
                                },
                                EUR: {
                                    USD: 1.14,
                                    AUD: 1.63,
                                    CAD: 1.62,
                                    GBP: .86,
                                    INR: 108.32,
                                    PKR: 318.58,
                                    SGD: 1.48,
                                    EGP: 57.07
                                }
                            }, "number" == typeof this.toUsdConversionRate && this.toUsdConversionRate > 0 && (this.toUsdConversionRate, t.currencies.USD[i], t.currencies.USD[i] = this.toUsdConversionRate, t.currencies.EUR[i] = this.toEurConversionRate), t.currencies[i] = {
                                USD: 1 / t.currencies.USD[i],
                                EUR: 1 / t.currencies.EUR[i]
                            }, this.bidCap = this.bidCap || (20 * t.currencies.USD[i]).toFixed(2)), isNaN(this.hbMaxPrice) ? isNaN(this.bidCap) ? (this.bidCap = 20, this.bidCap) : (this.bidCap = Number(this.bidCap) / 100, this.bidCap, this.bidCap) : (this.bidCap = Number(this.hbMaxPrice) / 100, this.bidCap, this.hbMaxPrice), void 0 === this.hbDecimals && (this.hbDecimals = 2)
                        }
                        pu_iLE() {
                            return void 0 === this.lazyEnable && (this.lazyEnable = !1, (t.publisher.lazyDepth > 0 && this.lazyEnable || "1" === t.visitor.vi_c("av-lazy")) && (this.lazyEnable = !0)), this.lazyEnable
                        }
                        pu_gN() {
                            return this.name || (this.name = this.pu_gBD()), "object" == typeof this.name ? this.name[0] : this.name
                        }
                        toString() {
                            return t.google.go_gNC() + " - " + this.pu_gN()
                        }
                        pu_gC() {
                            return t.get("av_dfp_currency") ? t.get("av_dfp_currency") : "undefined" !== this.currencyCode ? this.currencyCode : void 0 !== this.currency ? this.currency : "USD"
                        }
                        pu_gU() {
                            if (this.utmParams) return this.utmParams;
                            const e = new URLSearchParams(window.location.search),
                                t = {
                                    source: e.get("utm_source") || null,
                                    medium: e.get("utm_medium") || null,
                                    campaign: e.get("utm_campaign") || null,
                                    term: e.get("utm_term") || null,
                                    content: e.get("utm_content") || null
                                };
                            return Object.values(t).some(e => null !== e) ? (this.utmParams = t, this.utmParams) : null
                        }
                        pu_gRC() {
                            return void 0 !== this.refreshCount && !isNaN(this.refreshCount) && this.refreshCount > 0 && Number(this.refreshCount)
                        }
                        pu_gCV() {
                            return this.configVersion || (this.configVersion = (this.configId || 0) + "-" + (t.build || "unbuilt")), this.configVersion
                        }
                        pu_gBD(e) {
                            if (e || (e = window.location.hostname), !e) return !1;
                            var i = ["https://", "http://", "www.", "www2.", "m."],
                                o = ["com", "net", "org", "in", "co", "pk", "bd", "gov", "tv", "pro"];
                            for (let o in i) e = t.ma_rF(e, i[o]);
                            var n = e.split(".");
                            if (t.ma_hP("subdomain")) {
                                for (; n.length && o.includes(n[n.length - 1]);) n.pop();
                                return n.join(".")
                            }
                            if (n.length > 2) {
                                var r = [];
                                for (let e = n.length - 1; e >= 0; e--)
                                    if (r.push(n[e]), o.indexOf(n[e]) >= 0 && -1 === o.indexOf(n[e - 1])) {
                                        r.push(n[e - 1]);
                                        break
                                    }
                                n = [];
                                for (let e = r.length - 1; e >= 0; e--) n.push(r[e]);
                                e = n.join(".")
                            }
                            return e = n[0]
                        }
                        pu_gCL(e) {
                            var i = !1;
                            try {
                                i = document.querySelector("link[rel='canonical']").href.substr(0, 2048)
                            } catch (e) {}
                            return e && (i = e), i && i.length > 0 && ("/" === i ? i = window.location.hostname : "/" === i[0] && (i = window.location.hostname + i)), i || (i = this.canonicalQueryParams ? window.location.href : window.location.origin + window.location.pathname), i = t.ma_rF(i, "https://"), i = t.ma_rF(i, "http://"), i = t.ma_rF(i, "//")
                        }
                        pu_gRT() {
                            if (!this.refreshTimeoutImported) {
                                this.refreshTimeoutImported = !0;
                                !isNaN(this.refreshTimeout) && this.refreshTimeout < 1e3 && (this.refreshTimeout *= 1e3), !isNaN(this.refreshTimeout) && this.refreshTimeout > 0 && this.refreshTimeout < 1e4 && (this.refreshTimeout = 1e4), this.refreshTimeout && this.pu_gRC()
                            }
                            return void 0 !== this.refreshTimeout && !isNaN(this.refreshTimeout) && this.refreshTimeout > 0 && Number(this.refreshTimeout)
                        }
                    }
                },
                9747(e, t, i) {
                    var o = window.av;
                    e.exports = new class {
                        constructor(e) {
                            for (var t in e = e || {}) this[t] = e[t];
                            o.timestamps = o.timestamps || {}, o.timestamps.started = o.timestamps.started || o.timestamps.now(), this.wrappers = {}, this.wrappers.prebid = i(4568), o.visitor = i(3852), this.auctionCount = 0
                        }
                        au_iT() {
                            for (var e in this.wrappers) this.wrappers[e].pr_iC() && (this.configured = !0)
                        }
                        requestBids() {
                            if (!this.configured) return !1;
                            if (o.timestamps.bidsRequested && o.timestamps.now() - o.timestamps.bidsRequested < 1e4) return !1;
                            if (this.active) return !1;
                            for (var e in this.active = !0, this.queued = !1, o.timestamps.bidsRequested = o.timestamps.now(), this.auctionCount++, this.wrappers) this.wrappers[e].pr_iC() && (this.wrappers[e].bidsBack = !1, this.wrappers[e].requestBids());
                            this.au_c()
                        }
                        au_rA() {
                            if (this.configured) {
                                if (this.queued);
                                else if (o.ma_hP("spa") || o.publisher.pu_gRT())
                                    if (this.auctionCount > 20);
                                    else {
                                        this.queued = !0;
                                        var e = (o.publisher.pu_gRT() || 2e4) - 4e3;
                                        e < 1e4 && (e = 1e4), setTimeout(function() {
                                            o.visitor.vi_iA() && o.auction.requestBids()
                                        }, e)
                                    }
                            } else;
                        }
                        au_c() {
                            this.au_aBB() ? (o.auction.active = !1, this.auctionCount <= 1 && o.google.go_rA("bids-back"), this.au_rA()) : this.au_gD() >= this.au_gT() ? (o.auction.active = !1, this.auctionCount <= 1 && o.google.go_rA("timed out"), this.au_rA()) : (this.loopsafe = this.loopsafe || 1, this.loopsafe++ < 100 && setTimeout(function() {
                                o.auction.au_c()
                            }, 100))
                        }
                        au_aBB() {
                            for (var e in this.wrappers)
                                if (!this.wrappers[e].bidsBack && this.wrappers[e].pr_iC()) return !1;
                            return !0
                        }
                        au_gCBC() {
                            return this.configuredBidderCount || (o.getAmznId(), this.configuredBidderCount = 0, o.ma_gBS().forEach(function(e) {
                                e.bi_iC() && o.auction.configuredBidderCount++
                            })), this.configuredBidderCount
                        }
                        au_gD() {
                            return o.timestamps.now() - o.timestamps.started
                        }
                        au_gT() {
                            return o.get("av_timeout") ? o.get("av_timeout") : o.ma_hP("chromeSpeedMode") && o.visitor.vi_iCB() ? 500 : o.visitor.vi_c("custom_timeout") && "" !== o.visitor.vi_c("custom_timeout") && !0 === o.publisher.enableCustomTimeout ? Number(o.ma_cKE("custom_timeout")) : void 0 !== window.AV_TIMEOUT ? window.AV_TIMEOUT : o.ma_hP("timeout") ? o.publisher.timeout : 2e3
                        }
                    }
                }
            },
            i = {};

        function o(e) {
            var n = i[e];
            if (void 0 !== n) return n.exports;
            var r = i[e] = {
                id: e,
                loaded: !1,
                exports: {}
            };
            return t[e].call(r.exports, r, r.exports, o), r.loaded = !0, r.exports
        }
        o.m = t, e = [], o.O = (t, i, n, r) => {
            if (!i) {
                var a = 1 / 0;
                for (l = 0; l < e.length; l++) {
                    for (var [i, n, r] = e[l], s = !0, d = 0; d < i.length; d++)(!1 & r || a >= r) && Object.keys(o.O).every(e => o.O[e](i[d])) ? i.splice(d--, 1) : (s = !1, r < a && (a = r));
                    if (s) {
                        e.splice(l--, 1);
                        var c = n();
                        void 0 !== c && (t = c)
                    }
                }
                return t
            }
            r = r || 0;
            for (var l = e.length; l > 0 && e[l - 1][2] > r; l--) e[l] = e[l - 1];
            e[l] = [i, n, r]
        }, o.n = e => {
            var t = e && e.__esModule ? () => e.default : () => e;
            return o.d(t, {
                a: t
            }), t
        }, o.d = (e, t) => {
            for (var i in t) o.o(t, i) && !o.o(e, i) && Object.defineProperty(e, i, {
                enumerable: !0,
                get: t[i]
            })
        }, o.hmd = e => ((e = Object.create(e)).children || (e.children = []), Object.defineProperty(e, "exports", {
            enumerable: !0,
            set: () => {
                throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: " + e.id)
            }
        }), e), o.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), o.r = e => {
            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
                value: "Module"
            }), Object.defineProperty(e, "__esModule", {
                value: !0
            })
        }, (() => {
            var e = {
                673: 0
            };
            o.O.j = t => 0 === e[t];
            var t = (t, i) => {
                    var n, r, [a, s, d] = i,
                        c = 0;
                    if (a.some(t => 0 !== e[t])) {
                        for (n in s) o.o(s, n) && (o.m[n] = s[n]);
                        if (d) var l = d(o)
                    }
                    for (t && t(i); c < a.length; c++) r = a[c], o.o(e, r) && e[r] && e[r][0](), e[r] = 0;
                    return o.O(l)
                },
                i = self.avhbChunk = self.avhbChunk || [];
            i.forEach(t.bind(null, 0)), i.push = t.bind(null, i.push.bind(i))
        })(), o.O(void 0, [802, 769, 315, 85], () => o(455));
        var n = o.O(void 0, [802, 769, 315, 85], () => o(3627));
        n = o.O(n)
    })();
    (self.avhbChunk = self.avhbChunk || []).push([
        [802], {
            356(e, t, n) {
                n.d(t, {
                    Ex: () => u,
                    Xj: () => d,
                    rn: () => a
                });
                var r = n(6665),
                    i = n(1418),
                    o = n(2122);
                const s = l(i.h0),
                    c = l(i.jO);
                Object.fromEntries(Object.entries(i.x5).map(e => {
                    let [t, n] = e;
                    return [n, t]
                }));

                function a(e) {
                    if (!e && !(0, r.Qd)(e)) return;
                    const t = {
                        ver: "1.2",
                        assets: []
                    };
                    for (const n in e) {
                        if (i._B.includes(n)) continue;
                        if (!i.x5.hasOwnProperty(n)) continue;
                        if ("privacyLink" === n) {
                            t.privacy = 1;
                            continue
                        }
                        const o = e[n];
                        let s = 0;
                        o.required && (0, r.Lm)(o.required) && (s = Number(o.required));
                        const c = {
                            id: t.assets.length,
                            required: s
                        };
                        if (n in i.h0) c.data = {
                            type: i.jO[i.h0[n]]
                        }, o.len && (c.data.len = o.len);
                        else if ("icon" === n || "image" === n) {
                            if (c.img = {
                                    type: "icon" === n ? i.oA.ICON : i.oA.MAIN
                                }, o.aspect_ratios)
                                if ((0, r.cy)(o.aspect_ratios))
                                    if (o.aspect_ratios.length) {
                                        const {
                                            min_width: e,
                                            min_height: t
                                        } = o.aspect_ratios[0];
                                        (0, r.Fq)(e) && (0, r.Fq)(t) && (c.img.wmin = e, c.img.hmin = t);
                                        const n = o.aspect_ratios.filter(e => e.ratio_width && e.ratio_height).map(e => `${e.ratio_width}:${e.ratio_height}`);
                                        n.length > 0 && (c.img.ext = {
                                            aspectratios: n
                                        })
                                    } else;
                            else;
                            o.sizes && 2 === o.sizes.length && (0, r.Fq)(o.sizes[0]) && (0, r.Fq)(o.sizes[1]) && (c.img.w = o.sizes[0], c.img.h = o.sizes[1], delete c.img.hmin, delete c.img.wmin)
                        } else "title" === n ? c.title = {
                            len: o.len || 140
                        } : "ext" === n && (c.ext = o, delete c.required);
                        t.assets.push(c)
                    }
                    return t
                }

                function d(e) {
                    return e
                }

                function u(e, t) {
                    const n = {},
                        r = t ? .assets || [];
                    n.clickUrl = e.link ? .url, n.privacyLink = e.privacy;
                    for (const t of e ? .assets || []) {
                        const e = r.find(e => t.id === e.id);
                        t.title ? n.title = t.title.text : t.img ? n[e ? .img ? .type === i.oA.MAIN ? "image" : "icon"] = {
                            url: t.img.url,
                            width: t.img.w,
                            height: t.img.h
                        } : t.data && (n[s[c[e ? .data ? .type]]] = t.data.value)
                    }
                    n.impressionTrackers = [];
                    let a = [];
                    e.imptrackers && n.impressionTrackers.push(...e.imptrackers);
                    for (const t of e ? .eventtrackers || []) t.event === o.OA && t.method === o.Ni && n.impressionTrackers.push(t.url), t.event === o.OA && t.method === o.fR && a.push(t.url);
                    return a = a.map(e => `<script async src="${e}"><\/script>`), e ? .jstracker && a.push(e.jstracker), a.length && (n.javascriptTrackers = a.join("\n")), n
                }

                function l(e) {
                    var t = {};
                    for (var n in e) t[e[n]] = n;
                    return t
                }
            },
            455(e, t, n) {
                n.d(t, {
                    xu: () => at,
                    gH: () => pt
                });
                var r = n(1748),
                    i = n(6665),
                    o = n(8928),
                    s = n(3435),
                    c = n(466),
                    a = n(1418),
                    d = n(8014),
                    u = n(1933),
                    l = n(7464),
                    f = n(3006),
                    g = n(3064),
                    p = n(3293),
                    h = n(2592);
                const m = (0, h.A_)("sync", function(e) {
                        return p.G
                    }),
                    b = function() {
                        const e = {};
                        return function(t) {
                            const n = m(t);
                            return e.hasOwnProperty(n) || (e[n] = new g.U9(e => {
                                const r = (0, c.createInvisibleIframe)();
                                r.srcdoc = `\n            <script>${n}<\/script>\n            <script>\n              window.parent.postMessage(\n                  { type: 'RENDERER_READY_${t.adId}' },\n                  '*'\n            );<\/script>`;
                                const i = n => {
                                    n.source === r.contentWindow && n.data ? .type === `RENDERER_READY_${t.adId}` && (window.removeEventListener("message", i), e(r.contentWindow.render))
                                };
                                window.addEventListener("message", i), document.body.appendChild(r)
                            })), e[n]
                        }
                    }();
                var y = n(8668),
                    E = n(7841),
                    v = n(5482),
                    A = n(7156),
                    w = n(9794);

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

                function T() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : e => e;
                    return (t, n) => I(e(t), e(n))
                }

                function C() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : I;
                    return (t, n) => -e(t, n) || 0
                }

                function O() {
                    for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                    return function(e, n) {
                        for (const r of t) {
                            const t = r(e, n);
                            if (0 !== t) return t
                        }
                        return 0
                    }
                }

                function S() {
                    return function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : I;
                        return (t, n) => e(n, t) < 0 ? n : t
                    }(C(arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : I))
                }
                const B = T(e => e.cpm),
                    R = T(e => e.responseTimestamp),
                    D = S(O(B, C(T(e => e.timeToRespond)))),
                    U = S(O(B, C(R)));
                S(O(B, R));
                var _ = n(939);
                const k = 3e3;
                const N = function() {
                    let e, t, n = (0, _.H)({
                        monotonic: !0,
                        ttl: () => e,
                        slack: 0
                    });
                    u.$W.getConfig("targetingControls", r => {
                        ({
                            lock: t,
                            lockTimeout: e = k
                        } = r.targetingControls ? ? {}), null == t || Array.isArray(t) ? null == t && i() : t = [t], n.clear()
                    });
                    const [r, i] = (() => {
                        let e = !1;

                        function r(e) {
                            let {
                                slot: r
                            } = e;
                            t ? .forEach(e => r.getTargeting(e) ? .forEach(n.delete))
                        }
                        return [() => {
                            null != t && !e && (0, c.isGptPubadsDefined)() && (googletag.pubads().addEventListener ? .("slotRenderEnded", r), e = !0)
                        }, () => {
                            e && (0, c.isGptPubadsDefined)() && (googletag.pubads().removeEventListener ? .("slotRenderEnded", r), e = !1)
                        }]
                    })();
                    return {
                        isLocked: e => t ? .some(t => null != e[t] && n.has(e[t])) ? ? !1,
                        lock(e) {
                            r(), t ? .forEach(t => null != e[t] && n.add(e[t]))
                        }
                    }
                }();
                var x = [];
                const q = 20,
                    j = "targetingControls.allowTargetingKeys",
                    W = "targetingControls.addTargetingKeys",
                    P = `Only one of "${j}" or "${W}" can be set`,
                    $ = Object.keys(a.xS).map(e => a.xS[e]),
                    M = {
                        isBidNotExpired: e => e.responseTimestamp + 1e3 * (0, v.cT)(e) > (0, c.timestamp)(),
                        isUnusedBid: e => e && (e.status && ![a.tl.RENDERED].includes(e.status) || !e.status),
                        isBidNotLocked: e => !N.isLocked(e.adserverTargeting)
                    };

                function F(e) {
                    return !Object.values(M).some(t => !t(e))
                }
                const L = (0, h.A_)("sync", function(e, t) {
                    let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
                        r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
                        i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : c.sortByHighestCpm;
                    if (!r) {
                        const r = [],
                            o = u.$W.getConfig("sendBidsControl.dealPrioritization"),
                            s = (0, c.groupBy)(e, "adUnitCode");
                        return Object.keys(s).forEach(e => {
                            let a = [];
                            const d = (0, c.groupBy)(s[e], "bidderCode");
                            Object.keys(d).forEach(e => {
                                a.push(d[e].reduce(t))
                            });
                            const u = "object" == typeof n ? n[e] : n;
                            u ? (a = o ? a.sort(G(!0)) : a.sort((e, t) => t.cpm - e.cpm), r.push(...a.slice(0, u))) : (a = a.sort(i), r.push(...a))
                        }), r
                    }
                    return e
                });

                function G() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
                    return function(t, n) {
                        return void 0 !== t.adserverTargeting.hb_deal && void 0 === n.adserverTargeting.hb_deal ? -1 : void 0 === t.adserverTargeting.hb_deal && void 0 !== n.adserverTargeting.hb_deal ? 1 : e ? n.cpm - t.cpm : n.adserverTargeting.hb_pb - t.adserverTargeting.hb_pb
                    }
                }
                const H = "1.17.2";
                const V = function(e) {
                    const t = {},
                        n = {
                            setLatestAuctionForAdUnit(e, n) {
                                t[e] = n
                            },
                            resetPresetTargetingAST(e) {
                                r(e).forEach(function(e) {
                                    const t = window.apntag.getTag(e);
                                    if (t && t.keywords) {
                                        const n = Object.keys(t.keywords),
                                            r = {};
                                        n.forEach(e => {
                                            x.includes(e.toLowerCase()) || (r[e] = t.keywords[e])
                                        }), window.apntag.modifyTag(e, {
                                            keywords: r
                                        })
                                    }
                                })
                            },
                            getAllTargeting(t, n, o) {
                                let d = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : D,
                                    p = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : c.sortByHighestCpm;
                                o || = s(d, p);
                                const h = r(t),
                                    m = function(e, t) {
                                        if (!u.$W.getConfig("enableSendAllBids")) return 0;
                                        const n = u.$W.getConfig("sendBidsControl.bidLimit"),
                                            r = new Set(e),
                                            i = {};
                                        for (const e of f.n.getAdUnits()) r.has(e.code) && (i[e.code] = e ? .bidLimit || t || n);
                                        return i
                                    }(h, n),
                                    {
                                        customKeysByUnit: b,
                                        filteredBids: y
                                    } = function(e, t) {
                                        const n = [],
                                            r = {},
                                            i = u.$W.getConfig("targetingControls.alwaysIncludeDeals"),
                                            o = u.$W.getConfig("bidTargetingExclusion"),
                                            s = t.filter(t => {
                                                const n = e.includes(t.adUnitCode),
                                                    r = !0 === A.u.get(t.bidderCode, "allowZeroCpmBids") ? t.cpm >= 0 : t.cpm > 0,
                                                    o = i && t.dealId;
                                                return n && (o || r)
                                            });
                                        return s.forEach(e => {
                                            let t = !0;
                                            if ("function" == typeof o) try {
                                                t = o(e, s)
                                            } catch (e) {
                                                t = !1
                                            }
                                            t && (n.push(e), Object.keys(e.adserverTargeting).filter(function() {
                                                const e = g();
                                                return function(t) {
                                                    return -1 === e.indexOf(t)
                                                }
                                            }()).forEach(t => {
                                                const n = t.substring(0, 20),
                                                    i = r[e.adUnitCode] || {},
                                                    o = [e.adserverTargeting[t]];
                                                i[n] ? i[n] = i[n].concat(o).filter(c.uniques) : i[n] = o, r[e.adUnitCode] = i
                                            }))
                                        }), {
                                            filteredBids: n,
                                            customKeysByUnit: r
                                        }
                                    }(h, o);
                                let E = function(t, n, r) {
                                    const o = !0 === u.$W.getConfig("targetingControls.allBidsCustomTargeting"),
                                        s = l(t, r).concat(function(e) {
                                            const t = u.$W.getConfig("targetingControls.alwaysIncludeDeals"),
                                                n = u.$W.getConfig("enableSendAllBids");
                                            return function(e) {
                                                let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                                                    n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
                                                const r = $.slice(),
                                                    i = u.$W.getConfig("targetingControls.allowSendAllBidsTargetingKeys"),
                                                    o = i ? i.map(e => a.xS[e]) : r;
                                                return e.reduce((e, i) => {
                                                    if (t || n && i.dealId) {
                                                        const t = function(e, t) {
                                                            return t.reduce((t, n) => (e.adserverTargeting[n] && t.push({
                                                                [`${n}_${e.bidderCode}`.substring(0, q)]: [e.adserverTargeting[n]]
                                                            }), t), [])
                                                        }(i, r.filter(e => void 0 !== i.adserverTargeting[e] && (n || -1 !== o.indexOf(e))));
                                                        t && e.push({
                                                            [i.adUnitCode]: t
                                                        })
                                                    }
                                                    return e
                                                }, [])
                                            }(e, n, t)
                                        }(t)).concat(function(t) {
                                            function n(e) {
                                                return e ? .[a.iD.ADSERVER_TARGETING]
                                            }

                                            function r(e) {
                                                const t = n(e);
                                                return Object.keys(t).map(function(e) {
                                                    return (0, i.O8)(t[e]) && (t[e] = t[e].split(",").map(e => e.trim())), (0, i.cy)(t[e]) || (t[e] = [t[e]]), {
                                                        [e]: t[e]
                                                    }
                                                })
                                            }
                                            return e.getAdUnits().filter(e => t.includes(e.code) && n(e)).reduce((e, t) => {
                                                const n = r(t);
                                                return n && e.push({
                                                    [t.code]: n
                                                }), e
                                            }, [])
                                        }(r)).concat(function(e) {
                                            let t = u.$W.getConfig("targetingControls.version");
                                            return !1 === t ? [] : e.map(e => ({
                                                [e]: [{
                                                    [a.xS.VERSION]: [t ? ? H]
                                                }]
                                            }))
                                        }(r));
                                    o && s.push(... function(e, t) {
                                        return e.reduce((e, n) => {
                                            const r = Object.assign({}, n),
                                                i = t[r.adUnitCode],
                                                o = [];
                                            return i && Object.keys(i).forEach(e => {
                                                e && i[e] && o.push({
                                                    [e]: i[e]
                                                })
                                            }), e.push({
                                                [r.adUnitCode]: o
                                            }), e
                                        }, [])
                                    }(t, n));
                                    return s.forEach(e => {
                                        ! function(e) {
                                            Object.keys(e).forEach(t => {
                                                e[t].forEach(e => {
                                                    const t = Object.keys(e); - 1 === x.indexOf(t[0]) && (x = t.concat(x))
                                                })
                                            })
                                        }(e)
                                    }), s
                                }(L(y, d, m, void 0, p), b, h);
                                const v = Object.keys(Object.assign({}, a.Zh));
                                let w = u.$W.getConfig(j);
                                const I = u.$W.getConfig(W);
                                if (null != I && null != w) throw new Error(P);
                                w = null != I ? v.concat(I) : w || v, Array.isArray(w) && w.length > 0 && (E = function(e, t) {
                                    const n = Object.assign({}, a.xS),
                                        r = Object.keys(a.xS),
                                        i = {};
                                    e.forEach(e => {
                                        const o = Object.keys(e)[0],
                                            s = e[o].filter(e => {
                                                const o = Object.keys(e)[0],
                                                    s = 0 === r.filter(e => 0 === o.indexOf(n[e])).length || t.find(e => {
                                                        const t = n[e];
                                                        return 0 === o.indexOf(t)
                                                    });
                                                return i[o] = !s, s
                                            });
                                        e[o] = s
                                    });
                                    Object.keys(i).filter(e => i[e]);
                                    const o = e.filter(e => e[Object.keys(e)[0]].length > 0);
                                    return o
                                }(E, w));
                                let T = function(e) {
                                    return e.map(e => ({
                                        [Object.keys(e)[0]]: e[Object.keys(e)[0]].map(e => ({
                                            [Object.keys(e)[0]]: e[Object.keys(e)[0]].join(",")
                                        })).reduce((e, t) => Object.assign(t, e), {})
                                    })).reduce(function(e, t) {
                                        var n = Object.keys(t)[0];
                                        return e[n] = Object.assign({}, e[n], t[n]), e
                                    }, {})
                                }(E);
                                const C = u.$W.getConfig("targetingControls.auctionKeyMaxChars");
                                return C && (T = function(e, t) {
                                    const n = (0, i.Go)(e),
                                        r = Object.keys(n).map(e => ({
                                            adUnitCode: e,
                                            adserverTargeting: n[e]
                                        })).sort(G());
                                    return r.reduce(function(e, r, i, o) {
                                        let s = (c = r.adserverTargeting, Object.keys(c).reduce(function(e, t) {
                                            return e += `${t}%3d${encodeURIComponent(c[t])}%26`
                                        }, ""));
                                        var c;
                                        i + 1 === o.length && (s = s.slice(0, -3));
                                        const a = r.adUnitCode,
                                            d = s.length;
                                        return d <= t && (t -= d, e[a] = n[a]), i + 1 === o.length && Object.keys(e).length, e
                                    }, {})
                                }(T, C)), h.forEach(e => {
                                    T[e] || (T[e] = {}), 1 === Object.keys(T[e]).length && null != T[e][a.xS.VERSION] && delete T[e][a.xS.VERSION]
                                }), T
                            },
                            setTargetingForGPT: (0, h.A_)("sync", function(t, r) {
                                const o = n.getAllTargeting(t),
                                    s = Object.fromEntries(x.map(e => [e, null]));
                                Object.entries(function(e, t) {
                                    return (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : () => window.googletag.pubads().getSlots())().reduce((e, n) => {
                                        const r = (0, i.fp)(t) && t(n);
                                        return Object.keys(e).filter((0, i.fp)(r) ? r : (0, c.isAdUnitCodeMatchingSlot)(n)).forEach(t => e[t].push(n)), e
                                    }, Object.fromEntries(e.map(e => [e, []])))
                                }(Object.keys(o), r)).forEach(e => {
                                    let [t, n] = e;
                                    n.forEach(e => {
                                        Object.keys(o[t]).forEach(e => {
                                            let n = o[t][e];
                                            "string" == typeof n && -1 !== n.indexOf(",") && (n = n.split(",")), o[t][e] = n
                                        }), e.updateTargetingFromMap(Object.assign({}, s, o[t])), N.lock(o[t])
                                    })
                                }), Object.keys(o).forEach(t => {
                                    Object.keys(o[t]).forEach(n => {
                                        "hb_adid" === n && e.setStatusForBids(o[t][n], a.tl.BID_TARGETING_SET)
                                    })
                                }), n.targetingDone(o), d.Ic(a.qY.SET_TARGETING, o)
                            }, "setTargetingForGPT"),
                            targetingDone: (0, h.A_)("sync", function(e) {
                                return e
                            }, "targetingDone"),
                            getWinningBids(e, t) {
                                let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : D,
                                    i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : c.sortByHighestCpm;
                                const o = t || s(n, i),
                                    a = r(e);
                                return o.filter(e => a.includes(e.adUnitCode)).filter(e => !0 === A.u.get(e.bidderCode, "allowZeroCpmBids") ? e.cpm >= 0 : e.cpm > 0).map(e => e.adUnitCode).filter(c.uniques).map(e => o.filter(t => t.adUnitCode === e ? t : null).reduce(D))
                            },
                            setTargetingForAst(e) {
                                const t = n.getAllTargeting(e);
                                try {
                                    n.resetPresetTargetingAST(e)
                                } catch (e) {}
                                Object.keys(t).forEach(e => {
                                    N.lock(t[e]), Object.keys(t[e]).forEach(n => {
                                        if ((0, i.O8)(t[e][n]) || (0, i.cy)(t[e][n])) {
                                            const r = {},
                                                i = /pt[0-9]/;
                                            n.search(i) < 0 ? r[n.toUpperCase()] = t[e][n] : r[n] = t[e][n], window.apntag.setKeywords(e, r, {
                                                overrideKeyValue: !0
                                            })
                                        }
                                    })
                                })
                            },
                            isApntagDefined() {
                                if (window.apntag && (0, i.fp)(window.apntag.setKeywords)) return !0
                            }
                        };

                    function r(t) {
                        return "string" == typeof t ? [t] : (0, i.cy)(t) ? t : e.getAdUnitCodes() || []
                    }

                    function s() {
                        let n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : U,
                            r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0;
                        const i = e.getBidsReceived().reduce((e, n) => {
                            const r = u.$W.getConfig("useBidCache"),
                                i = u.$W.getConfig("bidCacheFilterFunction"),
                                o = t[n.adUnitCode] === n.auctionId,
                                s = !(r && !o && "function" == typeof i) || !!i(n);
                            return (r || o) && s && n ? .video ? .context !== w.LM && F(n) && (n.latestTargetedAuctionId = t[n.adUnitCode], e.push(n)), e
                        }, []);
                        return L(i, n, void 0, void 0, r)
                    }

                    function l(e, t) {
                        const r = n.getWinningBids(t, e),
                            i = g();
                        return r.map(e => ({
                            [e.adUnitCode]: Object.keys(e.adserverTargeting).filter(t => void 0 === e.sendStandardTargeting || e.sendStandardTargeting || -1 === i.indexOf(t)).reduce((t, n) => {
                                const r = [e.adserverTargeting[n]],
                                    i = {
                                        [n.substring(0, q)]: r
                                    };
                                if (n === a.xS.DEAL) {
                                    const o = `${n}_${e.bidderCode}`.substring(0, q),
                                        s = {
                                            [o]: r
                                        };
                                    return [...t, i, s]
                                }
                                return [...t, i]
                            }, [])
                        }))
                    }

                    function g() {
                        return e.getStandardBidderAdServerTargeting().map(e => e.key).concat($).filter(c.uniques)
                    }
                    return u.$W.getConfig("targetingControls", function(e) {
                        null != (0, o.A)(e, j) && (0, o.A)(e, W)
                    }), n
                }(f.n);
                var z = n(2122);

                function Q(e, t) {
                    e() ? function() {
                        const e = window.scheduler;
                        return "function" == typeof e ? .yield ? e.yield() : g.U9.resolve()
                    }().then(t) : t()
                }
                const {
                    AD_RENDER_FAILED: Y,
                    AD_RENDER_SUCCEEDED: J,
                    STALE_RENDER: K,
                    BID_WON: X,
                    EXPIRED_RENDER: Z
                } = a.qY, {
                    EXCEPTION: ee
                } = a.as, te = (0, h.A_)("sync", function(e, t, n) {
                    n(f.n.findBidByAdId(e))
                }), ne = (0, h.A_)("sync", function(e) {
                    ((0, z.$T)(e.eventtrackers)[z.RO] ? .[z.Ni] || []).forEach(e => (0, c.triggerPixel)(e)), d.Ic(X, e), f.n.addWinningBid(e)
                });

                function re(e) {
                    let {
                        reason: t,
                        message: n,
                        bid: r,
                        id: i
                    } = e;
                    const o = {
                        reason: t,
                        message: n
                    };
                    r && (o.bid = r, o.adId = r.adId), i && (o.adId = i), d.Ic(Y, o)
                }

                function ie(e) {
                    let {
                        doc: t,
                        bid: n,
                        id: r
                    } = e;
                    const i = {
                        doc: t,
                        bid: n,
                        adId: r
                    };
                    y.Ay.callAdRenderSucceededBidder(n.adapterCode || n.bidder, n), d.Ic(J, i)
                }

                function oe(e, t) {
                    switch (e.event) {
                        case a.qY.AD_RENDER_FAILED:
                            re({
                                bid: t,
                                id: t.adId,
                                reason: e.info.reason,
                                message: e.info.message
                            });
                            break;
                        case a.qY.AD_RENDER_SUCCEEDED:
                            ie({
                                doc: null,
                                bid: t,
                                id: t.adId
                            });
                            break;
                        case a.qY.BROWSER_INTERVENTION:
                            ! function(e) {
                                const {
                                    bid: t,
                                    intervention: n
                                } = e;
                                y.Ay.callOnInterventionBidder(t.adapterCode || t.bidder, t, n), d.Ic(a.qY.BROWSER_INTERVENTION, e)
                            }({
                                bid: t,
                                adId: t.adId,
                                intervention: e.intervention
                            })
                    }
                }
                const se = {
                    [a.nl.EVENT]: oe
                };
                const ce = (0, h.A_)("sync", function(e, t) {
                        const {
                            ad: n,
                            adUrl: r,
                            cpm: i,
                            originalCpm: o,
                            width: s,
                            height: a,
                            instl: d
                        } = e, u = {
                            AUCTION_PRICE: o || i,
                            CLICKTHROUGH: t ? .clickUrl || ""
                        };
                        return {
                            ad: (0, c.replaceMacros)(n, u),
                            adUrl: (0, c.replaceMacros)(r, u),
                            width: s,
                            height: a,
                            instl: d
                        }
                    }),
                    ae = (0, h.A_)("sync", function(e) {
                        let {
                            renderFn: t,
                            resizeFn: n,
                            bidResponse: r,
                            options: i,
                            doc: o,
                            isMainDocument: s = o === document && !(0, c.inIframe)()
                        } = e;
                        if (s) return void re({
                            reason: a.as.PREVENT_WRITING_ON_MAIN_DOCUMENT,
                            message: "renderAd was prevented from writing to the main document.",
                            bid: r,
                            id: r.adId
                        });
                        const d = ce(r, i);
                        t(Object.assign({
                            adId: r.adId
                        }, d));
                        const {
                            width: u,
                            height: l
                        } = d;
                        null != (u ? ? l) && n(u, l)
                    });

                function de(e) {
                    let {
                        renderFn: t,
                        resizeFn: n,
                        adId: r,
                        options: i,
                        bidResponse: o,
                        doc: s
                    } = e;
                    ! function(e, t) {
                        if (null == e) return void t();
                        ue.set(e, t), e.deferRendering || fe(e);
                        ! function(e) {
                            le.has(e) || (le.add(e), ne(e))
                        }(e)
                    }(o, () => {
                        if (null != o) {
                            if ((o.status !== a.tl.RENDERED || (d.Ic(K, o), !u.$W.getConfig("auctionOptions") ? .suppressStaleRender)) && (M.isBidNotExpired(o) || (d.Ic(Z, o), !u.$W.getConfig("auctionOptions") ? .suppressExpiredRender))) try {
                                ae({
                                    renderFn: t,
                                    resizeFn: n,
                                    bidResponse: o,
                                    options: i,
                                    doc: s
                                })
                            } catch (e) {
                                re({
                                    reason: a.as.EXCEPTION,
                                    message: e.message,
                                    id: r,
                                    bid: o
                                })
                            }
                        } else re({
                            reason: a.as.CANNOT_FIND_AD,
                            message: `Cannot find ad '${r}'`,
                            id: r
                        })
                    })
                }
                ae.before(function(e, t) {
                    const {
                        bidResponse: n,
                        doc: r
                    } = t;
                    (0, l.J7)(n.renderer) ? ((0, l.Pg)(n.renderer, n, r), ie({
                        doc: r,
                        bid: n,
                        id: n.adId
                    }), e.bail()) : e(t)
                }, 100);
                const ue = new WeakMap,
                    le = new WeakSet;

                function fe(e) {
                    const t = ue.get(e);
                    t && (t(), function(e) {
                        const t = (0, E.BO)(e.metrics);
                        t.checkpoint("bidRender"), t.timeBetween("bidWon", "bidRender", "render.deferred"), t.timeBetween("auctionEnd", "bidRender", "render.pending"), t.timeBetween("requestBids", "bidRender", "render.e2e"), e.status = a.tl.RENDERED
                    }(e), ue.delete(e))
                }
                let ge = !1;
                u.$W.getConfig("auctionOptions", e => {
                    ge = e.auctionOptions ? .legacyRender ? ? !1
                });
                const pe = (he = () => !ge, me = function(e, t, n) {
                    let r;

                    function i(e, n) {
                        re(Object.assign({
                            id: t,
                            bid: r
                        }, {
                            reason: e,
                            message: n
                        }))
                    }

                    function o(t, n) {
                        const r = e.defaultView ? .frameElement;
                        r && (t && (r.width = t, r.style.width && (r.style.width = `${t}px`)), n && (r.height = n, r.style.height && (r.style.height = `${n}px`)))
                    }
                    const s = (d = {
                        resizeFn: o
                    }, function(e, t, n) {
                        se.hasOwnProperty(e) && se[e](t, n, d)
                    });
                    var d;

                    function u(e) {
                        return new g.U9(t => {
                            "loading" === e.readyState ? e.addEventListener("DOMContentLoaded", t) : t()
                        })
                    }

                    function l(t) {
                        t.ad && ge ? (e.write(t.ad), e.close(), ie({
                            doc: e,
                            bid: r,
                            id: r.adId
                        })) : g.U9.all([b(r), u(e)]).then(n => {
                            let [i] = n;
                            return i(t, {
                                sendMessage: (e, t) => s(e, t, r),
                                mkFrame: c.createIframe
                            }, e.defaultView)
                        }).then(() => ie({
                            doc: e,
                            bid: r,
                            id: r.adId
                        }), e => {
                            i(e ? .reason || a.as.EXCEPTION, e ? .message)
                        });
                        const n = document.createComment(`Creative ${r.creativeId} served by ${r.bidder} Prebid.js Header Bidding`);
                        (0, c.insertElement)(n, e, "html")
                    }
                    try {
                        t && e ? te(t, !0, i => {
                            r = i, de({
                                renderFn: l,
                                resizeFn: o,
                                adId: t,
                                options: {
                                    clickUrl: n ? .clickThrough
                                },
                                bidResponse: i,
                                doc: e
                            })
                        }) : i(a.as.MISSING_DOC_OR_ADID, "missing " + (t ? "doc" : "adId"))
                    } catch (e) {
                        i(ee, e.message)
                    }
                }, function() {
                    for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                    Q(he, () => {
                        me.apply(this, t)
                    })
                });
                var he, me;

                function be() {
                    if (!window.frames[a.IY])
                        if (document.body) {
                            const e = (0, c.createInvisibleIframe)();
                            e.name = a.IY, document.body.appendChild(e)
                        } else window.requestAnimationFrame(be)
                }
                const {
                    REQUEST: ye,
                    RESPONSE: Ee,
                    NATIVE: ve,
                    EVENT: Ae
                } = a.nl, we = {
                    [ye]: function(e, t, n) {
                        de({
                            renderFn(t) {
                                e(Object.assign({
                                    message: Ee,
                                    renderer: m(n),
                                    rendererVersion: 3
                                }, t))
                            },
                            resizeFn: Te(t.adId, n),
                            options: t.options,
                            adId: t.adId,
                            bidResponse: n
                        })
                    },
                    [Ae]: function(e, t, n) {
                        if (null == n) return;
                        if (n.status !== a.tl.RENDERED) return;
                        return oe(t, n)
                    }
                };

                function Ie() {
                    window.addEventListener("message", function(e) {
                        ! function(e, t) {
                            var n = e.message ? "message" : "data",
                                r = {};
                            try {
                                r = JSON.parse(e[n])
                            } catch (e) {
                                return
                            }
                            if (r && r.adId && r.message && we.hasOwnProperty(r.message)) te(r.adId, r.message === a.nl.REQUEST, n => {
                                var i, o;
                                we[r.message]((i = r.adId, o = function(e) {
                                    return null == e.origin && 0 === e.ports.length ? function() {
                                        throw new Error("Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870")
                                    } : e.ports.length > 0 ? function(t) {
                                        e.ports[0].postMessage(JSON.stringify(t))
                                    } : function(t) {
                                        e.source.postMessage(JSON.stringify(t), e.origin)
                                    }
                                }(e), function(e) {
                                    for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
                                    return o(Object.assign({}, e, {
                                        adId: i
                                    }), ...n)
                                }), r, n), t && t()
                            })
                        }(e)
                    }, !1)
                }

                function Te(e, t) {
                    return function(n, r) {
                        ! function(e) {
                            let {
                                instl: t,
                                adId: n,
                                adUnitCode: r,
                                width: i,
                                height: o
                            } = e;
                            if (t) return;

                            function s(e) {
                                if (e) {
                                    const t = e.style;
                                    t.width = Ce(i), t.height = Ce(o)
                                }
                            }
                            const a = u('iframe:not([style*="display: none"])');
                            s(a);
                            const d = a ? .closest("ins[data-anchor-status]");

                            function u(e) {
                                const t = l(n, r),
                                    i = document.getElementById(t);
                                return i && i.querySelector(e)
                            }

                            function l(e, t) {
                                if ((0, c.isGptPubadsDefined)()) {
                                    const t = f(e);
                                    if (t) return t
                                }
                                if ((0, c.isApnGetTagDefined)()) {
                                    const e = p(t);
                                    if (e) return e
                                }
                                return t
                            }

                            function f(e) {
                                const t = window.googletag.pubads().getSlots().find(t => t.getTargetingKeys().find(n => t.getTargeting(n).includes(e)));
                                return t ? t.getSlotElementId() : null
                            }

                            function p(e) {
                                const t = window.apntag.getTag(e);
                                return t && t.targetId
                            }
                            d ? function(e, t, n) {
                                new g.U9((r, i) => {
                                    let o = 10;
                                    const s = setInterval(() => {
                                        let c = !1;
                                        Object.entries({
                                            width: t,
                                            height: n
                                        }).forEach(t => {
                                            let [n, r] = t;
                                            /\d+px/.test(e.style[n]) && (e.style[n] = Ce(r), c = !0)
                                        }), (c || 0 === o--) && (clearInterval(s), c ? r() : i(new Error("Could not resize anchor")))
                                    }, 50)
                                })
                            }(d, i, o) : s(a ? .parentElement)
                        }({ ...t,
                            width: n,
                            height: r,
                            adId: e
                        })
                    }
                }

                function Ce(e) {
                    return e ? e + "px" : "100%"
                }
                var Oe = n(3391),
                    Se = n(3320),
                    Be = n(5049),
                    Re = n(736),
                    De = n(765);
                const Ue = `__${(0,De.k)()}_debugging__`;

                function _e() {
                    return (0, r.m)().installedModules.includes("debugging")
                }

                function ke(e) {
                    return new g.U9((t, n) => {
                        (0, Be.R)(e, Re.tp, "debugging", {
                            success: t,
                            error: n
                        })
                    })
                }

                function Ne() {
                    let {
                        alreadyInstalled: e = _e,
                        script: t = ke
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = null;
                    return function() {
                        return null == n && (n = new g.U9((n, i) => {
                            setTimeout(() => {
                                if (e()) n();
                                else {
                                    const e = `${(0,De.rT)()}debugging-standalone.js`;
                                    (0, r.m)()._installDebugging = !0, t(e).then(() => {
                                        (0, r.m)()._installDebugging({
                                            DEBUG_KEY: Ue,
                                            hook: h.A_,
                                            config: u.$W,
                                            createBid: Se.O,
                                            logger: (0, c.prefixLog)("DEBUG:"),
                                            utils: c,
                                            BANNER: w.D4,
                                            NATIVE: w.s6,
                                            VIDEO: w.G_,
                                            Renderer: l.A4
                                        })
                                    }).then(n, i)
                                }
                            })
                        })), n
                    }
                }
                const xe = function() {
                    let {
                        load: e = Ne(),
                        hook: t = (0, h.Yn)("requestBids")
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = null, r = !1;

                    function i(e) {
                        for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) r[i - 1] = arguments[i];
                        return (n || g.U9.resolve()).catch(e => {}).then(() => e.apply(this, r))
                    }

                    function o() {
                        t.getHooks({
                            hook: i
                        }).remove(), r = !1
                    }
                    return {
                        enable: function() {
                            r || (n = e(), t.before(i, 99), r = !0)
                        },
                        disable: o,
                        reset: function() {
                            n = null, o()
                        }
                    }
                }();
                xe.reset;
                u.$W.getConfig("debugging", function(e) {
                    let {
                        debugging: t
                    } = e;
                    t ? .enabled ? xe.enable() : xe.disable()
                });
                var qe = n(1443),
                    je = n(8034),
                    We = n(1385),
                    Pe = n(6220);
                const $e = [
                        ["format", e => Array.isArray(e) && e.length > 0 && e.every(e => "object" == typeof e)],
                        ["w", i.Fq],
                        ["h", i.Fq],
                        ["btype", i.Uu],
                        ["battr", i.Uu],
                        ["pos", i.Fq],
                        ["mimes", e => Array.isArray(e) && e.length > 0 && e.every(e => "string" == typeof e)],
                        ["topframe", e => [1, 0].includes(e)],
                        ["expdir", i.Uu],
                        ["api", i.Uu],
                        ["id", i.O8],
                        ["vcm", e => [1, 0].includes(e)]
                    ],
                    Me = new Map($e);

                function Fe(e, t) {
                    var n = this;
                    return function() {
                        for (var r = arguments.length, i = new Array(r), o = 0; o < r; o++) i[o] = arguments[o];
                        return document.prerendering && e() ? new Promise(e => {
                            document.addEventListener("prerenderingchange", () => {
                                e(t.apply(n, i))
                            }, {
                                once: !0
                            })
                        }) : Promise.resolve(t.apply(n, i))
                    }
                }
                var Le = n(3556);
                const Ge = (0, h.A_)("sync", function(e) {
                    return [He, Ve("source.schain", "source.ext.schain", "source.ext.schain"), Ve("device.sua", "device.ext.sua", "device.sua"), Ve("regs.gdpr", "regs.ext.gdpr", "regs.ext.gdpr"), Ve("user.consent", "user.ext.consent", "user.ext.consent"), Ve("regs.us_privacy", "regs.ext.us_privacy", "regs.ext.us_privacy"), Ve("regs.gpp", "regs.ext.gpp", "regs.gpp"), Ve("regs.gpp_sid", "regs.ext.gpp_sid", "regs.gpp_sid")].forEach(t => function(e, t) {
                        t.global = e(t.global, "global FPD"), Object.entries(t.bidder).forEach(n => {
                            let [r, i] = n;
                            t.bidder[r] = e(i, `bidder '${r}' FPD`)
                        })
                    }(t, e)), e
                });

                function He(e, t) {
                    if (!e) return e;
                    const n = [],
                        r = [...(e ? .user ? .eids ? ? []).map(e => [0, e]), ...(e ? .user ? .ext ? .eids ? ? []).map(e => [1, e])].filter(e => {
                            let [t, r] = e;
                            return !(n.findIndex(e => {
                                let [n, i] = e;
                                return t !== n && (0, c.deepEqual)(i, r)
                            }) > -1) && (n.push([t, r]), !0)
                        });
                    return r.length > 0 && (0, s.J)(e, "user.ext.eids", r.map(e => {
                        let [t, n] = e;
                        return n
                    })), delete e ? .user ? .eids, e
                }

                function Ve(e, t, n) {
                    if (n !== e && n !== t) throw new Error("invalid argument");
                    const r = (n === e ? t : e).split("."),
                        i = r.pop(),
                        a = r.join(".");
                    return function(r, d) {
                        if (!r) return r;
                        const u = (0, o.A)(r, e),
                            l = (0, o.A)(r, t);
                        null != u && null != l && (0, c.deepEqual)(u, l), null != (u ? ? l) && (0, s.J)(r, n, u ? ? l);
                        const f = (0, o.A)(r, a);
                        return null != f && "object" == typeof f && delete f[i], r
                    }
                }
                const ze = "outstream",
                    Qe = [
                        ["mimes", e => Array.isArray(e) && e.length > 0 && e.every(e => "string" == typeof e)],
                        ["minduration", i.Fq],
                        ["maxduration", i.Fq],
                        ["startdelay", i.Fq],
                        ["maxseq", i.Fq],
                        ["poddur", i.Fq],
                        ["protocols", i.Uu],
                        ["battr", i.Uu],
                        ["maxextended", i.Fq],
                        ["minbitrate", i.Fq],
                        ["maxbitrate", i.Fq],
                        ["delivery", i.Uu],
                        ["api", i.Uu],
                        ["companiontype", i.Uu],
                        ["feed", i.Fq],
                        ["stitched", i.Fq],
                        ["nvol", i.Fq]
                    ],
                    Ye = new Map(Qe);
                (0, h.A_)("sync", function(e, t, n, r, i) {
                    if (n && (i || r !== ze)) {
                        const {
                            url: t,
                            useLocal: n
                        } = u.$W.getConfig("cache") || {};
                        return !(!t && !n && e.vastXml && !e.vastUrl) && !(!e.vastUrl && !e.vastXml)
                    }
                    return !(r === ze && !i) || !!(e.renderer || t && t.renderer || n.renderer)
                }, "checkAudioBidSetup");
                const Je = (0, r.m)(),
                    {
                        triggerUserSyncs: Ke
                    } = Oe.zt,
                    {
                        ADD_AD_UNITS: Xe,
                        REQUEST_BIDS: Ze,
                        SET_TARGETING: et
                    } = a.qY;

                function tt(e, t) {
                    let n = [];
                    return (0, i.cy)(e) && (t ? e.length === t : e.length > 0) && (e.every(e => (0, i.Uu)(e, 2)) ? n = e : (0, i.Uu)(e, 2) && n.push(e)), n
                }

                function nt(e, t) {
                    const n = (0, o.A)(e, `ortb2Imp.${t}`),
                        r = (0, o.A)(e, `mediaTypes.${t}`);
                    if (!n && !r) return;
                    const i = {
                        [w.G_]: !1,
                        [w.D4]: Me
                    }[t];
                    i && [...i].forEach(n => {
                        let [r, i] = n;
                        const a = (0, o.A)(e, `mediaTypes.${t}.${r}`),
                            d = (0, o.A)(e, `ortb2Imp.${t}.${r}`);
                        void 0 === a && void 0 === d || (void 0 === a ? (0, s.J)(e, `mediaTypes.${t}.${r}`, d) : void 0 === d ? (0, s.J)(e, `ortb2Imp.${t}.${r}`, a) : (0, c.deepEqual)(a, d) || (0, s.J)(e, `mediaTypes.${t}.${r}`, d))
                    })
                }

                function rt(e) {
                    const t = (0, i.Go)(e),
                        n = t.mediaTypes.banner,
                        r = null == n.sizes ? null : tt(n.sizes),
                        o = e.ortb2Imp ? .banner ? .format ? ? n ? .format;
                    let a;
                    if (null != o) {
                        (0, s.J)(t, "ortb2Imp.banner.format", o), n.format = o;
                        try {
                            a = o.filter(e => {
                                let {
                                    w: t,
                                    h: n,
                                    wratio: r,
                                    hratio: i
                                } = e;
                                return (null == (t ? ? n) || null == (r ? ? i)) && (null != t && null != n || null != r && null != i)
                            }).map(e => {
                                let {
                                    w: t,
                                    h: n,
                                    wratio: r,
                                    hratio: i
                                } = e;
                                return [t ? ? r, n ? ? i]
                            })
                        } catch (e) {}
                        null != a && null != r && (0, c.deepEqual)(r, a)
                    }
                    const d = a ? ? r ? ? [],
                        u = e.ortb2Imp ? .banner ? .expdir ? ? n.expdir;
                    return null != u && (n.expdir = u, (0, s.J)(t, "ortb2Imp.banner.expdir", u)), d.length > 0 ? (n.sizes = d, t.sizes = d) : delete t.mediaTypes.banner, it(t, "banner"), nt(t, "banner"), t
                }

                function it(e, t, n) {
                    const r = (e ? .mediaTypes || {})[t],
                        o = {
                            banner: Me,
                            audio: Ye,
                            video: Pe.Zy
                        }[t];
                    (0, i.Qd)(r) && null != r && Object.entries(r).forEach(t => {
                        let [i, s] = t;
                        if (!o.has(i)) return;
                        o.get(i)(s) || ("function" == typeof n ? n(i, s, e) : delete r[i])
                    })
                }

                function ot(e) {
                    const t = e,
                        n = t.mediaTypes,
                        r = t.bids;
                    return null == r || (0, i.cy)(r) ? null == r && null == t.ortb2Imp ? null : n && 0 !== Object.keys(n).length ? (null == t.ortb2Imp || null != r && 0 !== r.length || (t.bids = [{
                        bidder: null
                    }]), t) : null : null
                }! function() {
                    let e = null;
                    try {
                        e = window.sessionStorage
                    } catch (e) {}
                    if (null !== e) {
                        const t = xe;
                        let n = null;
                        try {
                            n = e.getItem(Ue)
                        } catch (e) {}
                        null !== n && t.enable()
                    }
                }(), Je.bidderSettings = Je.bidderSettings || {}, Je.libLoaded = !0, Je.version = "v10.29.0", Je.adUnits = Je.adUnits || [], Je.pageViewIdPerBidder = Je.pageViewIdPerBidder || new Map;
                const st = (0, h.A_)("sync", function(e) {
                    const t = [];
                    return e.forEach(e => {
                        const n = ot(e);
                        if (null == n) return;
                        const r = n.mediaTypes;
                        let o;
                        r.banner && (o = rt(n), r.banner.hasOwnProperty("pos") && (o = function(e, t) {
                            const n = e ? .mediaTypes ? .[t] ? .pos;
                            (0, i.Et)(n) && !isNaN(n) && isFinite(n) || (e.code, delete e.mediaTypes[t].pos);
                            return e
                        }(o, "banner")));
                        const s = Object.assign({}, o, void 0, void 0, void 0);
                        t.push(s)
                    }), t
                }, "checkAdUnitSetup");

                function ct(e, t) {
                    return function() {
                        for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++) n[r] = arguments[r];
                        return t.apply(this, n)
                    }
                }

                function at(e, t) {
                    let n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2];
                    (0, r.m)()[e] = n ? ct(0, t) : t
                }

                function dt(e) {
                    return ut(e)[e]
                }

                function ut(e) {
                    return V.getAllTargeting(e)
                }

                function lt(e) {
                    return (e = e.slice()).bids = e, e
                }

                function ft(e) {
                    const t = f.n[e]().filter(e => f.n.getAdUnitCodes().includes(e.adUnitCode)),
                        n = f.n.getLastAuctionId();
                    return t.map(e => e.adUnitCode).filter(c.uniques).map(e => t.filter(t => t.auctionId === n && t.adUnitCode === e)).filter(e => e && e[0] && e[0].adUnitCode).map(e => ({
                        [e[0].adUnitCode]: lt(e)
                    })).reduce((e, t) => Object.assign(e, t), {})
                }
                at("triggerUserSyncs", Ke), at("getAdserverTargetingForAdUnitCodeStr", function(e) {
                    if (e) {
                        const t = dt(e);
                        return (0, c.transformAdServerTargetingObj)(t)
                    }
                }), at("getHighestUnusedBidResponseForAdUnitCode", function(e) {
                    if (e) {
                        const t = f.n.getAllBidsForAdUnitCode(e).filter(F);
                        return t.length ? t.reduce(D) : null
                    }
                }), at("getAdserverTargetingForAdUnitCode", dt), at("getAdserverTargeting", ut), at("getConsentMetadata", function() {
                    return We.SL.getConsentMeta()
                }), at("getNoBids", function() {
                    return ft("getNoBids")
                }), at("getNoBidsForAdUnitCode", function(e) {
                    return lt(f.n.getNoBids().filter(t => t.adUnitCode === e))
                }), at("getBidResponses", function() {
                    return ft("getBidsReceived")
                }), at("getBidResponsesForAdUnitCode", function(e) {
                    return lt(f.n.getBidsReceived().filter(t => t.adUnitCode === e))
                }), at("setTargetingForGPTAsync", function(e, t) {
                    (0, c.isGptPubadsDefined)() && V.setTargetingForGPT(e, t)
                }), at("setTargetingForAst", function(e) {
                    V.isApntagDefined() && (V.setTargetingForAst(e), d.Ic(et, V.getAllTargeting()))
                }), at("renderAd", function(e, t, n) {
                    pe(e, t, n)
                }), at("removeAdUnit", function(e) {
                    if (!e) return void(Je.adUnits = []);
                    let t;
                    t = (0, i.cy)(e) ? e : [e], t.forEach(e => {
                        for (let t = Je.adUnits.length - 1; t >= 0; t--) Je.adUnits[t].code === e && Je.adUnits.splice(t, 1)
                    })
                });
                const gt = function() {
                    function e(e, t) {
                        return null == t || Array.isArray(t) || (t = [t]), null == t || Array.isArray(t) && 0 === t.length ? {
                            included: e,
                            excluded: [],
                            adUnitCodes: e.map(e => e.code).filter(c.uniques)
                        } : (t = t.filter(c.uniques), Object.assign({
                            adUnitCodes: t
                        }, e.reduce((e, n) => {
                            let {
                                included: r,
                                excluded: i
                            } = e;
                            return (t.includes(n.code) ? r : i).push(n), {
                                included: r,
                                excluded: i
                            }
                        }, {
                            included: [],
                            excluded: []
                        })))
                    }
                    const t = (0, h.A_)("async", function(t) {
                        let {
                            bidsBackHandler: n,
                            timeout: r,
                            adUnits: o,
                            adUnitCodes: s,
                            labels: a,
                            auctionId: d,
                            ttlBuffer: l,
                            ortb2: f,
                            metrics: p,
                            defer: h
                        } = t ? ? {};
                        const m = r || u.$W.getConfig("bidderTimeout");
                        ({
                            included: o,
                            adUnitCodes: s
                        } = e(o, s));
                        let b = {
                            global: (0, c.mergeDeep)({}, u.$W.getAnyConfig("ortb2") || {}, f || {}),
                            bidder: Object.fromEntries(Object.entries(u.$W.getBidderConfig()).map(e => {
                                let [t, n] = e;
                                return [t, (0, i.Go)(n.ortb2)]
                            }).filter(e => {
                                let [t, n] = e;
                                return null != n
                            }))
                        };
                        b = Ge(b), (0, je.wU)(g.U9.resolve(b.global)).then(e => (b.global = e, pt({
                            bidsBackHandler: n,
                            timeout: m,
                            adUnits: o,
                            adUnitCodes: s,
                            labels: a,
                            auctionId: d,
                            ttlBuffer: l,
                            ortb2Fragments: b,
                            metrics: p,
                            defer: h
                        })))
                    }, "requestBids");
                    return (0, h.Y6)(t, ct(0, Fe(() => !u.$W.getConfig("allowPrerendering"), function() {
                        let n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                        const r = n.adUnits || Je.adUnits;
                        n.adUnits = Array.isArray(r) ? r.slice() : [r];
                        const i = (0, E.K7)();
                        i.checkpoint("requestBids");
                        const {
                            included: o,
                            excluded: s,
                            adUnitCodes: c
                        } = e(r, n.adUnitCodes);
                        d.Ic(Ze, Object.assign(n, {
                            adUnits: o,
                            adUnitCodes: c
                        }));
                        const a = Object.assign({}, n, {
                            adUnits: n.adUnits.slice().concat(s),
                            adUnitCodes: c,
                            metrics: i,
                            defer: (0, g.v6)({
                                promiseFactory: e => new Promise(e)
                            })
                        });
                        return t.call(this, a), a.defer.promise
                    })))
                }();
                at("requestBids", gt, !1);
                const pt = (0, h.A_)("async", function() {
                    let {
                        bidsBackHandler: e,
                        timeout: t,
                        adUnits: n,
                        ttlBuffer: r,
                        adUnitCodes: i,
                        labels: o,
                        auctionId: s,
                        ortb2Fragments: a,
                        metrics: d,
                        defer: l
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    const g = (0, y.pX)(u.$W.getConfig("s2sConfig") || []),
                        p = (0, E.BO)(d).measureTime("requestBids.validate", () => st(n));

                    function h(t, n, r) {
                        if ("function" == typeof e) try {
                            e(t, n, r)
                        } catch (e) {}
                        l.resolve({
                            bids: t,
                            timedOut: n,
                            auctionId: r
                        })
                    }
                    const m = {};
                    if (p.forEach(e => {
                            const t = Object.keys(e.mediaTypes || {
                                    banner: "banner"
                                }),
                                n = e.bids.map(e => e.bidder).filter(Boolean),
                                i = y.Ay.bidderRegistry,
                                o = n.filter(e => !g.has(e));
                            e.adUnitId = (0, c.generateUUID)();
                            const s = e.ortb2Imp ? .ext ? .tid;
                            s && (m.hasOwnProperty(e.code) || (m[e.code] = s)), null == r || e.hasOwnProperty("ttlBuffer") || (e.ttlBuffer = r), o.forEach(n => {
                                const r = i[n],
                                    o = r && r.getSpec && r.getSpec(),
                                    s = o && o.supportedMediaTypes || ["banner"];
                                t.some(e => s.includes(e)) || (e.bids = e.bids.filter(e => e.bidder !== n))
                            })
                        }), p && 0 !== p.length) {
                        p.forEach(e => {
                            const t = e.ortb2Imp ? .ext ? .tid || m[e.code] || (0, c.generateUUID)();
                            m.hasOwnProperty(e.code) || (m[e.code] = t), e.transactionId = t
                        });
                        const e = f.n.createAuction({
                            adUnits: p,
                            adUnitCodes: i,
                            callback: h,
                            cbTimeout: t,
                            labels: o,
                            auctionId: s,
                            ortb2Fragments: a,
                            metrics: d
                        });
                        p.length;
                        i.forEach(t => V.setLatestAuctionForAdUnit(t, e.getAuctionId())), e.callBids()
                    } else h()
                }, "startAuction");
                gt.before(function(e, t) {
                    function n(e) {
                        let t;
                        for (; t = e.shift();) t()
                    }
                    n(qe.s0), n(bt), e.call(this, t)
                }, 49), at("addAdUnits", function(e) {
                    Je.adUnits.push(...Array.isArray(e) ? e : [e]), d.Ic(Xe)
                });
                const ht = {
                    bidWon(e) {
                        if (f.n.getBidsRequested().map(e => e.bids.map(e => e.adUnitCode)).reduce(c.flatten).filter(c.uniques).includes(e)) return !0
                    }
                };

                function mt(e, t) {
                    return ht.hasOwnProperty(e) && ht[e](t)
                }
                at("onEvent", function(e, t, n) {
                    (0, i.fp)(t) && (n && !mt(e, n) || d.on(e, t, n))
                }), at("offEvent", function(e, t, n) {
                    n && !mt(e, n) || d.AU(e, t, n)
                }), at("getEvents", function() {
                    return d.kQ()
                }), at("registerBidAdapter", function(e, t, n) {
                    try {
                        const r = n ? (0, Le.xb)(n) : e();
                        y.Ay.registerBidAdapter(r, t)
                    } catch (e) {}
                }), at("registerAnalyticsAdapter", function(e) {
                    try {
                        y.Ay.registerAnalyticsAdapter(e)
                    } catch (e) {}
                });
                const bt = [],
                    yt = (0, h.A_)("async", function(e) {
                        e && !(0, c.isEmpty)(e) && y.Ay.enableAnalytics(e)
                    }, "enableAnalyticsCb");
                let Et;

                function vt(e) {
                    Et.promise.then(() => {
                        if ("function" == typeof e) try {
                            e.call()
                        } catch (e) {}
                    })
                }

                function At(e, t) {
                    ! function(e, t, n) {
                        ! function(e, t) {
                            let n = 0;

                            function r() {
                                e.length > n ? (n += 1, e[n - 1](r)) : "function" == typeof t && t()
                            }
                            r()
                        }(t.map(t => n => {
                            Q(e, () => {
                                t(), n()
                            })
                        }), n)
                    }(() => (0, r.m)().yield ? ? !0, e.map(e => () => function(e) {
                        if (void 0 === e.called) try {
                            e.call(), e.called = !0
                        } catch (e) {}
                    }(e)), t)
                }
                at("enableAnalytics", function(e) {
                    bt.push(yt.bind(this, e))
                }), at("aliasBidder", function(e, t, n) {
                    e && t && y.Ay.aliasBidAdapter(e, t, n)
                }), Je.aliasRegistry = y.Ay.aliasRegistry, u.$W.getConfig("aliasRegistry", e => {
                    "private" === e.aliasRegistry && delete Je.aliasRegistry
                }), at("getAllWinningBids", function() {
                    return f.n.getAllWinningBids()
                }), at("getAllPrebidWinningBids", function() {
                    return f.n.getBidsReceived().filter(e => e.status === a.tl.BID_TARGETING_SET)
                }), at("getHighestCpmBids", function(e) {
                    return V.getWinningBids(e)
                }), at("clearAllAuctions", function() {
                    f.n.clearAllAuctions()
                }), at("getConfig", u.$W.getAnyConfig), at("readConfig", u.$W.readAnyConfig), at("mergeConfig", u.$W.mergeConfig), at("mergeBidderConfig", u.$W.mergeBidderConfig), at("setConfig", u.$W.setConfig), at("setBidderConfig", u.$W.setBidderConfig), Je.que.push(() => Ie()), Et = (0, g.v6)();
                at("processQueue", Fe(() => Je.delayPrerendering, async function() {
                    Je.que.push = Je.cmd.push = vt, be(), h.A_.ready(), At(Je.que, () => {
                        At(Je.cmd, () => {
                            Et.resolve()
                        })
                    })
                }), !1), at("triggerBilling", function(e) {
                    let {
                        adId: t,
                        adUnitCode: n
                    } = e;
                    f.n.getAllWinningBids().filter(e => e.adId === t || null == t && e.adUnitCode === n).forEach(e => {
                        y.Ay.triggerBilling(e), fe(e)
                    })
                }), at("refreshPageViewId", function() {
                    for (const e of Je.pageViewIdPerBidder.keys()) Je.pageViewIdPerBidder.set(e, (0, c.generateUUID)())
                })
            },
            466(e, t, n) {
                n.r(t), n.d(t, {
                    _each: () => ee,
                    _map: () => ne,
                    _setEventEmitter: () => m,
                    binarySearch: () => tt,
                    buildUrl: () => Ge,
                    canAccessWindowTop: () => P,
                    checkCookieSupport: () => Ue,
                    cleanObj: () => Pe,
                    compareCodeAndSlot: () => qe,
                    compressDataWithGZip: () => ct,
                    contains: () => te,
                    convertObjectToArray: () => Ze,
                    createIframe: () => Y,
                    createInvisibleIframe: () => J,
                    createTrackPixelHtml: () => ae,
                    createTrackPixelIframeHtml: () => ue,
                    cyrb53Hash: () => Qe,
                    debugTurnedOn: () => Q,
                    deepAccess: () => s.A,
                    deepClone: () => c.Go,
                    deepEqual: () => He,
                    deepSetValue: () => a.J,
                    delayExecution: () => _e,
                    encodeMacroURI: () => de,
                    extractDomainFromHost: () => it,
                    flatten: () => fe,
                    formatQS: () => Fe,
                    generateUUID: () => T,
                    getBidIdParameter: () => C,
                    getBidRequest: () => ge,
                    getBidderCodes: () => he,
                    getDefinedParams: () => c.SH,
                    getDocument: () => W,
                    getDomLoadingDuration: () => Re,
                    getFallbackWindow: () => $,
                    getParameterByName: () => K,
                    getPerformanceNow: () => Be,
                    getPrebidInternal: () => v,
                    getSafeframeGeometry: () => we,
                    getScreenOrientation: () => d.Vv,
                    getUniqueIdentifierStr: () => I,
                    getUnixTimestampFromNow: () => Xe,
                    getUserConfiguredParams: () => xe,
                    getValue: () => pe,
                    getWinDimensions: () => d.Ot,
                    getWindowLocation: () => j,
                    getWindowSelf: () => q,
                    getWindowTop: () => x,
                    groupBy: () => ke,
                    hasConsoleLogger: () => z,
                    hasDeviceAccess: () => De,
                    hasNonSerializableProperty: () => nt,
                    inIframe: () => ve,
                    insertElement: () => re,
                    insertHtmlIntoIframe: () => se,
                    insertUserSyncIframe: () => ce,
                    internal: () => y,
                    isA: () => c.KG,
                    isAdUnitCodeMatchingSlot: () => je,
                    isApnGetTagDefined: () => be,
                    isArray: () => c.cy,
                    isArrayOfNums: () => c.Uu,
                    isBoolean: () => c.Lm,
                    isEmpty: () => X,
                    isEmptyStr: () => Z,
                    isFn: () => c.fp,
                    isGptPubadsDefined: () => me,
                    isGzipCompressionSupported: () => st,
                    isInteger: () => c.Fq,
                    isNumber: () => c.Et,
                    isPlainObject: () => c.Qd,
                    isSafariBrowser: () => Ie,
                    isSafeFrameWindow: () => Ae,
                    isStr: () => c.O8,
                    isValidMediaTypes: () => Ne,
                    logError: () => G,
                    logInfo: () => F,
                    logMessage: () => M,
                    logWarn: () => L,
                    memoize: () => Ke,
                    mergeDeep: () => Ve,
                    parseGPTSingleSizeArray: () => U,
                    parseGPTSingleSizeArrayToRtbSize: () => k,
                    parseQS: () => Me,
                    parseQueryStringParameters: () => O,
                    parseSizesInput: () => R,
                    parseUrl: () => Le,
                    pick: () => $e,
                    prefixLog: () => H,
                    replaceAuctionPrice: () => Ce,
                    replaceClickThrough: () => Oe,
                    replaceMacros: () => Te,
                    resetWinDimensions: () => d.Bp,
                    safeJSONEncode: () => Je,
                    safeJSONParse: () => Ye,
                    setOnAny: () => rt,
                    setScriptAttributes: () => et,
                    shuffle: () => Ee,
                    sizeTupleToRtbSize: () => _,
                    sizeTupleToSizeString: () => D,
                    sizesToSizeTuples: () => B,
                    sortByHighestCpm: () => ye,
                    timestamp: () => Se,
                    transformAdServerTargetingObj: () => S,
                    triggerNurlWithCpm: () => ot,
                    triggerPixel: () => oe,
                    uniques: () => le,
                    unsupportedBidderMessage: () => We,
                    waitForElementToLoad: () => ie
                });
                var r = n(1933),
                    i = n(1418),
                    o = n(3064),
                    s = n(8928),
                    c = n(6665),
                    a = n(3435),
                    d = n(3958);
                const u = Boolean(window.console),
                    l = Boolean(u && window.console.log),
                    f = Boolean(u && window.console.info),
                    g = Boolean(u && window.console.warn),
                    p = Boolean(u && window.console.error);
                let h;

                function m(e) {
                    h = e
                }

                function b() {
                    null != h && h(...arguments)
                }
                const y = {
                        checkCookieSupport: Ue,
                        createTrackPixelIframeHtml: ue,
                        getWindowSelf: q,
                        getWindowTop: x,
                        canAccessWindowTop: P,
                        getWindowLocation: j,
                        insertUserSyncIframe: ce,
                        insertElement: re,
                        isFn: c.fp,
                        triggerPixel: oe,
                        logError: G,
                        logWarn: L,
                        logMessage: M,
                        logInfo: F,
                        parseQS: Me,
                        formatQS: Fe,
                        deepEqual: He
                    },
                    E = {};

                function v() {
                    return E
                }
                var A, w = (A = 0, function() {
                    return ++A
                });

                function I() {
                    return w() + Math.random().toString(16).substr(2)
                }

                function T(e) {
                    return e ? (e ^ (window && window.crypto && window.crypto.getRandomValues ? crypto.getRandomValues(new Uint8Array(1))[0] % 16 : 16 * Math.random()) >> e / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, T)
                }

                function C(e, t) {
                    return t ? .[e] || ""
                }

                function O(e) {
                    let t = "";
                    for (var n in e) e.hasOwnProperty(n) && (t += n + "=" + encodeURIComponent(e[n]) + "&");
                    return t = t.replace(/&$/, ""), t
                }

                function S(e) {
                    return e && Object.getOwnPropertyNames(e).length > 0 ? Object.keys(e).map(t => `${t}=${encodeURIComponent(e[t])}`).join("&") : ""
                }

                function B(e) {
                    return "string" == typeof e ? e.split(/\s*,\s*/).map(e => e.match(/^(\d+)x(\d+)$/i)).filter(e => e).map(e => {
                        let [t, n, r] = e;
                        return [parseInt(n, 10), parseInt(r, 10)]
                    }) : Array.isArray(e) ? N(e) ? [e] : e.filter(N) : []
                }

                function R(e) {
                    return B(e).map(D)
                }

                function D(e) {
                    return e[0] + "x" + e[1]
                }

                function U(e) {
                    if (N(e)) return D(e)
                }

                function _(e) {
                    return {
                        w: e[0],
                        h: e[1]
                    }
                }

                function k(e) {
                    if (N(e)) return _(e)
                }

                function N(e) {
                    return (0, c.cy)(e) && 2 === e.length && !isNaN(e[0]) && !isNaN(e[1])
                }

                function x() {
                    return window.top
                }

                function q() {
                    return window.self
                }

                function j() {
                    return window.location
                }

                function W() {
                    return document
                }

                function P() {
                    try {
                        if (y.getWindowTop().location.href) return !0
                    } catch (e) {
                        return !1
                    }
                }

                function $(e) {
                    return e || (P() ? y.getWindowTop() : y.getWindowSelf())
                }

                function M() {
                    Q() && l && console.log.apply(console, V(arguments, "MESSAGE:"))
                }

                function F() {
                    Q() && f && console.info.apply(console, V(arguments, "INFO:"))
                }

                function L() {
                    Q() && g && console.warn.apply(console, V(arguments, "WARNING:")), b(i.qY.AUCTION_DEBUG, {
                        type: "WARNING",
                        arguments
                    })
                }

                function G() {
                    Q() && p && console.error.apply(console, V(arguments, "ERROR:")), b(i.qY.AUCTION_DEBUG, {
                        type: "ERROR",
                        arguments
                    })
                }

                function H(e) {
                    function t(t) {
                        return function() {
                            for (var n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];
                            t(e, ...r)
                        }
                    }
                    return {
                        logError: t(G),
                        logWarn: t(L),
                        logMessage: t(M),
                        logInfo: t(F)
                    }
                }

                function V(e, t) {
                    e = [].slice.call(e);
                    const n = r.$W.getCurrentBidder();
                    return t && e.unshift(t), n && e.unshift(i("#aaa")), e.unshift(i("#3b88c3")), e.unshift("%cPrebid" + (n ? `%c${n}` : "")), e;

                    function i(e) {
                        return `display: inline-block; color: #fff; background: ${e}; padding: 1px 4px; border-radius: 3px;`
                    }
                }

                function z() {
                    return l
                }

                function Q() {
                    return !!r.$W.getConfig("debug")
                }
                const Y = (() => {
                    const e = {
                        border: "0px",
                        hspace: "0",
                        vspace: "0",
                        marginWidth: "0",
                        marginHeight: "0",
                        scrolling: "no",
                        frameBorder: "0",
                        allowtransparency: "true"
                    };
                    return function(t, n) {
                        let r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                        const i = t.createElement("iframe");
                        return Object.assign(i, Object.assign({}, e, n)), Object.assign(i.style, r), i
                    }
                })();

                function J() {
                    return Y(document, {
                        id: I(),
                        width: 0,
                        height: 0,
                        src: "about:blank"
                    }, {
                        display: "none",
                        height: "0px",
                        width: "0px",
                        border: "0px"
                    })
                }

                function K(e) {
                    return Me(j().search)[e] || ""
                }

                function X(e) {
                    return !e || ((0, c.cy)(e) || (0, c.O8)(e) ? !(e.length > 0) : Object.keys(e).length <= 0)
                }

                function Z(e) {
                    return (0, c.O8)(e) && (!e || 0 === e.length)
                }

                function ee(e, t) {
                    if ((0, c.fp)(e ? .forEach)) return e.forEach(t, this);
                    Object.entries(e || {}).forEach(e => {
                        let [n, r] = e;
                        return t.call(this, r, n)
                    })
                }

                function te(e, t) {
                    return (0, c.fp)(e ? .includes) && e.includes(t)
                }

                function ne(e, t) {
                    return (0, c.fp)(e ? .map) ? e.map(t) : Object.entries(e || {}).map(n => {
                        let [r, i] = n;
                        return t(i, r, e)
                    })
                }

                function re(e, t, n, r) {
                    let i;
                    t = t || document, i = n ? t.getElementsByTagName(n) : t.getElementsByTagName("head");
                    try {
                        if (i = i.length ? i : t.getElementsByTagName("body"), i.length) {
                            i = i[0];
                            const t = r ? null : i.firstChild;
                            return i.insertBefore(e, t)
                        }
                    } catch (e) {}
                }

                function ie(e, t) {
                    let n = null;
                    return new o.U9(r => {
                        const i = function() {
                            e.removeEventListener("load", i), e.removeEventListener("error", i), null != n && window.clearTimeout(n), r()
                        };
                        e.addEventListener("load", i), e.addEventListener("error", i), null != t && (n = window.setTimeout(i, t))
                    })
                }

                function oe(e, t, n) {
                    const r = new Image;
                    t && y.isFn(t) && ie(r, n).then(t), r.src = e
                }

                function se(e) {
                    if (!e) return;
                    const t = J();
                    var n;
                    y.insertElement(t, document, "body"), (n = t.contentWindow.document).open(), n.write(e), n.close()
                }

                function ce(e, t, n) {
                    const r = y.createTrackPixelIframeHtml(e, !1, "allow-scripts allow-same-origin"),
                        i = document.createElement("div");
                    i.innerHTML = r;
                    const o = i.firstChild;
                    t && y.isFn(t) && ie(o, n).then(t), y.insertElement(o, document, "html", !0)
                }

                function ae(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : encodeURI;
                    if (!e) return "";
                    let n = '<div style="position:absolute;left:0px;top:0px;visibility:hidden;">';
                    return n += '<img src="' + t(e) + '"></div>', n
                }

                function de(e) {
                    return Array.from(e.matchAll(/\$({[^}]+})/g)).map(e => e[1]).reduce((e, t) => e.replace("$" + encodeURIComponent(t), "$" + t), encodeURI(e))
                }

                function ue(e) {
                    let t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "";
                    return e ? ((!(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]) && (e = encodeURI(e)), t && (t = `sandbox="${t}"`), `<iframe ${t} id="${I()}"\n      frameborder="0"\n      allowtransparency="true"\n      marginheight="0" marginwidth="0"\n      width="0" hspace="0" vspace="0" height="0"\n      style="height:0px;width:0px;display:none;"\n      scrolling="no"\n      src="${e}">\n    </iframe>`) : ""
                }

                function le(e, t, n) {
                    return n.indexOf(e) === t
                }

                function fe(e, t) {
                    return e.concat(t)
                }

                function ge(e, t) {
                    if (e) return t.flatMap(e => e.bids).find(t => ["bidId", "adId", "bid_id"].some(n => t[n] === e))
                }

                function pe(e, t) {
                    return e[t]
                }

                function he(e) {
                    return e.map(e => e.bids.map(e => e.bidder).reduce(fe, [])).reduce(fe, []).filter(e => void 0 !== e).filter(le)
                }

                function me() {
                    if (window.googletag && (0, c.fp)(window.googletag.pubads) && (0, c.fp)(window.googletag.pubads().getSlots)) return !0
                }

                function be() {
                    if (window.apntag && (0, c.fp)(window.apntag.getTag)) return !0
                }
                const ye = (e, t) => t.cpm - e.cpm;

                function Ee(e) {
                    let t = e.length;
                    for (; t > 0;) {
                        const n = Math.floor(Math.random() * t);
                        t--;
                        const r = e[t];
                        e[t] = e[n], e[n] = r
                    }
                    return e
                }

                function ve() {
                    try {
                        return y.getWindowSelf() !== y.getWindowTop()
                    } catch (e) {
                        return !0
                    }
                }

                function Ae() {
                    if (!ve()) return !1;
                    const e = y.getWindowSelf();
                    return !(!e.$sf || !e.$sf.ext)
                }

                function we() {
                    try {
                        const e = q();
                        return "function" == typeof e.$sf.ext.geom ? e.$sf.ext.geom() : void 0
                    } catch (e) {
                        return
                    }
                }

                function Ie() {
                    return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)
                }

                function Te(e, t) {
                    if (e) return Object.entries(t).reduce((e, t) => {
                        let [n, r] = t;
                        return e.replace(new RegExp("\\$\\{" + n + "\\}", "g"), r || "")
                    }, e)
                }

                function Ce(e, t) {
                    return Te(e, {
                        AUCTION_PRICE: t
                    })
                }

                function Oe(e, t) {
                    if (e && t && "string" == typeof t) return e.replace(/\${CLICKTHROUGH}/g, t)
                }

                function Se() {
                    return (new Date).getTime()
                }

                function Be() {
                    return window.performance && window.performance.now && window.performance.now() || 0
                }

                function Re(e) {
                    let t = -1;
                    const n = (e = e || q()).performance;
                    if (e.performance ? .timing && e.performance.timing.navigationStart > 0) {
                        const e = n.timing.domLoading - n.timing.navigationStart;
                        e > 0 && (t = e)
                    }
                    return t
                }

                function De() {
                    return !1 !== r.$W.getConfig("deviceAccess")
                }

                function Ue() {
                    if (window.navigator.cookieEnabled || document.cookie.length) return !0
                }

                function _e(e, t) {
                    if (t < 1) throw new Error(`numRequiredCalls must be a positive number. Got ${t}`);
                    let n = 0;
                    return function() {
                        n++, n === t && e.apply(this, arguments)
                    }
                }

                function ke(e, t) {
                    return e.reduce(function(e, n) {
                        return (e[n[t]] = e[n[t]] || []).push(n), e
                    }, {})
                }

                function Ne(e) {
                    const t = ["banner", "native", "video", "audio"];
                    return !!Object.keys(e).every(e => t.includes(e))
                }

                function xe(e, t, n) {
                    return e.filter(e => e.code === t).flatMap(e => e.bids).filter(e => e.bidder === n).map(e => e.params || {})
                }
                const qe = (e, t) => e.getAdUnitPath() === t || e.getSlotElementId() === t;

                function je(e) {
                    return t => qe(e, t)
                }

                function We(e, t) {
                    const n = Object.keys(e.mediaTypes || {
                        banner: "banner"
                    }).join(", ");
                    return `\n    ${e.code} is a ${n} ad unit\n    containing bidders that don't support ${n}: ${t}.\n    This bidder won't fetch demand.\n  `
                }

                function Pe(e) {
                    return Object.fromEntries(Object.entries(e).filter(e => {
                        let [t, n] = e;
                        return void 0 !== n
                    }))
                }

                function $e(e, t) {
                    return "object" != typeof e ? {} : t.reduce((n, r, i) => {
                        if ("function" == typeof r) return n;
                        let o = r;
                        const s = r.match(/^(.+?)\sas\s(.+?)$/i);
                        s && (r = s[1], o = s[2]);
                        let c = e[r];
                        return "function" == typeof t[i + 1] && (c = t[i + 1](c, n)), void 0 !== c && (n[o] = c), n
                    }, {})
                }

                function Me(e) {
                    return e ? e.replace(/^\?/, "").split("&").reduce((e, t) => {
                        let [n, r] = t.split("=");
                        return /\[\]$/.test(n) ? (n = n.replace("[]", ""), e[n] = e[n] || [], e[n].push(r)) : e[n] = r || "", e
                    }, {}) : {}
                }

                function Fe(e) {
                    return Object.keys(e).map(t => Array.isArray(e[t]) ? e[t].map(e => `${t}[]=${e}`).join("&") : `${t}=${e[t]}`).join("&")
                }

                function Le(e, t) {
                    const n = document.createElement("a");
                    t && "noDecodeWholeURL" in t && t.noDecodeWholeURL ? n.href = e : n.href = decodeURIComponent(e);
                    const r = t && "decodeSearchAsString" in t && t.decodeSearchAsString;
                    return {
                        href: n.href,
                        protocol: (n.protocol || "").replace(/:$/, ""),
                        hostname: n.hostname,
                        port: +n.port,
                        pathname: n.pathname.replace(/^(?!\/)/, "/"),
                        search: r ? n.search : y.parseQS(n.search || ""),
                        hash: (n.hash || "").replace(/^#/, ""),
                        host: n.host || window.location.host
                    }
                }

                function Ge(e) {
                    return (e.protocol || "http") + "://" + (e.host || e.hostname + (e.port ? `:${e.port}` : "")) + (e.pathname || "") + (e.search ? `?${y.formatQS(e.search||"")}` : "") + (e.hash ? `#${e.hash}` : "")
                }

                function He(e, t) {
                    let {
                        checkTypes: n = !1
                    } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                    if (e === t) return !0;
                    if ("object" != typeof e || null === e || "object" != typeof t || null === t) return !1;
                    const r = Array.isArray(e),
                        i = Array.isArray(t);
                    if (r && i) {
                        if (e.length !== t.length) return !1;
                        for (let r = 0; r < e.length; r++)
                            if (!He(e[r], t[r], {
                                    checkTypes: n
                                })) return !1;
                        return !0
                    }
                    if (r || i) return !1;
                    if (n && e.constructor !== t.constructor) return !1;
                    const o = Object.keys(e),
                        s = Object.keys(t);
                    if (o.length !== s.length) return !1;
                    for (const r of o) {
                        if (!Object.prototype.hasOwnProperty.call(t, r)) return !1;
                        if (!He(e[r], t[r], {
                                checkTypes: n
                            })) return !1
                    }
                    return !0
                }

                function Ve(e) {
                    for (let t = 0; t < (arguments.length <= 1 ? 0 : arguments.length - 1); t++) {
                        const n = t + 1 < 1 || arguments.length <= t + 1 ? void 0 : arguments[t + 1];
                        (0, c.Qd)(n) && ze(e, n)
                    }
                    return e
                }

                function ze(e, t) {
                    if (!(0, c.Qd)(e) || !(0, c.Qd)(t)) return;
                    const n = Object.keys(t);
                    for (let r = 0; r < n.length; r++) {
                        const i = n[r];
                        if ("__proto__" === i || "constructor" === i) continue;
                        const o = t[i];
                        (0, c.Qd)(o) ? (e[i] || (e[i] = {}), ze(e[i], o)) : Array.isArray(o) ? Array.isArray(e[i]) ? o.forEach(t => {
                            e[i].some(e => He(e, t)) || e[i].push(t)
                        }) : e[i] = [...o] : e[i] = o
                    }
                }

                function Qe(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
                    const n = function(e, t) {
                        if ((0, c.fp)(Math.imul)) return Math.imul(e, t);
                        var n = (4194303 & e) * (t |= 0);
                        return 4290772992 & e && (n += (4290772992 & e) * t | 0), 0 | n
                    };
                    let r = 3735928559 ^ t,
                        i = 1103547991 ^ t;
                    for (let t, o = 0; o < e.length; o++) t = e.charCodeAt(o), r = n(r ^ t, 2654435761), i = n(i ^ t, 1597334677);
                    return r = n(r ^ r >>> 16, 2246822507) ^ n(i ^ i >>> 13, 3266489909), i = n(i ^ i >>> 16, 2246822507) ^ n(r ^ r >>> 13, 3266489909), (4294967296 * (2097151 & i) + (r >>> 0)).toString()
                }

                function Ye(e) {
                    try {
                        return JSON.parse(e)
                    } catch (e) {}
                }

                function Je(e) {
                    try {
                        return JSON.stringify(e)
                    } catch (e) {
                        return ""
                    }
                }

                function Ke(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : function(e) {
                        return e
                    };
                    const n = new Map,
                        r = function() {
                            const r = t.apply(this, arguments);
                            return n.has(r) || n.set(r, e.apply(this, arguments)), n.get(r)
                        };
                    return r.clear = n.clear.bind(n), r
                }

                function Xe() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0,
                        t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "d";
                    if (["m", "d"].indexOf(t) < 0) return Date.now();
                    const n = e / ("m" === t ? 1440 : 1);
                    return Date.now() + (e && e > 0 ? 864e5 * n : 0)
                }

                function Ze(e) {
                    return Object.keys(e).map(t => ({
                        [t]: e[t]
                    }))
                }

                function et(e, t) {
                    Object.entries(t).forEach(t => {
                        let [n, r] = t;
                        return e.setAttribute(n, r)
                    })
                }

                function tt(e, t) {
                    let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : e => e,
                        r = 0,
                        i = e.length && e.length - 1;
                    const o = n(t);
                    for (; i - r > 1;) {
                        const t = r + Math.round((i - r) / 2);
                        o > n(e[t]) ? r = t : i = t
                    }
                    for (; e.length > r && o > n(e[r]);) r++;
                    return r
                }

                function nt(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Set;
                    for (const n in e) {
                        const r = e[n],
                            i = typeof r;
                        if (void 0 === r || "function" === i || "symbol" === i || r instanceof RegExp || r instanceof Map || r instanceof Set || r instanceof Date || null !== r && "object" === i && r.hasOwnProperty("toJSON")) return !0;
                        if (null !== r && "object" === i && r.constructor === Object) {
                            if (t.has(r)) return !0;
                            if (t.add(r), nt(r, t)) return !0
                        }
                    }
                    return !1
                }

                function rt(e, t) {
                    for (let n, r = 0; r < e.length; r++)
                        if (n = (0, s.A)(e[r], t), n) return n
                }

                function it(e) {
                    let t = null;
                    try {
                        const n = /[-\w]+\.([-\w]+|[-\w]{3,}|[-\w]{1,3}\.[-\w]{2})$/i.exec(e);
                        if (null != n && n.length > 0) {
                            t = n[0];
                            for (let e = 1; e < n.length; e++) n[e].length > t.length && (t = n[e])
                        }
                    } catch (e) {
                        t = null
                    }
                    return t
                }

                function ot(e, t) {
                    (0, c.O8)(e.nurl) && "" !== e.nurl && (e.nurl = e.nurl.replace(/\${AUCTION_PRICE}/, t), oe(e.nurl))
                }
                const st = function() {
                    let e;
                    return function() {
                        if (void 0 !== e) return e;
                        try {
                            void 0 === window.CompressionStream ? e = !1 : (new window.CompressionStream("gzip"), e = !0)
                        } catch (t) {
                            e = !1
                        }
                        return e
                    }
                }();
                async function ct(e) {
                    "string" != typeof e && (e = JSON.stringify(e));
                    const t = (new TextEncoder).encode(e),
                        n = new Blob([t]).stream().pipeThrough(new window.CompressionStream("gzip")),
                        r = await new Response(n).blob(),
                        i = await r.arrayBuffer();
                    return new Uint8Array(i)
                }
            },
            736(e, t, n) {
                n.d(t, {
                    Tn: () => s,
                    fW: () => o,
                    tW: () => i,
                    tp: () => r
                });
                const r = "prebid",
                    i = "bidder",
                    o = "userId",
                    s = "analytics"
            },
            765(e, t, n) {
                n.d(t, {
                    k: () => i,
                    rT: () => s,
                    uP: () => o
                });
                var r = n(3715);

                function i() {
                    return r.A.pbGlobal
                }

                function o() {
                    return r.A.defineGlobal
                }

                function s() {
                    return r.A.distUrlBase
                }
            },
            867(e, t, n) {
                n.d(t, {
                    EN: () => c,
                    gR: () => o
                });
                var r = n(1933);

                function i(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : window;
                    if (!e) return e;
                    if (/\w+:\/\//.exec(e)) return e;
                    let n = t.location.protocol;
                    try {
                        n = t.top.location.protocol
                    } catch (e) {}
                    return /^\/\//.exec(e) ? n + e : `${n}//${e}`
                }

                function o(e) {
                    let t, {
                        noLeadingWww: n = !1,
                        noPort: r = !1
                    } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    try {
                        t = new URL(i(e))
                    } catch (e) {
                        return
                    }
                    return t = r ? t.hostname : t.host, n && t.startsWith("www.") && (t = t.substring(4)), t
                }

                function s(e) {
                    try {
                        const t = e.querySelector("link[rel='canonical']");
                        if (null !== t) return t.href
                    } catch (e) {}
                    return null
                }
                const c = function(e) {
                    let t, n, r, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : window;
                    return i.top !== i ? e : function() {
                        const o = s(i.document),
                            c = i.location.href;
                        return t === o && c === n || (t = o, n = c, r = e()), r
                    }
                }((a = window, function() {
                    const e = [],
                        t = function(e) {
                            try {
                                if (!e.location.ancestorOrigins) return;
                                return e.location.ancestorOrigins
                            } catch (e) {}
                        }(a),
                        n = r.$W.getConfig("maxNestedIframes");
                    let c, d, u, l, f = !1,
                        g = 0,
                        p = !1,
                        h = !1,
                        m = !1;
                    do {
                        const n = c,
                            r = h;
                        let i, o = !1,
                            l = null;
                        h = !1, c = c ? c.parent : a;
                        try {
                            i = c.location.href || null
                        } catch (e) {
                            o = !0
                        }
                        if (o)
                            if (r) {
                                const e = n.context;
                                try {
                                    l = e.sourceUrl, d = l, m = !0, p = !0, c === a.top && (f = !0), e.canonicalUrl && (u = e.canonicalUrl)
                                } catch (e) {}
                            } else {
                                try {
                                    const e = n.document.referrer;
                                    e && (l = e, c === a.top && (f = !0))
                                } catch (e) {}!l && t && t[g - 1] && (l = t[g - 1], c === a.top && (m = !0)), l && !p && (d = l)
                            }
                        else {
                            if (i && (l = i, d = l, p = !1, c === a.top)) {
                                f = !0;
                                const e = s(c.document);
                                e && (u = e)
                            }
                            c.context && c.context.sourceUrl && (h = !0)
                        }
                        e.push(l), g++
                    } while (c !== a.top && g < n);
                    e.reverse();
                    try {
                        l = a.top.document.referrer
                    } catch (e) {}
                    const b = f || m ? d : null,
                        y = r.$W.getConfig("pageUrl") || u || null;
                    let E = r.$W.getConfig("pageUrl") || b || i(y, a);
                    return b && b.indexOf("?") > -1 && -1 === E.indexOf("?") && (E = `${E}${b.substring(b.indexOf("?"))}`), {
                        reachedTop: f,
                        isAmp: p,
                        numIframes: g - 1,
                        stack: e,
                        topmostLocation: d || null,
                        location: b,
                        canonicalUrl: y,
                        page: E,
                        domain: o(E) || null,
                        ref: l || null,
                        legacy: {
                            reachedTop: f,
                            isAmp: p,
                            numIframes: g - 1,
                            stack: e,
                            referer: d || null,
                            canonicalUrl: y
                        }
                    }
                }));
                var a
            },
            939(e, t, n) {
                n.d(t, {
                    H: () => u
                });
                var r = n(3064),
                    i = n(466);
                let o = null,
                    s = 0,
                    c = [];

                function a() {
                    document.hidden ? o = Date.now() : (s += Date.now() - (o ? ? 0), o = null, c.forEach(e => {
                        let {
                            callback: t,
                            startTime: n,
                            setTimerId: r
                        } = e;
                        return r(d(t, s - n)())
                    }), c = [])
                }

                function d(e, t) {
                    const n = s;
                    let r = setTimeout(() => {
                        s === n && null == o ? e() : null != o ? c.push({
                            callback: e,
                            startTime: n,
                            setTimerId(e) {
                                r = e
                            }
                        }) : r = d(e, s - n)()
                    }, t);
                    return () => r
                }

                function u() {
                    let {
                        startTime: e = i.timestamp,
                        ttl: t = () => null,
                        monotonic: n = !1,
                        slack: o = 5e3
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    const s = new Map,
                        c = [],
                        a = [],
                        u = n ? e => a.push(e) : e => a.splice((0, i.binarySearch)(a, e, e => e.expiry), 0, e);
                    let l, f;

                    function g() {
                        if (f && clearTimeout(f), a.length > 0) {
                            const e = (0, i.timestamp)();
                            l = Math.max(e, a[0].expiry + o), f = d(() => {
                                const e = (0, i.timestamp)();
                                let t = 0;
                                for (const n of a) {
                                    if (n.expiry > e) break;
                                    c.forEach(e => {
                                        try {
                                            e(n.item)
                                        } catch (e) {}
                                    }), s.delete(n.item), t++
                                }
                                a.splice(0, t), f = null, g()
                            }, l - e)
                        } else f = null
                    }

                    function p(n) {
                        const i = {},
                            s = h;
                        let c;
                        const [a, d] = Object.entries({
                            start: e,
                            delta: t
                        }).map(e => {
                            let t, [a, d] = e;
                            return function() {
                                const e = t = {};
                                r.U9.resolve(d(n)).then(n => {
                                    e === t && (i[a] = n, s === h && null != i.start && null != i.delta && (c = i.start + i.delta, u(p), (null == f || l > c + o) && g()))
                                })
                            }
                        }), p = {
                            item: n,
                            refresh: d,
                            get expiry() {
                                return c
                            }
                        };
                        return a(), d(), p
                    }
                    let h = {};
                    return {
                        [Symbol.iterator]: () => s.keys(),
                        add(e) {
                            !s.has(e) && s.set(e, p(e))
                        },
                        has: e => s.has(e),
                        delete(e) {
                            const t = s.get(e);
                            if (t)
                                for (let e = 0; e < a.length && a[e].expiry <= t.expiry; e++)
                                    if (a[e] === t) {
                                        a.splice(e, 1);
                                        break
                                    }
                            return s.delete(e)
                        },
                        clear() {
                            a.length = 0, g(), s.clear(), h = {}
                        },
                        toArray: () => Array.from(s.keys()),
                        refresh() {
                            a.length = 0, g();
                            for (const e of s.values()) e.refresh()
                        },
                        onExpiry: e => (c.push(e), () => {
                            const t = c.indexOf(e);
                            t >= 0 && c.splice(t, 1)
                        })
                    }
                }
                document.addEventListener("visibilitychange", a)
            },
            1124(e, t, n) {
                n.d(t, {
                    j: () => u,
                    q: () => f
                });
                var r = n(466),
                    i = n(1933);
                const o = {
                        buckets: [{
                            max: 5,
                            increment: .5
                        }]
                    },
                    s = {
                        buckets: [{
                            max: 20,
                            increment: .1
                        }]
                    },
                    c = {
                        buckets: [{
                            max: 20,
                            increment: .01
                        }]
                    },
                    a = {
                        buckets: [{
                            max: 3,
                            increment: .01
                        }, {
                            max: 8,
                            increment: .05
                        }, {
                            max: 20,
                            increment: .5
                        }]
                    },
                    d = {
                        buckets: [{
                            max: 5,
                            increment: .05
                        }, {
                            max: 10,
                            increment: .1
                        }, {
                            max: 20,
                            increment: .5
                        }]
                    };

                function u(e, t) {
                    let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1,
                        r = parseFloat(e);
                    return isNaN(r) && (r = ""), {
                        low: "" === r ? "" : l(e, o, n),
                        med: "" === r ? "" : l(e, s, n),
                        high: "" === r ? "" : l(e, c, n),
                        auto: "" === r ? "" : l(e, d, n),
                        dense: "" === r ? "" : l(e, a, n),
                        custom: "" === r ? "" : l(e, t, n)
                    }
                }

                function l(e, t, n) {
                    let r = "";
                    if (!f(t)) return r;
                    const o = t.buckets.reduce((e, t) => e.max > t.max ? e : t, {
                        max: 0
                    });
                    let s = 0;
                    const c = t.buckets.find(t => {
                        if (e > o.max * n) {
                            let e = t.precision;
                            void 0 === e && (e = 2), r = (t.max * n).toFixed(e)
                        } else {
                            if (e <= t.max * n && e >= s * n) return t.min = s, t;
                            s = t.max
                        }
                    });
                    return c && (r = function(e, t, n) {
                        const r = void 0 !== t.precision ? t.precision : 2,
                            o = t.increment * n,
                            s = t.min * n;
                        let c = Math.floor;
                        const a = i.$W.getConfig("cpmRoundingFunction");
                        "function" == typeof a && (c = a);
                        const d = Math.pow(10, r + 2),
                            u = (e * d - s * d) / (o * d);
                        let l, f;
                        try {
                            l = c(u) * o + s
                        } catch (e) {
                            f = !0
                        }(f || "number" != typeof l) && (l = Math.floor(u) * o + s);
                        return l = Number(l.toFixed(10)), l.toFixed(r)
                    }(e, c, n)), r
                }

                function f(e) {
                    if ((0, r.isEmpty)(e) || !e.buckets || !Array.isArray(e.buckets)) return !1;
                    let t = !0;
                    return e.buckets.forEach(e => {
                        e.max && e.increment || (t = !1)
                    }), t
                }
            },
            1385(e, t, n) {
                n.d(t, {
                    B1: () => c,
                    SL: () => E,
                    ad: () => h,
                    mW: () => g,
                    o2: () => b,
                    t6: () => p
                });
                var r = n(466),
                    i = n(6665),
                    o = n(3064),
                    s = n(1933);
                const c = Object.freeze({}),
                    a = "gdpr",
                    d = "gpp",
                    u = "usp",
                    l = "coppa";
                class f {#
                    e;#
                    t;#
                    n;#
                    r;#
                    i = !0;#
                    o;
                    constructor() {
                        this.reset()
                    }#
                    s(e) {
                        this.#r = !0, this.#t = e, this.#n.resolve(e)
                    }
                    reset() {
                        this.#n = (0, o.v6)(), this.#e = !1, this.#t = null, this.#r = !1, this.generatedTime = null
                    }
                    enable() {
                        this.#e = !0
                    }
                    get enabled() {
                        return this.#e
                    }
                    get ready() {
                        return this.#r
                    }
                    get promise() {
                        return this.#r ? o.U9.resolve(this.#t) : (this.#e || this.#s(null), this.#n.promise)
                    }
                    setConsentData(e) {
                        let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (0, r.timestamp)();
                        this.generatedTime = t, this.#i = !0, this.#s(e)
                    }
                    getConsentData() {
                        return this.#e ? this.#t : null
                    }
                    get hash() {
                        return this.#i && (this.#o = (0, r.cyrb53Hash)(JSON.stringify(this.#t && this.hashFields ? this.hashFields.map(e => this.#t[e]) : this.#t)), this.#i = !1), this.#o
                    }
                }
                const g = new class extends f {
                        hashFields = ["gdprApplies", "consentString"];
                        getConsentMeta() {
                            const e = this.getConsentData();
                            if (e && e.vendorData && this.generatedTime) return {
                                gdprApplies: e.gdprApplies,
                                consentStringSize: (0, i.O8)(e.vendorData.tcString) ? e.vendorData.tcString.length : 0,
                                generatedAt: this.generatedTime,
                                apiVersion: e.apiVersion
                            }
                        }
                    },
                    p = new class extends f {
                        getConsentMeta() {
                            if (this.getConsentData() && this.generatedTime) return {
                                generatedAt: this.generatedTime
                            }
                        }
                    },
                    h = new class extends f {
                        hashFields = ["applicableSections", "gppString"];
                        getConsentMeta() {
                            if (this.getConsentData() && this.generatedTime) return {
                                generatedAt: this.generatedTime
                            }
                        }
                    },
                    m = (() => {
                        function e() {
                            return !!s.$W.getConfig("coppa")
                        }
                        return {
                            getCoppa: e,
                            getConsentData: e,
                            getConsentMeta: e,
                            reset() {},
                            get promise() {
                                return o.U9.resolve(e())
                            },
                            get hash() {
                                return e() ? "1" : "0"
                            }
                        }
                    })(),
                    b = function() {
                        const e = {},
                            t = {},
                            n = {};
                        return {
                            register(r, i, o) {
                                o && ((e[i] = e[i] || {})[r] = o, t.hasOwnProperty(i) ? t[i] !== o && (t[i] = n) : t[i] = o)
                            },
                            get(r) {
                                const i = {
                                    modules: e[r] || {}
                                };
                                return t.hasOwnProperty(r) && t[r] !== n && (i.gvlid = t[r]), i
                            }
                        }
                    }(),
                    y = {
                        [a]: g,
                        [u]: p,
                        [d]: h,
                        [l]: m
                    };
                const E = function() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : y;
                    const t = Object.entries(e);
                    return Object.assign({
                        get promise() {
                            return o.U9.all(t.map(e => {
                                let [t, n] = e;
                                return n.promise.then(e => [t, e])
                            })).then(e => Object.fromEntries(e))
                        },
                        get hash() {
                            return (0, r.cyrb53Hash)(t.map(e => {
                                let [t, n] = e;
                                return n.hash
                            }).join(":"))
                        }
                    }, Object.fromEntries(["getConsentData", "getConsentMeta", "reset"].map(e => {
                        return [e, (n = e, function() {
                            return Object.fromEntries(t.map(e => {
                                let [t, r] = e;
                                return [t, r[n]()]
                            }))
                        })];
                        var n
                    })))
                }()
            },
            1418(e, t, n) {
                n.d(t, {
                    IY: () => v,
                    M: () => i,
                    RW: () => f,
                    Tf: () => p,
                    UE: () => a,
                    Zh: () => u,
                    _B: () => y,
                    as: () => s,
                    cA: () => c,
                    h0: () => h,
                    iD: () => r,
                    jO: () => m,
                    nl: () => E,
                    oA: () => b,
                    qY: () => o,
                    tl: () => g,
                    x5: () => l,
                    xS: () => d
                });
                const r = {
                        PL_CODE: "code",
                        PL_SIZE: "sizes",
                        PL_BIDS: "bids",
                        BD_BIDDER: "bidder",
                        BD_ID: "paramsd",
                        BD_PL_ID: "placementId",
                        ADSERVER_TARGETING: "adserverTargeting",
                        BD_SETTING_STANDARD: "standard"
                    },
                    i = "pbjs_debug",
                    o = {
                        AUCTION_INIT: "auctionInit",
                        AUCTION_TIMEOUT: "auctionTimeout",
                        AUCTION_END: "auctionEnd",
                        BID_ADJUSTMENT: "bidAdjustment",
                        BID_TIMEOUT: "bidTimeout",
                        BID_REQUESTED: "bidRequested",
                        BID_RESPONSE: "bidResponse",
                        BID_REJECTED: "bidRejected",
                        NO_BID: "noBid",
                        SEAT_NON_BID: "seatNonBid",
                        BID_WON: "bidWon",
                        BIDDER_DONE: "bidderDone",
                        BIDDER_ERROR: "bidderError",
                        SET_TARGETING: "setTargeting",
                        BEFORE_REQUEST_BIDS: "beforeRequestBids",
                        BEFORE_BIDDER_HTTP: "beforeBidderHttp",
                        REQUEST_BIDS: "requestBids",
                        ADD_AD_UNITS: "addAdUnits",
                        AD_RENDER_FAILED: "adRenderFailed",
                        AD_RENDER_SUCCEEDED: "adRenderSucceeded",
                        TCF2_ENFORCEMENT: "tcf2Enforcement",
                        AUCTION_DEBUG: "auctionDebug",
                        BID_VIEWABLE: "bidViewable",
                        STALE_RENDER: "staleRender",
                        EXPIRED_RENDER: "expiredRender",
                        BILLABLE_EVENT: "billableEvent",
                        BID_ACCEPTED: "bidAccepted",
                        RUN_PAAPI_AUCTION: "paapiRunAuction",
                        PBS_ANALYTICS: "pbsAnalytics",
                        PAAPI_BID: "paapiBid",
                        PAAPI_NO_BID: "paapiNoBid",
                        PAAPI_ERROR: "paapiError",
                        BEFORE_PBS_HTTP: "beforePBSHttp",
                        BROWSI_INIT: "browsiInit",
                        BROWSI_DATA: "browsiData",
                        BROWSER_INTERVENTION: "browserIntervention"
                    },
                    s = {
                        PREVENT_WRITING_ON_MAIN_DOCUMENT: "preventWritingOnMainDocument",
                        NO_AD: "noAd",
                        EXCEPTION: "exception",
                        CANNOT_FIND_AD: "cannotFindAd",
                        MISSING_DOC_OR_ADID: "missingDocOrAdid"
                    },
                    c = {
                        bidWon: "adUnitCode"
                    },
                    a = {
                        LOW: "low",
                        MEDIUM: "medium",
                        HIGH: "high",
                        AUTO: "auto",
                        DENSE: "dense",
                        CUSTOM: "custom"
                    },
                    d = {
                        BIDDER: "hb_bidder",
                        AD_ID: "hb_adid",
                        PRICE_BUCKET: "hb_pb",
                        SIZE: "hb_size",
                        DEAL: "hb_deal",
                        SOURCE: "hb_source",
                        FORMAT: "hb_format",
                        UUID: "hb_uuid",
                        CACHE_ID: "hb_cache_id",
                        CACHE_HOST: "hb_cache_host",
                        ADOMAIN: "hb_adomain",
                        ACAT: "hb_acat",
                        CRID: "hb_crid",
                        DSP: "hb_dsp",
                        VERSION: "hb_ver"
                    },
                    u = {
                        BIDDER: "hb_bidder",
                        AD_ID: "hb_adid",
                        PRICE_BUCKET: "hb_pb",
                        SIZE: "hb_size",
                        DEAL: "hb_deal",
                        FORMAT: "hb_format",
                        UUID: "hb_uuid",
                        CACHE_HOST: "hb_cache_host",
                        VERSION: "hb_ver"
                    },
                    l = {
                        title: "hb_native_title",
                        body: "hb_native_body",
                        body2: "hb_native_body2",
                        privacyLink: "hb_native_privacy",
                        privacyIcon: "hb_native_privicon",
                        sponsoredBy: "hb_native_brand",
                        image: "hb_native_image",
                        icon: "hb_native_icon",
                        clickUrl: "hb_native_linkurl",
                        displayUrl: "hb_native_displayurl",
                        cta: "hb_native_cta",
                        rating: "hb_native_rating",
                        address: "hb_native_address",
                        downloads: "hb_native_downloads",
                        likes: "hb_native_likes",
                        phone: "hb_native_phone",
                        price: "hb_native_price",
                        salePrice: "hb_native_saleprice",
                        rendererUrl: "hb_renderer_url",
                        adTemplate: "hb_adTemplate"
                    },
                    f = {
                        SRC: "s2s",
                        DEFAULT_ENDPOINT: "https://prebid.adnxs.com/pbs/v1/openrtb2/auction",
                        SYNCED_BIDDERS_KEY: "pbjsSyncs"
                    },
                    g = {
                        BID_TARGETING_SET: "targetingSet",
                        RENDERED: "rendered",
                        BID_REJECTED: "bidRejected"
                    },
                    p = {
                        INVALID: "Bid has missing or invalid properties",
                        INVALID_REQUEST_ID: "Invalid request ID",
                        BIDDER_DISALLOWED: "Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",
                        FLOOR_NOT_MET: "Bid does not meet price floor",
                        CANNOT_CONVERT_CURRENCY: "Unable to convert currency",
                        DSA_REQUIRED: "Bid does not provide required DSA transparency info",
                        DSA_MISMATCH: "Bid indicates inappropriate DSA rendering method",
                        PRICE_TOO_HIGH: "Bid price exceeds maximum value"
                    },
                    h = {
                        body: "desc",
                        body2: "desc2",
                        sponsoredBy: "sponsored",
                        cta: "ctatext",
                        rating: "rating",
                        address: "address",
                        downloads: "downloads",
                        likes: "likes",
                        phone: "phone",
                        price: "price",
                        salePrice: "saleprice",
                        displayUrl: "displayurl"
                    },
                    m = {
                        sponsored: 1,
                        desc: 2,
                        rating: 3,
                        likes: 4,
                        downloads: 5,
                        price: 6,
                        saleprice: 7,
                        phone: 8,
                        address: 9,
                        desc2: 10,
                        displayurl: 11,
                        ctatext: 12
                    },
                    b = {
                        ICON: 1,
                        MAIN: 3
                    },
                    y = ["privacyIcon", "clickUrl", "adTemplate", "rendererUrl", "type"],
                    E = {
                        REQUEST: "Prebid Request",
                        RESPONSE: "Prebid Response",
                        NATIVE: "Prebid Native",
                        EVENT: "Prebid Event",
                        INTERVENTION: "Prebid Intervention"
                    },
                    v = "__pb_locator__"
            },
            1443(e, t, n) {
                n.d(t, {
                    CK: () => y,
                    X0: () => p,
                    d_: () => E,
                    le: () => m,
                    p6: () => A,
                    qk: () => g,
                    s0: () => h,
                    vM: () => b
                });
                var r = n(466),
                    i = n(7156),
                    o = n(736),
                    s = n(3202),
                    c = n(5291),
                    a = n(5808),
                    d = n(1933),
                    u = n(2592),
                    l = n(8668),
                    f = n(7610);
                const g = "html5",
                    p = "cookie";
                let h = [];

                function m() {
                    let {
                        moduleName: e,
                        moduleType: t,
                        advertiseKeys: n = !0
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, {
                        isAllowed: i = s.io
                    } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};

                    function u(r, s, u, g) {
                        let p = e;
                        const h = d.$W.getCurrentBidder();
                        h && t === o.tW && l.Ay.aliasRegistry[h] === e && (p = h);
                        const m = {
                            [c.Zw]: s,
                            [c.OI]: g
                        };
                        n && null != u && (m[c.Ez] = u);
                        return r({
                            valid: i(a.Ue, (0, f.s)(t, p, m))
                        })
                    }

                    function m(e, t, n, r, i) {
                        if (!i || "function" != typeof i) return u(e, t, n, r);
                        h.push(function() {
                            let o = u(e, t, n, r);
                            i(o)
                        })
                    }

                    function b(e) {
                        const t = e.charAt(0).toUpperCase() + e.substring(1),
                            n = () => window[e],
                            r = function(e) {
                                return m(function(e) {
                                    if (e && e.valid) try {
                                        return !!n()
                                    } catch (e) {}
                                    return !1
                                }, g, null, !1, e)
                            };
                        return {
                            [`has${t}`]: r,
                            [`${e}IsEnabled`]: e => m(function(e) {
                                if (e && e.valid) try {
                                    return n().setItem("prebid.cookieTest", "1"), "1" === n().getItem("prebid.cookieTest")
                                } catch (e) {} finally {
                                    try {
                                        n().removeItem("prebid.cookieTest")
                                    } catch (e) {}
                                }
                                return !1
                            }, g, null, !1, e),
                            [`setDataIn${t}`]: (e, t, i) => m(function(i) {
                                i && i.valid && r() && n().setItem(e, t)
                            }, g, e, !0, i),
                            [`getDataFrom${t}`]: (e, t) => m(function(t) {
                                return t && t.valid && r() ? n().getItem(e) : null
                            }, g, e, !1, t),
                            [`removeDataFrom${t}`]: (e, t) => m(function(t) {
                                t && t.valid && r() && n().removeItem(e)
                            }, g, e, !0, t)
                        }
                    }
                    return {
                        setCookie: function(e, t, n, r, i, o) {
                            return m(function(o) {
                                if (o && o.valid) {
                                    const o = i && "" !== i ? ` ;domain=${encodeURIComponent(i)}` : "",
                                        s = n && "" !== n ? ` ;expires=${n}` : "",
                                        c = "none" === r ? .toLowerCase() ? "; Secure" : "";
                                    document.cookie = `${e}=${encodeURIComponent(t)}${s}; path=/${o}${r?`; SameSite=${r}`:""}${c}`
                                }
                            }, p, e, !0, o)
                        },
                        getCookie: function(e, t) {
                            return m(function(t) {
                                if (t && t.valid) {
                                    let t = window.document.cookie.match("(^|;)\\s*" + e + "\\s*=\\s*([^;]*)\\s*(;|$)");
                                    return t ? decodeURIComponent(t[2]) : null
                                }
                                return null
                            }, p, e, !1, t)
                        },
                        cookiesAreEnabled: function(e) {
                            return m(function(e) {
                                return !(!e || !e.valid) && ((0, r.checkCookieSupport)() && E())
                            }, p, null, !1, e)
                        },
                        ...b("localStorage"),
                        ...b("sessionStorage"),
                        findSimilarCookies: function(e, t) {
                            return m(function(t) {
                                if (t && t.valid) {
                                    const t = [];
                                    if ((0, r.hasDeviceAccess)()) {
                                        const n = document.cookie.split(";");
                                        for (; n.length;) {
                                            const r = n.pop();
                                            let i = r.indexOf("=");
                                            i = i < 0 ? r.length : i;
                                            decodeURIComponent(r.slice(0, i).replace(/^\s+/, "")).indexOf(e) >= 0 && t.push(decodeURIComponent(r.slice(i + 1)))
                                        }
                                    }
                                    return t
                                }
                            }, p, e, !1, t)
                        }
                    }
                }

                function b() {
                    let {
                        moduleType: e,
                        moduleName: t,
                        bidderCode: n
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};

                    function r() {
                        throw new Error("Invalid invocation for getStorageManager: must set either bidderCode, or moduleType + moduleName")
                    }
                    return n ? ((e && e !== o.tW || t) && r(), e = o.tW, t = n) : t && e || r(), m({
                        moduleType: e,
                        moduleName: t
                    })
                }

                function y(e) {
                    return m({
                        moduleName: e,
                        moduleType: o.tp
                    })
                }
                const E = (() => {
                    const e = y("storage");
                    return (0, r.memoize)(function(t) {
                        let n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : e;
                        const i = new Date((0, r.timestamp)() + 1e4).toUTCString(),
                            o = `_rdc${Date.now()}`,
                            s = "writeable";
                        n.setCookie(o, s, i, "Lax", t);
                        return n.getCookie(o) === s && (n.setCookie(o, "", "Thu, 01 Jan 1970 00:00:01 GMT", void 0, t), !0)
                    })
                })();

                function v() {
                    if (!(0, r.hasDeviceAccess)()) return {
                        allow: !1
                    }
                }(0, s.qB)(a.Ue, "deviceAccess config", v), (0, s.qB)(a.yg, "deviceAccess config", v), (0, s.qB)(a.Ue, "bidderSettings.*.storageAllowed", function(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : i.u;
                    if (e[c.Dk] !== o.tW) return;
                    let n = t.get(e[c.q7], "storageAllowed");
                    if (n && !0 !== n) {
                        const t = e[c.Zw];
                        n = Array.isArray(n) ? n.some(e => e === t) : n === t
                    } else n = !!n;
                    return n ? void 0 : {
                        allow: n
                    }
                });
                const A = (0, u.A_)("sync", (e, t) => {})
            },
            1748(e, t, n) {
                n.d(t, {
                    E: () => c,
                    m: () => s
                });
                var r = n(765);
                const i = (0, r.uP)() ? window : {},
                    o = i[(0, r.k)()] = i[(0, r.k)()] || {};

                function s() {
                    return o
                }

                function c(e) {
                    o.installedModules.push(e)
                }
                o.cmd = o.cmd || [], o.que = o.que || [], o.installedModules = o.installedModules || [], i === window && (i._pbjsGlobals = i._pbjsGlobals || [], i._pbjsGlobals.push((0, r.k)()))
            },
            1780(e, t, n) {
                n.d(t, {
                    S: () => s
                });
                var r = n(466),
                    i = n(1443);
                const o = (0, i.CK)("fpdEnrichment"),
                    s = (0, r.memoize)(function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window.location.host;
                        if (!o.cookiesAreEnabled()) return e;
                        const t = e.split(".");
                        if (2 === t.length) return e;
                        let n, r, s = -2;
                        do {
                            n = t.slice(s).join("."), (0, i.d_)(n, o) ? r = !1 : (s += -1, r = Math.abs(s) <= t.length)
                        } while (r);
                        return n
                    })
            },
            1833(e, t, n) {
                n.d(t, {
                    Dy: () => r,
                    O$: () => o,
                    i8: () => i
                });
                const r = ["dooh", "app", "site"];

                function i(e) {
                    return function(e) {
                        return r.reduce((t, n) => (o(e, n) && (null != t ? delete e[n] : t = n), t), null), e
                    }
                }

                function o(e, t) {
                    return null != e[t] && Object.keys(e[t]).length > 0
                }
            },
            1933(e, t, n) {
                n.d(t, {
                    $W: () => h,
                    Ov: () => u
                });
                var r = n(1124),
                    i = n(466),
                    o = n(8928),
                    s = n(6665),
                    c = n(1418);
                const a = "TRUE" === (0, i.getParameterByName)(c.M).toUpperCase(),
                    d = {},
                    u = "random",
                    l = {};
                l[u] = !0, l.fixed = !0;
                const f = u,
                    g = {
                        LOW: "low",
                        MEDIUM: "medium",
                        HIGH: "high",
                        AUTO: "auto",
                        DENSE: "dense",
                        CUSTOM: "custom"
                    };

                function p(e) {
                    const t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1] ? {
                            priceGranularity: g.MEDIUM,
                            customPriceBucket: {},
                            mediaTypePriceGranularity: {},
                            bidderSequence: f,
                            auctionOptions: {}
                        } : {},
                        n = (() => {
                            const e = ["secondaryBidders", "suppressStaleRender", "suppressExpiredRender", "legacyRender"],
                                t = ["secondaryBidders"],
                                n = [].concat(e).concat(t);
                            return function(r) {
                                if (!(0, s.Qd)(r)) return !1;
                                for (const i of Object.keys(r)) {
                                    if (!n.includes(i)) return !1;
                                    if (t.includes(i)) {
                                        if (!(0, s.cy)(r[i])) return !1;
                                        if (!r[i].every(s.O8)) return !1
                                    } else if (e.includes(i) && !(0, s.Lm)(r[i])) return !1
                                }
                                return !0
                            }
                        })();

                    function i(e) {
                        return t[e]
                    }

                    function o(n, r) {
                        t.hasOwnProperty(n) || Object.defineProperty(e, n, {
                            enumerable: !0
                        }), t[n] = r
                    }
                    const c = {
                        publisherDomain: {
                            set(e) {
                                o("publisherDomain", e)
                            }
                        },
                        priceGranularity: {
                            set(e) {
                                d(e) && ("string" == typeof e ? o("priceGranularity", a(e) ? e : g.MEDIUM) : (0, s.Qd)(e) && (o("customPriceBucket", e), o("priceGranularity", g.CUSTOM)))
                            }
                        },
                        customPriceBucket: {},
                        mediaTypePriceGranularity: {
                            set(e) {
                                null != e && o("mediaTypePriceGranularity", Object.keys(e).reduce((t, n) => (d(e[n]) && ("string" == typeof e ? t[n] = a(e[n]) ? e[n] : i("priceGranularity") : (0, s.Qd)(e) && (t[n] = e[n])), t), {}))
                            }
                        },
                        bidderSequence: {
                            set(e) {
                                l[e] && o("bidderSequence", e)
                            }
                        },
                        auctionOptions: {
                            set(e) {
                                n(e) && o("auctionOptions", e)
                            }
                        }
                    };
                    return Object.defineProperties(e, Object.fromEntries(Object.entries(c).map(e => {
                        let [n, r] = e;
                        return [n, Object.assign({
                            get: i.bind(null, n),
                            set: o.bind(null, n),
                            enumerable: t.hasOwnProperty(n),
                            configurable: !t.hasOwnProperty(n)
                        }, r)]
                    }))), e;

                    function a(e) {
                        return Object.keys(g).find(t => e === g[t])
                    }

                    function d(e) {
                        if (!e) return !1;
                        if ("string" == typeof e) a(e);
                        else if ((0, s.Qd)(e) && !(0, r.q)(e)) return !1;
                        return !0
                    }
                }
                const h = function() {
                    const e = [];
                    let t, n, r, c = null;

                    function u() {
                        t = {};
                        const e = p({
                            debug: a,
                            bidderTimeout: 3e3,
                            enableSendAllBids: true,
                            useBidCache: false,
                            deviceAccess: true,
                            disableAjaxTimeout: false,
                            maxNestedIframes: 10,
                            maxBid: 5e3,
                            userSync: {
                                topics: d
                            }
                        });
                        n && E(Object.keys(n).reduce((t, r) => (n[r] !== e[r] && (t[r] = e[r] || {}), t), {})), n = e, r = {}
                    }

                    function l() {
                        if (c && r && (0, s.Qd)(r[c])) {
                            const e = r[c],
                                t = new Set([...Object.keys(n), ...Object.keys(e)]),
                                o = {};
                            for (const r of t) {
                                const t = n[r],
                                    c = e[r];
                                o[r] = void 0 === c ? t : void 0 === t ? c : (0, s.Qd)(c) ? (0, i.mergeDeep)({}, t, c) : c
                            }
                            return o
                        }
                        return { ...n
                        }
                    }
                    const [f, g] = [l, function() {
                        const e = l();
                        return Object.defineProperty(e, "ortb2", {
                            get: function() {
                                throw new Error("invalid access to 'orbt2' config - use request parameters instead")
                            }
                        }), e
                    }].map(e => function() {
                        if (arguments.length <= 1 && "function" != typeof(arguments.length <= 0 ? void 0 : arguments[0])) {
                            const t = arguments.length <= 0 ? void 0 : arguments[0];
                            return t ? (0, o.A)(e(), t) : l()
                        }
                        return y(...arguments)
                    }), [h, m] = [g, f].map(e => function() {
                        let t = e(...arguments);
                        return t && "object" == typeof t && (t = (0, s.Go)(t)), t
                    });

                    function b(e) {
                        if (!(0, s.Qd)(e)) return;
                        const r = Object.keys(e),
                            i = {};
                        r.forEach(r => {
                            let o = e[r];
                            (0, s.Qd)(t[r]) && (0, s.Qd)(o) && (o = Object.assign({}, t[r], o));
                            try {
                                i[r] = n[r] = o
                            } catch (e) {}
                        }), E(i)
                    }

                    function y(t, n) {
                        let r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
                            i = n;
                        if ("string" != typeof t && (i = t, t = "*", r = n || {}), "function" != typeof i) return;
                        const o = {
                            topic: t,
                            callback: i
                        };
                        return e.push(o), r.init && i("*" === t ? g() : {
                                [t]: g(t)
                            }),
                            function() {
                                e.splice(e.indexOf(o), 1)
                            }
                    }

                    function E(t) {
                        const n = Object.keys(t);
                        e.filter(e => n.includes(e.topic)).forEach(e => {
                            e.callback({
                                [e.topic]: t[e.topic]
                            })
                        }), e.filter(e => "*" === e.topic).forEach(e => e.callback(t))
                    }

                    function v(e) {
                        let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                        try {
                            ! function(e) {
                                if (!(0, s.Qd)(e)) throw new Error("setBidderConfig bidder options must be an object");
                                if (!Array.isArray(e.bidders) || !e.bidders.length) throw new Error("setBidderConfig bidder options must contain a bidders list with at least 1 bidder");
                                if (!(0, s.Qd)(e.config)) throw new Error("setBidderConfig bidder options must contain a config object")
                            }(e), e.bidders.forEach(n => {
                                r[n] || (r[n] = p({}, !1)), Object.keys(e.config).forEach(o => {
                                    const c = e.config[o],
                                        a = r[n][o];
                                    if ((0, s.Qd)(c) && (null == a || (0, s.Qd)(a))) {
                                        const e = t ? i.mergeDeep : Object.assign;
                                        r[n][o] = e({}, a || {}, c)
                                    } else r[n][o] = c
                                })
                            })
                        } catch (e) {}
                    }

                    function A(e, t) {
                        c = e;
                        try {
                            return t()
                        } finally {
                            w()
                        }
                    }

                    function w() {
                        c = null
                    }
                    return u(), {
                        getCurrentBidder: function() {
                            return c
                        },
                        resetBidder: w,
                        getConfig: g,
                        getAnyConfig: f,
                        readConfig: h,
                        readAnyConfig: m,
                        setConfig: b,
                        mergeConfig: function(e) {
                            if (!(0, s.Qd)(e)) return;
                            const t = (0, i.mergeDeep)(l(), e);
                            return b({ ...t
                            }), t
                        },
                        setDefaults: function(e) {
                            (0, s.Qd)(t) && (Object.assign(t, e), Object.assign(n, e))
                        },
                        resetConfig: u,
                        runWithBidder: A,
                        callbackWithBidder: function(e) {
                            return function(t) {
                                return function() {
                                    if ("function" == typeof t) {
                                        for (var n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];
                                        return A(e, t.bind(this, ...r))
                                    }
                                }
                            }
                        },
                        setBidderConfig: v,
                        getBidderConfig: function() {
                            return r
                        },
                        mergeBidderConfig: function(e) {
                            return v(e, !0)
                        }
                    }
                }()
            },
            2122(e, t, n) {
                n.d(t, {
                    $T: () => c,
                    Ni: () => r,
                    OA: () => o,
                    RO: () => s,
                    fR: () => i
                });
                const r = 1,
                    i = 2,
                    o = 1,
                    s = 500;

                function c(e) {
                    return (e ? ? []).reduce((e, t) => {
                        let {
                            event: n,
                            method: r,
                            url: i
                        } = t;
                        const o = e[n] = e[n] ? ? {};
                        return (o[r] = o[r] ? ? []).push(i), e
                    }, {})
                }
            },
            2201(e, t, n) {
                n.d(t, {
                    RD: () => m,
                    g4: () => h,
                    hd: () => b
                });
                var r = n(5808),
                    i = n(7610),
                    o = n(3202),
                    s = n(1933),
                    c = n(2592),
                    a = n(466);
                const d = {
                        fetch: window.fetch.bind(window),
                        makeRequest: (e, t) => new Request(e, t),
                        timeout(e, t) {
                            const n = new AbortController;
                            let r = setTimeout(() => {
                                n.abort(), r = null
                            }, e);
                            return {
                                signal: n.signal,
                                done() {
                                    r && clearTimeout(r)
                                }
                            }
                        }
                    },
                    u = "GET",
                    l = "Content-Type",
                    f = (0, c.A_)("async", function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                            t = arguments.length > 1 ? arguments[1] : void 0,
                            n = arguments.length > 2 ? arguments[2] : void 0;
                        return e.withCredentials && (e.withCredentials = t && n ? (0, o.io)(r.yg, (0, i.s)(t, n)) : (0, a.hasDeviceAccess)()), e
                    }, "processRequestOptions");

                function g() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 3e3,
                        {
                            request: t,
                            done: n
                        } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                        r = arguments.length > 2 ? arguments[2] : void 0,
                        i = arguments.length > 3 ? arguments[3] : void 0,
                        o = (t, n) => {
                            let o;
                            null == e || null != n ? .signal || s.$W.getConfig("disableAjaxTimeout") || (o = d.timeout(e, t), n = Object.assign({
                                signal: o.signal
                            }, n)), f(n, r, i);
                            let c = d.fetch(t, n);
                            return null != o ? .done && (c = c.finally(o.done)), c
                        };
                    return null == t && null == n || (o = (e => function(r, i) {
                        const o = new URL(null == r ? .url ? r : r.url, document.location).origin;
                        let s = e(r, i);
                        return t && t(o), n && (s = s.finally(() => n(o))), s
                    })(o)), o
                }

                function p(e, t) {
                    let n, {
                        status: r,
                        statusText: i = "",
                        headers: o,
                        url: s
                    } = e;

                    function c(e) {
                        if (void 0 === n) try {
                            n = (new DOMParser).parseFromString(t, o ? .get(l) ? .split(";") ? .[0])
                        } catch (t) {
                            n = null, e && e(t)
                        }
                        return n
                    }
                    return {
                        readyState: XMLHttpRequest.DONE,
                        status: r,
                        statusText: i,
                        responseText: t,
                        response: t,
                        responseType: "",
                        responseURL: s,
                        get responseXML() {
                            return c(a.logError)
                        },
                        getResponseHeader: e => o ? .has(e) ? o.get(e) : null,
                        toJSON() {
                            return Object.assign({
                                responseXML: c()
                            }, this)
                        },
                        timedOut: !1
                    }
                }

                function h() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 3e3,
                        {
                            request: t,
                            done: n
                        } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    const r = g(e, {
                        request: t,
                        done: n
                    }, arguments.length > 2 ? arguments[2] : void 0, arguments.length > 3 ? arguments[3] : void 0);
                    return function(e, t, n) {
                        ! function(e, t) {
                            const {
                                success: n,
                                error: r
                            } = "object" == typeof t && null != t ? t : {
                                success: "function" == typeof t ? t : () => null,
                                error: (e, t) => {}
                            };
                            e.then(e => e.text().then(t => [e, t])).then(e => {
                                let [t, i] = e;
                                const o = p(t, i);
                                t.ok || 304 === t.status ? n(i, o) : r(t.statusText, o)
                            }, e => r("", Object.assign(p({
                                status: 0
                            }, ""), {
                                reason: e,
                                timedOut: "AbortError" === e ? .name
                            })))
                        }(r(function(e, t) {
                            let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                            const r = n.method || (t ? "POST" : u);
                            if (r === u && t) {
                                const r = (0, a.parseUrl)(e, n);
                                Object.assign(r.search, t), e = (0, a.buildUrl)(r)
                            }
                            const i = new Headers(n.customHeaders);
                            i.set(l, n.contentType || "text/plain");
                            const o = {
                                method: r,
                                headers: i
                            };
                            return r !== u && t && (o.body = t), n.withCredentials && (o.credentials = "include"), isSecureContext && (["browsingTopics", "adAuctionHeaders"].forEach(e => {
                                n[e] && (o[e] = !0)
                            }), null != n.suppressTopicsEnrollmentWarning && (o.suppressTopicsEnrollmentWarning = n.suppressTopicsEnrollmentWarning)), n.keepalive && (o.keepalive = !0), d.makeRequest(e, o)
                        }(e, n, arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {})), t)
                    }
                }
                const m = h(),
                    b = g()
            },
            2517(e, t, n) {
                n.d(t, {
                    Cf: () => c,
                    S3: () => i,
                    Tb: () => o,
                    WR: () => s,
                    pS: () => l,
                    qN: () => a,
                    yB: () => f,
                    zt: () => r
                });
                const r = ["request", "imp", "bidResponse", "response"],
                    [i, o, s, c] = r,
                    [a, d] = ["default", "pbs"],
                    u = new Set(r);
                const {
                    registerOrtbProcessor: l,
                    getProcessors: f
                } = function() {
                    const e = {};
                    return {
                        registerOrtbProcessor(t) {
                            let {
                                type: n,
                                name: i,
                                fn: o,
                                priority: s = 0,
                                dialects: c = [a]
                            } = t;
                            if (!u.has(n)) throw new Error(`ORTB processor type must be one of: ${r.join(", ")}`);
                            c.forEach(t => {
                                e.hasOwnProperty(t) || (e[t] = {}), e[t].hasOwnProperty(n) || (e[t][n] = {}), e[t][n][i] = {
                                    priority: s,
                                    fn: o
                                }
                            })
                        },
                        getProcessors: t => e[t] || {}
                    }
                }()
            },
            2592(e, t, n) {
                n.d(t, {
                    A_: () => s,
                    Gc: () => a,
                    Y6: () => g,
                    Yn: () => d,
                    bz: () => f,
                    u2: () => p,
                    xG: () => l
                });
                var r = n(5481),
                    i = n.n(r),
                    o = n(3064);
                const s = i()({
                        ready: i().SYNC | i().ASYNC | i().QUEUE
                    }),
                    c = (0, o.v6)();
                s.ready = (() => {
                    const e = s.ready;
                    return function() {
                        try {
                            return e.apply(s)
                        } finally {
                            c.resolve()
                        }
                    }
                })();
                const a = c.promise,
                    d = s.get;
                const u = {};

                function l(e, t) {
                    let {
                        postInstallAllowed: n = !1
                    } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                    s("async", function(r) {
                        r.forEach(e => t(...e)), n && (u[e] = t)
                    }, e)([])
                }

                function f(e) {
                    for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
                    const i = u[e];
                    if (i) return i(...n);
                    d(e).before((e, t) => {
                        t.push(n), e(t)
                    })
                }

                function g(e, t) {
                    return Object.defineProperties(t, Object.fromEntries(["before", "after", "getHooks", "removeAll"].map(t => [t, {
                        get: () => e[t]
                    }]))), t
                }

                function p(e) {
                    return g(e, function() {
                        for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
                        return n.push(function() {}), e.apply(this, n)
                    })
                }
            },
            3006(e, t, n) {
                n.d(t, {
                    n: () => u
                });
                var r = n(466),
                    i = n(9430);

                function o(e) {
                    Object.assign(this, {
                        getAuction(t) {
                            let {
                                auctionId: n
                            } = t;
                            if (null != n) return e().find(e => e.getAuctionId() === n)
                        },
                        getAdUnit(t) {
                            let {
                                adUnitId: n
                            } = t;
                            if (null != n) return e().flatMap(e => e.getAdUnits()).find(e => e.adUnitId === n)
                        },
                        getMediaTypes(e) {
                            let {
                                adUnitId: t,
                                requestId: n
                            } = e;
                            if (null != n) {
                                const e = this.getBidRequest({
                                    requestId: n
                                });
                                if (null != e && (null == t || e.adUnitId === t)) return e.mediaTypes
                            } else if (null != t) {
                                const e = this.getAdUnit({
                                    adUnitId: t
                                });
                                if (null != e) return e.mediaTypes
                            }
                        },
                        getBidderRequest(t) {
                            let {
                                requestId: n,
                                bidderRequestId: r
                            } = t;
                            if (null != n || null != r) {
                                let t = e().flatMap(e => e.getBidRequests());
                                return null != r && (t = t.filter(e => e.bidderRequestId === r)), null == n ? t[0] : t.find(e => e.bids && null != e.bids.find(e => e.bidId === n))
                            }
                        },
                        getBidRequest(t) {
                            let {
                                requestId: n
                            } = t;
                            if (null != n) return e().flatMap(e => e.getBidRequests()).flatMap(e => e.bids).find(e => e && e.bidId === n)
                        },
                        getOrtb2(e) {
                            return this.getBidderRequest(e) ? .ortb2 || this.getAuction(e) ? .getFPD() ? .global ? .ortb2
                        }
                    })
                }
                var s = n(1418),
                    c = n(7841),
                    a = n(939),
                    d = n(5482);
                const u = function() {
                    const e = (0, a.H)({
                        startTime: e => e.end.then(() => e.getAuctionEnd()),
                        ttl: e => null == (0, d.S9)() ? null : e.end.then(() => 1e3 * Math.max((0, d.S9)(), ...e.getBidsReceived().map(e => e.ttl)))
                    });
                    (0, d.lc)(() => e.refresh());
                    const t = {
                        onExpiry: e.onExpiry
                    };

                    function n(t) {
                        for (const n of e)
                            if (n.getAuctionId() === t) return n
                    }

                    function u() {
                        return e.toArray().flatMap(e => e.getBidsReceived())
                    }
                    return t.addWinningBid = function(e) {
                        const t = (0, c.BO)(e.metrics);
                        t.checkpoint("bidWon"), t.timeBetween("auctionEnd", "bidWon", "adserver.pending"), t.timeBetween("requestBids", "bidWon", "adserver.e2e");
                        const r = n(e.auctionId);
                        r && r.addWinningBid(e)
                    }, Object.entries({
                        getAllWinningBids: {
                            name: "getWinningBids"
                        },
                        getBidsRequested: {
                            name: "getBidRequests"
                        },
                        getNoBids: {},
                        getAdUnits: {},
                        getBidsReceived: {
                            pre: e => e.getAuctionStatus() === i.UZ
                        },
                        getAdUnitCodes: {
                            post: r.uniques
                        }
                    }).forEach(n => {
                        let [r, {
                            name: i = r,
                            pre: o,
                            post: s
                        }] = n;
                        const c = null == o ? e => e[i]() : e => o(e) ? e[i]() : [],
                            a = null == s ? e => e : e => e.filter(s);
                        t[r] = () => a(e.toArray().flatMap(c))
                    }), t.getAllBidsForAdUnitCode = function(e) {
                        return u().filter(t => t && t.adUnitCode === e)
                    }, t.createAuction = function(t) {
                        const n = (0, i.mX)(t);
                        return function(t) {
                            e.add(t)
                        }(n), n
                    }, t.findBidByAdId = function(e) {
                        return u().find(t => t.adId === e)
                    }, t.getStandardBidderAdServerTargeting = function() {
                        return (0, i.HN)()[s.iD.ADSERVER_TARGETING]
                    }, t.setStatusForBids = function(e, r) {
                        const i = t.findBidByAdId(e);
                        if (i && (i.status = r), i && r === s.tl.BID_TARGETING_SET) {
                            const e = n(i.auctionId);
                            e && e.setBidTargeting(i)
                        }
                    }, t.getLastAuctionId = function() {
                        const t = e.toArray();
                        return t.length && t[t.length - 1].getAuctionId()
                    }, t.clearAllAuctions = function() {
                        e.clear()
                    }, t.index = new o(() => e.toArray()), t
                }()
            },
            3064(e, t, n) {
                n.d(t, {
                    U9: () => o,
                    cb: () => s,
                    v6: () => c
                });
                var r = n(1748);
                const i = (0, r.m)().setTimeout ? ? setTimeout,
                    o = (0, r.m)().Promise ? ? Promise;

                function s() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
                    return new o(t => {
                        i(t, e)
                    })
                }

                function c() {
                    let e, t, {
                        promiseFactory: n = e => new o(e)
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};

                    function r(e) {
                        return t => e(t)
                    }
                    return {
                        promise: n((n, r) => {
                            e = n, t = r
                        }),
                        resolve: r(e),
                        reject: r(t)
                    }
                }
            },
            3129(e, t, n) {
                n.d(t, {
                    Q: () => r
                });
                const r = (0, n(2592).A_)("sync", () => {})
            },
            3202(e, t, n) {
                n.d(t, {
                    io: () => s,
                    qB: () => o
                });
                var r = n(466),
                    i = n(5291);
                const [o, s] = function() {
                    arguments.length > 0 && void 0 !== arguments[0] || (0, r.prefixLog)("Activity control:");
                    const e = {};

                    function t(t) {
                        return e[t] = e[t] || [], e[t]
                    }

                    function n(e, t, n, r) {
                        let o;
                        try {
                            o = n(r)
                        } catch (e) {
                            o = {
                                allow: !1,
                                reason: e
                            }
                        }
                        return o && Object.assign({
                            activity: e,
                            name: t,
                            component: r[i.Ii]
                        }, o)
                    }
                    return [function(e, n, r) {
                        let i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 10;
                        const o = t(e),
                            s = o.findIndex(e => {
                                let [t] = e;
                                return i < t
                            }),
                            c = [i, n, r];
                        return o.splice(s < 0 ? o.length : s, 0, c),
                            function() {
                                const e = o.indexOf(c);
                                e >= 0 && o.splice(e, 1)
                            }
                    }, function(e, r) {
                        let i, o;
                        for (const [s, c, a] of t(e)) {
                            if (i !== s && o) break;
                            i = s;
                            const t = n(e, c, a, r);
                            if (t) {
                                if (!t.allow) return !1;
                                o = t
                            }
                        }
                        return !0
                    }]
                }()
            },
            3320(e, t, n) {
                n.d(t, {
                    O: () => o
                });
                var r = n(466);

                function i() {
                    let {
                        src: e = "client",
                        bidder: t = "",
                        bidId: n,
                        transactionId: i,
                        adUnitId: o,
                        auctionId: s
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    var c = e;
                    Object.assign(this, {
                        bidderCode: t,
                        width: 0,
                        height: 0,
                        adId: (0, r.getUniqueIdentifierStr)(),
                        requestId: n,
                        transactionId: i,
                        adUnitId: o,
                        auctionId: s,
                        mediaType: "banner",
                        source: c
                    }), this.getSize = function() {
                        return this.width + "x" + this.height
                    }
                }

                function o(e) {
                    return new i(e)
                }
            },
            3391(e, t, n) {
                n.d(t, {
                    qh: () => f,
                    zt: () => p
                });
                var r = n(466),
                    i = n(6665),
                    o = n(1933),
                    s = n(1443),
                    c = n(3202),
                    a = n(5808),
                    d = n(5291),
                    u = n(736),
                    l = n(7610);
                const f = {
                    syncEnabled: !0,
                    filterSettings: {
                        image: {
                            bidders: "*",
                            filter: "include"
                        }
                    },
                    syncsPerBidder: 5,
                    syncDelay: 3e3,
                    auctionDelay: 500
                };
                o.$W.setDefaults({
                    userSync: (0, i.Go)(f)
                });
                const g = (0, s.CK)("usersync");
                const p = function(e) {
                    const t = {};
                    let n = {
                        image: [],
                        iframe: []
                    };
                    const s = new Set;
                    let c = {};
                    const f = {
                        image: !0,
                        iframe: !1
                    };
                    let g = e.config;

                    function p() {
                        if (g.syncEnabled && e.browserSupportsCookies) {
                            try {
                                ! function() {
                                    if (!f.iframe) return;
                                    h(n.iframe, e => {
                                        const [t, i] = e;
                                        (0, r.insertUserSyncIframe)(i),
                                        function(e, t) {
                                            e.image = e.image.filter(e => e[0] !== t)
                                        }(n, t)
                                    })
                                }(),
                                function() {
                                    if (!f.image) return;
                                    h(n.image, e => {
                                        const [t, n] = e;
                                        (0, r.triggerPixel)(n)
                                    })
                                }()
                            } catch (e) {
                                return
                            }
                            n = {
                                image: [],
                                iframe: []
                            }
                        }
                    }

                    function h(e, t) {
                        (0, r.shuffle)(e).forEach(t)
                    }

                    function m(e, t) {
                        const n = g.filterSettings;
                        if (function(e, t) {
                                if (e.all && e[t]) return !1;
                                const n = e.all ? e.all : e[t];
                                e.all;
                                if (!n) return !1;
                                const r = n.filter,
                                    o = n.bidders;
                                if (r && "include" !== r && "exclude" !== r) return !1;
                                if ("*" !== o && !(Array.isArray(o) && o.length > 0 && o.every(e => (0, i.O8)(e) && "*" !== e))) return !1;
                                return !0
                            }(n, e)) {
                            f[e] = !0;
                            const r = n.all ? n.all : n[e],
                                i = "*" === r.bidders ? [t] : r.bidders,
                                o = {
                                    include: (e, t) => !e.includes(t),
                                    exclude: (e, t) => e.includes(t)
                                };
                            return o[r.filter || "include"](i, t)
                        }
                        return !f[e]
                    }
                    return o.$W.getConfig("userSync", e => {
                        if (e.userSync) {
                            const t = e.userSync.filterSettings;
                            (0, i.Qd)(t) && (t.image || t.all || (e.userSync.filterSettings.image = {
                                bidders: "*",
                                filter: "include"
                            }))
                        }
                        g = Object.assign(g, e.userSync)
                    }), e.regRule(a.Ml, "userSync config", e => {
                        if (!g.syncEnabled) return {
                            allow: !1,
                            reason: "syncs are disabled"
                        };
                        if (e[d.Dk] === u.tW) {
                            const n = e[d.bt],
                                r = e[d.iK];
                            if (!t.canBidderRegisterSync(n, r)) return {
                                allow: !1,
                                reason: `${n} syncs are not enabled for ${r}`
                            }
                        }
                    }), t.registerSync = (t, r, o) => {
                        s.has(r) || g.syncEnabled && (0, i.cy)(n[t]) && r && (0 !== g.syncsPerBidder && Number(c[r]) >= g.syncsPerBidder || e.isAllowed(a.Ml, (0, l.s)(u.tW, r, {
                            [d.bt]: t,
                            [d.e3]: o
                        })) && (n[t].push([r, o]), c = function(e, t) {
                            return e[t] ? e[t] += 1 : e[t] = 1, e
                        }(c, r)))
                    }, t.bidderDone = s.add.bind(s), t.syncUsers = function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
                        if (e) return setTimeout(p, Number(e));
                        p()
                    }, t.triggerUserSyncs = () => {
                        g.enableOverride && t.syncUsers()
                    }, t.canBidderRegisterSync = (e, t) => !g.filterSettings || !m(e, t), t
                }(Object.defineProperties({
                    config: o.$W.getConfig("userSync"),
                    isAllowed: c.io,
                    regRule: c.qB
                }, {
                    browserSupportsCookies: {
                        get: function() {
                            return !(0, r.isSafariBrowser)() && g.cookiesAreEnabled()
                        }
                    }
                }))
            },
            3448(e, t, n) {
                function r(e) {
                    return !e ? .gdprApplies || !0 === e ? .vendorData ? .purpose ? .consents ? .[1]
                }
                n.d(t, {
                    C: () => r
                })
            },
            3556(e, t, n) {
                n.d(t, {
                    xb: () => I,
                    a$: () => A
                });
                var r = n(8668),
                    i = n(1933),
                    o = n(3320),
                    s = n(3391),
                    c = n(1418),
                    a = n(8014),
                    d = n(6665),
                    u = n(466),
                    l = n(2592),
                    f = n(3006),
                    g = n(7156),
                    p = n(7841),
                    h = n(3202),
                    m = n(7610),
                    b = n(736),
                    y = n(5808);
                const E = ["cpm", "ttl", "creativeId", "netRevenue", "currency"],
                    v = {
                        auctionId: e => e.ortb2 ? .source ? .tid,
                        transactionId: e => e.ortb2Imp ? .ext ? .tid
                    };

                function A(e) {
                    const t = Array.isArray(e.supportedMediaTypes) ? {
                        supportedMediaTypes: e.supportedMediaTypes
                    } : void 0;

                    function n(e) {
                        const n = I(e);
                        r.Ay.registerBidAdapter(n, e.code, t)
                    }
                    n(e), Array.isArray(e.aliases) && e.aliases.forEach(t => {
                        let i, o, s = t;
                        (0, d.Qd)(t) && (s = t.code, i = t.gvlid, o = t.skipPbsAliasing), r.Ay.aliasRegistry[s] = e.code, n(Object.assign({}, e, {
                            code: s,
                            gvlid: i,
                            skipPbsAliasing: o
                        }))
                    })
                }
                const w = (0, u.memoize)(e => {
                    let {
                        bidderCode: t
                    } = e;
                    const n = (0, h.io)(y.VJ, (0, m.s)(b.tW, t));

                    function r(e, t, r) {
                        return v.hasOwnProperty(t) ? n ? v[t](e) : null : Reflect.get(e, t, r)
                    }

                    function i(e, t) {
                        const n = new Proxy(e, t);
                        return Object.entries(e).filter(e => {
                            let [t, n] = e;
                            return "function" == typeof n
                        }).forEach(t => {
                            let [r, i] = t;
                            n[r] = i.bind(e)
                        }), n
                    }
                    const o = (0, u.memoize)(e => i(e, {
                        get: r
                    }), e => e.bidId);
                    return {
                        bidRequest: o,
                        bidderRequest: e => i(e, {
                            get: (t, n, i) => "bids" === n ? e.bids.map(o) : r(t, n, i)
                        })
                    }
                });

                function I(e) {
                    return Object.assign((t = e.code, n = t, {
                        callBids: function() {},
                        setBidderCode: function(e) {
                            n = e
                        },
                        getBidderCode: function() {
                            return n
                        }
                    }), {
                        getSpec: function() {
                            return Object.freeze(Object.assign({}, e))
                        },
                        registerSyncs: s,
                        callBids: function(t, n, l, h, m, b) {
                            if (!Array.isArray(t.bids)) return;
                            const y = w(t),
                                A = {};

                            function I(e, t) {
                                const r = (0, p.BO)(t.metrics);
                                r.checkpoint("addBidResponse"), A[e] = !0, r.measureTime("addBidResponse.validate", () => function(e, t) {
                                    let {
                                        index: n = f.n.index
                                    } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};

                                    function r() {
                                        const e = Object.keys(t);
                                        return E.every(n => e.includes(n) && ![void 0, null].includes(t[n]))
                                    }
                                    if (!e) return !1;
                                    if (!t) return !1;
                                    if (!r()) return !1;
                                    0;
                                    0;
                                    if ("banner" === t.mediaType && ! function(e, t) {
                                            let {
                                                index: n = f.n.index
                                            } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                                            if ((t.width || 0 === parseInt(t.width, 10)) && (t.height || 0 === parseInt(t.height, 10))) return t.width = parseInt(t.width, 10), t.height = parseInt(t.height, 10), !0;
                                            if (null != t.wratio && null != t.hratio) return t.wratio = parseInt(t.wratio, 10), t.hratio = parseInt(t.hratio, 10), !0;
                                            const r = n.getBidRequest(t),
                                                i = n.getMediaTypes(t),
                                                o = r && r.sizes || i && i.banner && i.banner.sizes,
                                                s = (0, u.parseSizesInput)(o);
                                            if (1 === s.length) {
                                                const [e, n] = s[0].split("x");
                                                return t.width = parseInt(e, 10), t.height = parseInt(n, 10), !0
                                            }
                                            return !1
                                        }(e, t, {
                                            index: n
                                        })) return !1;
                                    return !0
                                }(e, t)) ? n(e, t) : n.reject(e, t, c.Tf.INVALID)
                            }
                            const T = [];

                            function O() {
                                l(), i.$W.runWithBidder(e.code, () => {
                                    a.Ic(c.qY.BIDDER_DONE, t), s(T, t.gdprConsent, t.uspConsent, t.gppConsent)
                                })
                            }
                            const R = B(t).measureTime("validate", () => t.bids.filter(t => function(t) {
                                if (!e.isBidRequestValid(t)) return !1;
                                return !0
                            }(y.bidRequest(t))));
                            if (0 === R.length) return void O();
                            const D = {};
                            R.forEach(e => {
                                D[e.bidId] = e
                            }), C(e, R, t, h, b, {
                                onRequest: e => a.Ic(c.qY.BEFORE_BIDDER_HTTP, t, e),
                                onResponse: t => {
                                    m(e.code), T.push(t)
                                },
                                onPaapi: e => {
                                    const t = D[e.bidId];
                                    t && S(t, e)
                                },
                                onError: (n, i) => {
                                    i.timedOut || m(e.code), r.Ay.callBidderError(e.code, i, t), a.Ic(c.qY.BIDDER_ERROR, {
                                        error: i,
                                        bidderRequest: t
                                    })
                                },
                                onBid: t => {
                                    const r = D[t.requestId],
                                        i = t;
                                    if (r) {
                                        if (i.adapterCode = r.bidder, function(e, t) {
                                                const n = g.u.get(t, "allowAlternateBidderCodes") || !1;
                                                let r = g.u.get(t, "allowedAlternateBidderCodes");
                                                if (e && t && t !== e && (r = (0, d.cy)(r) ? r.map(e => e.trim().toLowerCase()).filter(e => !!e).filter(u.uniques) : r, !n || (0, d.cy)(r) && "*" !== r[0] && !r.includes(e))) return !0;
                                                return !1
                                            }(t.bidderCode, r.bidder)) return void n.reject(r.adUnitCode, t, c.Tf.BIDDER_DISALLOWED);
                                        i.originalCpm = t.cpm, i.originalCurrency = t.currency, i.meta = t.meta || Object.assign({}, t[r.bidder]), i.deferBilling = r.deferBilling, i.deferRendering = i.deferBilling && (t.deferRendering ? ? "function" != typeof e.onBidBillable);
                                        const s = Object.assign((0, o.O)(r), i, (0, u.pick)(r, Object.keys(v)));
                                        I(r.adUnitCode, s)
                                    } else n.reject(null, t, c.Tf.INVALID_REQUEST_ID)
                                },
                                onCompletion: O
                            })
                        }
                    });
                    var t, n;

                    function s(t, n, r, i) {
                        O(e, t, n, r, i)
                    }
                }
                const T = ["bids", "paapi"],
                    C = (0, l.A_)("async", function(e, t, n, r, i, o) {
                        let {
                            onRequest: s,
                            onResponse: a,
                            onPaapi: l,
                            onError: f,
                            onBid: p,
                            onCompletion: E
                        } = o;
                        const v = B(n);
                        E = v.startTiming("total").stopBefore(E);
                        const A = w(n);
                        let I = v.measureTime("buildRequests", () => e.buildRequests(t.map(A.bidRequest), A.bidderRequest(n)));
                        if (Array.isArray(I) || (I = [I]), !I || 0 === I.length) return void E();
                        const C = (0, u.delayExecution)(E, I.length);
                        I.forEach(t => {
                            const n = v.fork();

                            function o(e) {
                                null != e && (e.metrics = n.fork().renameWith()), p(e)
                            }
                            const E = i(function(r, i) {
                                    w();
                                    try {
                                        r = JSON.parse(r)
                                    } catch (e) {}
                                    r = {
                                        body: r,
                                        headers: {
                                            get: i.getResponseHeader.bind(i)
                                        }
                                    }, a(r);
                                    try {
                                        r = n.measureTime("interpretResponse", () => e.interpretResponse(r, t))
                                    } catch (e) {
                                        return void C()
                                    }
                                    let s, c;
                                    r && !Object.keys(r).some(e => !T.includes(e)) ? (s = r.bids, c = r.paapi) : s = r, (0, d.cy)(c) && c.forEach(l), s && ((0, d.cy)(s) ? s.forEach(o) : o(s)), C()
                                }),
                                A = i(function(e, t) {
                                    w(), f(e, t), C()
                                });
                            s(t);
                            const w = n.startTiming("net"),
                                I = "TRUE" === (0, u.getParameterByName)(c.M).toUpperCase() || (0, u.debugTurnedOn)();

                            function O(n) {
                                const r = t.options;
                                return Object.assign(n, r, {
                                    browsingTopics: !(r ? .hasOwnProperty("browsingTopics") && !r.browsingTopics) && ((g.u.get(e.code, "topicsHeader") ? ? !0) && (0, h.io)(y.DL, (0, m.s)(b.tW, e.code))),
                                    suppressTopicsEnrollmentWarning: r ? .hasOwnProperty("suppressTopicsEnrollmentWarning") ? r.suppressTopicsEnrollmentWarning : !I
                                })
                            }
                            switch (t.method) {
                                case "GET":
                                    r(`${t.url}${function(e){if(e)return`?${"object"==typeof e?(0,u.parseQueryStringParameters)(e):e}`;return""}(t.data)}`, {
                                        success: E,
                                        error: A
                                    }, void 0, O({
                                        method: "GET",
                                        withCredentials: !0
                                    }));
                                    break;
                                case "POST":
                                    const e = t.options ? .endpointCompression,
                                        n = e => {
                                            let {
                                                url: t,
                                                payload: n
                                            } = e;
                                            r(t, {
                                                success: E,
                                                error: A
                                            }, n, O({
                                                method: "POST",
                                                contentType: "text/plain",
                                                withCredentials: !0
                                            }))
                                        };
                                    e && !I && (0, u.isGzipCompressionSupported)() ? (0, u.compressDataWithGZip)(t.data).then(e => {
                                        const r = new URL(t.url);
                                        r.searchParams.has("gzip") || r.searchParams.set("gzip", "1"), n({
                                            url: r.href,
                                            payload: e
                                        })
                                    }) : n({
                                        url: t.url,
                                        payload: "string" == typeof t.data ? t.data : JSON.stringify(t.data)
                                    });
                                    break;
                                default:
                                    C()
                            }
                        })
                    }, "processBidderRequests"),
                    O = (0, l.A_)("async", function(e, t, n, o, c) {
                        const a = i.$W.getConfig("userSync.aliasSyncEnabled");
                        if (e.getUserSyncs && (a || !r.Ay.aliasRegistry[e.code])) {
                            let r = e.getUserSyncs({
                                iframeEnabled: s.zt.canBidderRegisterSync("iframe", e.code),
                                pixelEnabled: s.zt.canBidderRegisterSync("image", e.code)
                            }, t, n, o, c);
                            r && (Array.isArray(r) || (r = [r]), r.forEach(t => {
                                s.zt.registerSync(t.type, e.code, t.url)
                            }), s.zt.bidderDone(e.code))
                        }
                    }, "registerSyncs"),
                    S = (0, l.A_)("sync", (e, t) => {}, "addPaapiConfig");

                function B(e) {
                    return (0, p.BO)(e.metrics).renameWith(t => [`adapter.client.${t}`, `adapters.client.${e.bidderCode}.${t}`])
                }
            },
            3958(e, t, n) {
                n.d(t, {
                    Vv: () => a,
                    Ot: () => s,
                    Bp: () => c
                });
                var r = n(466);
                const i = new function e(t, n) {
                        const r = {};
                        let i = {};
                        const o = [];
                        Object.entries(n).forEach(n => {
                            let [s, c] = n;
                            if (null != c && "object" == typeof c) {
                                const n = new e(() => t() ? .[s], c);
                                r[s] = n.obj, o.push(n.reset)
                            } else !0 === c && Object.defineProperty(r, s, {
                                get: () => (i.hasOwnProperty(s) || (i[s] = t() ? .[s]), i[s])
                            })
                        }), this.obj = r, this.reset = function() {
                            o.forEach(e => e()), i = {}
                        }
                    }(() => (0, r.canAccessWindowTop)() ? r.internal.getWindowTop() : r.internal.getWindowSelf(), {
                        innerHeight: !0,
                        innerWidth: !0,
                        screen: {
                            width: !0,
                            height: !0
                        },
                        visualViewport: {
                            width: !0,
                            height: !0
                        },
                        document: {
                            documentElement: {
                                clientWidth: !0,
                                clientHeight: !0,
                                scrollTop: !0,
                                scrollLeft: !0
                            },
                            body: {
                                scrollTop: !0,
                                scrollLeft: !0,
                                clientWidth: !0,
                                clientHeight: !0
                            }
                        }
                    }),
                    o = {
                        winDimensions: i
                    },
                    s = (() => {
                        let e;
                        return function() {
                            return (!e || Date.now() - e > 20) && (o.winDimensions.reset(), e = Date.now()), o.winDimensions.obj
                        }
                    })();

                function c() {
                    o.winDimensions.reset()
                }

                function a(e) {
                    const t = e ? ? ((0, r.canAccessWindowTop)() ? r.internal.getWindowTop() : r.internal.getWindowSelf()),
                        n = t ? .screen ? ? r.internal.getWindowSelf() ? .screen ? ? window ? .screen,
                        i = Number(n ? .width),
                        o = Number(n ? .height);
                    if (Number.isFinite(i) && Number.isFinite(o)) return o >= i ? "portrait" : "landscape"
                }
            },
            5049(e, t, n) {
                n.d(t, {
                    R: () => a
                });
                var r = n(5808),
                    i = n(7610),
                    o = n(3202),
                    s = n(466);
                const c = new WeakMap;

                function a(e, t, n, a, d, u) {
                    if (!(0, o.io)(r.pY, (0, i.s)(t, n))) return;
                    if (!n || !e) return;
                    const l = "function" == typeof a || "function" == typeof a ? .success || "function" == typeof a ? .error;

                    function f(e, t) {
                        null == t ? "function" == typeof e ? e() : e.success ? .() : e.error ? .(t)
                    }
                    d || (d = document);
                    const g = m(d, e);
                    if (g) return l && (g.loaded ? f(a, g.error) : g.callbacks.push(a)), g.tag;
                    const p = c.get(d) || {},
                        h = {
                            error: null,
                            loaded: !1,
                            tag: null,
                            callbacks: []
                        };
                    return p[e] = h, c.set(d, p), l && h.callbacks.push(a),
                        function(t, n, r, i) {
                            r || (r = document);
                            var o = r.createElement("script");
                            o.type = "text/javascript", o.async = !0;
                            const c = m(r, e);
                            c && (c.tag = o);

                            function a(e) {
                                c.error = e, d()
                            }

                            function d() {
                                o.removeEventListener("error", a), n()
                            }
                            o.addEventListener("error", a), o.readyState ? o.onreadystatechange = function() {
                                "loaded" !== o.readyState && "complete" !== o.readyState || (o.onreadystatechange = null, d())
                            } : o.onload = function() {
                                d()
                            };
                            o.src = t, i && (0, s.setScriptAttributes)(o, i);
                            return (0, s.insertElement)(o, r), o
                        }(e, function() {
                            h.loaded = !0;
                            try {
                                for (let e = 0; e < h.callbacks.length; e++) f(h.callbacks[e], h.error)
                            } catch (e) {}
                        }, d, u);

                    function m(e, t) {
                        const n = c.get(e);
                        return n && n[t] ? n[t] : null
                    }
                }
            },
            5291(e, t, n) {
                n.d(t, {
                    Dk: () => s,
                    Ez: () => u,
                    Ii: () => o,
                    OI: () => l,
                    TQ: () => h,
                    U3: () => b,
                    XG: () => f,
                    ZI: () => m,
                    Zw: () => d,
                    bt: () => g,
                    e3: () => p,
                    iK: () => c,
                    q7: () => a
                });
                var r = n(736),
                    i = n(2592);
                const o = "component",
                    s = o + "Type",
                    c = o + "Name",
                    a = "adapterCode",
                    d = "storageType",
                    u = "storageKey",
                    l = "write",
                    f = "configName",
                    g = "syncType",
                    p = "syncUrl",
                    h = "_config";

                function m(e) {
                    return function(t, n, i) {
                        const d = {
                            [s]: t,
                            [c]: n,
                            [o]: `${t}.${n}`
                        };
                        return t === r.tW && (d[a] = e(n)), b(Object.assign(d, i))
                    }
                }
                const b = (0, i.A_)("sync", e => e)
            },
            5482(e, t, n) {
                n.d(t, {
                    S9: () => d,
                    cT: () => a,
                    lc: () => u
                });
                var r = n(1933);
                const i = "minBidCacheTTL";
                let o = 1,
                    s = null;
                const c = [];

                function a(e) {
                    return e.ttl - (e.hasOwnProperty("ttlBuffer") ? e.ttlBuffer : o)
                }

                function d() {
                    return s
                }

                function u(e) {
                    c.push(e)
                }
                r.$W.getConfig("ttlBuffer", e => {
                    "number" == typeof e.ttlBuffer && (o = e.ttlBuffer)
                }), r.$W.getConfig(i, e => {
                    const t = s;
                    s = e ? .[i], s = "number" == typeof s ? s : null, t !== s && c.forEach(e => e(s))
                })
            },
            5808(e, t, n) {
                n.d(t, {
                    DL: () => d,
                    Ml: () => i,
                    Ue: () => r,
                    VJ: () => l,
                    hE: () => u,
                    hq: () => a,
                    it: () => p,
                    mo: () => c,
                    pY: () => f,
                    uc: () => s,
                    yg: () => g,
                    yl: () => o
                });
                const r = "accessDevice",
                    i = "syncUser",
                    o = "enrichEids",
                    s = "fetchBids",
                    c = "reportAnalytics",
                    a = "transmitEids",
                    d = "transmitUfpd",
                    u = "transmitPreciseGeo",
                    l = "transmitTid",
                    f = "loadExternalScript",
                    g = "accessRequestCredentials",
                    p = "acceptBid"
            },
            6220(e, t, n) {
                n.d(t, {
                    H6: () => s,
                    Zy: () => d,
                    mn: () => c
                });
                var r = n(6665),
                    i = n(1933),
                    o = n(2592);
                const s = "outstream",
                    c = "instream",
                    a = [
                        ["mimes", e => Array.isArray(e) && e.length > 0 && e.every(e => "string" == typeof e)],
                        ["minduration", r.Fq],
                        ["maxduration", r.Fq],
                        ["startdelay", r.Fq],
                        ["maxseq", r.Fq],
                        ["poddur", r.Fq],
                        ["protocols", r.Uu],
                        ["w", r.Fq],
                        ["h", r.Fq],
                        ["podid", r.O8],
                        ["podseq", r.Fq],
                        ["rqddurs", r.Uu],
                        ["placement", r.Fq],
                        ["plcmt", r.Fq],
                        ["linearity", r.Fq],
                        ["skip", e => [1, 0].includes(e)],
                        ["skipmin", r.Fq],
                        ["skipafter", r.Fq],
                        ["sequence", r.Fq],
                        ["slotinpod", r.Fq],
                        ["mincpmpersec", r.Et],
                        ["battr", r.Uu],
                        ["maxextended", r.Fq],
                        ["minbitrate", r.Fq],
                        ["maxbitrate", r.Fq],
                        ["boxingallowed", r.Fq],
                        ["playbackmethod", r.Uu],
                        ["playbackend", r.Fq],
                        ["delivery", r.Uu],
                        ["pos", r.Fq],
                        ["api", r.Uu],
                        ["companiontype", r.Uu],
                        ["poddedupe", r.Uu]
                    ],
                    d = new Map(a);
                (0, o.A_)("sync", function(e, t, n, r, o) {
                    if (n && (o || r !== s)) {
                        const {
                            url: t,
                            useLocal: n
                        } = i.$W.getConfig("cache") || {};
                        return !(!t && !n && e.vastXml && !e.vastUrl) && !(!e.vastUrl && !e.vastXml)
                    }
                    return !(r === s && !o) || !!(e.renderer || t && t.renderer || n.renderer)
                }, "checkVideoBidSetup")
            },
            6665(e, t, n) {
                n.d(t, {
                    Et: () => l,
                    Fq: () => p,
                    Go: () => i,
                    KG: () => c,
                    Lm: () => g,
                    O8: () => d,
                    Qd: () => f,
                    SH: () => o,
                    Uu: () => h,
                    cy: () => u,
                    fp: () => a
                });
                var r = n(1490);

                function i(e) {
                    return (0, r.Q)(e) || {}
                }

                function o(e, t) {
                    return t.filter(t => e[t]).reduce((t, n) => Object.assign(t, {
                        [n]: e[n]
                    }), {})
                }
                const s = Object.prototype.toString;

                function c(e, t) {
                    return s.call(e) === "[object " + t + "]"
                }

                function a(e) {
                    return c(e, "Function")
                }

                function d(e) {
                    return c(e, "String")
                }
                const u = Array.isArray.bind(Array);

                function l(e) {
                    return c(e, "Number")
                }

                function f(e) {
                    return c(e, "Object")
                }

                function g(e) {
                    return c(e, "Boolean")
                }
                const p = Number.isInteger.bind(Number);

                function h(e, t) {
                    return u(e) && (!t || e.length === t) && e.every(e => p(e))
                }
            },
            7156(e, t, n) {
                n.d(t, {
                    u: () => c
                });
                var r = n(466),
                    i = n(8928),
                    o = n(1748),
                    s = n(1418);
                const c = new class {
                    constructor(e, t) {
                        this.getSettings = e, this.defaultScope = t
                    }
                    get(e, t) {
                        let n = this.getOwn(e, t);
                        return void 0 === n && (n = this.getOwn(null, t)), n
                    }
                    getOwn(e, t) {
                        return e = this.#c(e), (0, i.A)(this.getSettings(), `${e}.${t}`)
                    }
                    getScopes() {
                        return Object.keys(this.getSettings()).filter(e => e !== this.defaultScope)
                    }
                    settingsFor(e) {
                        return (0, r.mergeDeep)({}, this.ownSettingsFor(null), this.ownSettingsFor(e))
                    }
                    ownSettingsFor(e) {
                        return e = this.#c(e), this.getSettings()[e] || {}
                    }#
                    c(e) {
                        return null == e ? this.defaultScope : e
                    }
                }(() => (0, o.m)().bidderSettings || {}, s.iD.BD_SETTING_STANDARD)
            },
            7464(e, t, n) {
                n.d(t, {
                    A4: () => c,
                    J7: () => a,
                    Pg: () => d
                });
                var r = n(5049),
                    i = n(1748),
                    o = n(736);
                const s = (0, i.m)();

                function c(e) {
                    const {
                        url: t,
                        config: n,
                        id: i,
                        callback: c,
                        loaded: a,
                        adUnitCode: d,
                        renderNow: u
                    } = e;
                    this.url = t, this.config = n, this.handlers = {}, this.id = i, this.renderNow = u, this.adUnitCode = d, this.loaded = a, this.cmd = [], this.push = e => {
                        "function" == typeof e && (this.loaded ? e.call() : this.cmd.push(e))
                    }, this.callback = c || (() => {
                        this.loaded = !0, this.process()
                    }), this.render = function() {
                        const e = arguments,
                            n = () => {
                                this._render && this._render.apply(this, e)
                            };
                        ! function(e) {
                            const t = s.adUnits.find(t => t.code === e);
                            if (!t) return !1;
                            const n = t ? .renderer,
                                r = !!(n && n.url && n.render),
                                i = t ? .mediaTypes ? .video ? .renderer,
                                o = !!(i && i.url && i.render);
                            return !!(r && !0 !== n.backupOnly || o && !0 !== i.backupOnly)
                        }(d) ? u ? n() : (this.cmd.unshift(n), (0, r.R)(t, o.tp, "outstream", this.callback, this.documentContext)): n()
                    }.bind(this)
                }

                function a(e) {
                    return !(!e || !e.url && !e.renderNow)
                }

                function d(e, t, n) {
                    let r = null;
                    e.config && e.config.documentResolver && (r = e.config.documentResolver(t, document, n)), r || (r = document), e.documentContext = r, e.render(t, e.documentContext)
                }
                c.install = function(e) {
                    let {
                        url: t,
                        config: n,
                        id: r,
                        callback: i,
                        loaded: o,
                        adUnitCode: s,
                        renderNow: a
                    } = e;
                    return new c({
                        url: t,
                        config: n,
                        id: r,
                        callback: i,
                        loaded: o,
                        adUnitCode: s,
                        renderNow: a
                    })
                }, c.prototype.getConfig = function() {
                    return this.config
                }, c.prototype.setRender = function(e) {
                    this._render = e
                }, c.prototype.setEventHandlers = function(e) {
                    this.handlers = e
                }, c.prototype.handleVideoEvent = function(e) {
                    let {
                        id: t,
                        eventName: n
                    } = e;
                    "function" == typeof this.handlers[n] && this.handlers[n]()
                }, c.prototype.process = function() {
                    for (; this.cmd.length > 0;) try {
                        this.cmd.shift().call()
                    } catch (e) {}
                }
            },
            7610(e, t, n) {
                n.d(t, {
                    s: () => i
                });
                var r = n(8668);
                const i = (0, n(5291).ZI)(e => r.Ay.resolveAlias(e))
            },
            7841(e, t, n) {
                n.d(t, {
                    Ak: () => m,
                    BO: () => g,
                    K7: () => p
                });
                var r = n(1933);
                const i = "performanceMetrics",
                    o = window.performance && window.performance.now ? () => window.performance.now() : () => Date.now(),
                    s = new WeakMap;

                function c(e, t, n) {
                    return function() {
                        t && t();
                        try {
                            for (var r = arguments.length, i = new Array(r), o = 0; o < r; o++) i[o] = arguments[o];
                            return e.apply(this, i)
                        } finally {
                            n && n()
                        }
                    }
                }

                function a() {
                    let {
                        now: e = o,
                        mkNode: t = u,
                        mkTimer: n = d,
                        mkRenamer: r = e => e,
                        nodes: i = s
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    return function() {
                        return function o(s) {
                            let c = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : e => ({
                                forEach(t) {
                                    t(e)
                                }
                            });
                            c = r(c);
                            const a = (d = "timestamps", function(e) {
                                return s.dfWalk({
                                    visit(t, n) {
                                        const r = n[d];
                                        if (r.hasOwnProperty(e)) return r[e]
                                    }
                                })
                            });
                            var d;

                            function u(e, t) {
                                const n = c(e);
                                s.dfWalk({
                                    follow: (e, t) => t.propagate && (!e || !e.stopPropagation),
                                    visit(e, r) {
                                        n.forEach(n => {
                                            null == e ? r.metrics[n] = t : (r.groups.hasOwnProperty(n) || (r.groups[n] = []), r.groups[n].push(t))
                                        })
                                    }
                                })
                            }

                            function l(t) {
                                return n(e, e => u(t, e))
                            }

                            function f() {
                                let e = {};
                                return s.dfWalk({
                                    visit(t, n) {
                                        e = Object.assign({}, !t || t.includeGroups ? n.groups : null, n.metrics, e)
                                    }
                                }), e
                            }
                            const g = {
                                startTiming: l,
                                measureTime: function(e, t) {
                                    return l(e).stopAfter(t)()
                                },
                                measureHookTime: function(e, t, n) {
                                    const r = l(e);
                                    return n(function(e) {
                                        const t = r.stopBefore(e);
                                        return t.bail = e.bail && r.stopBefore(e.bail), t.stopTiming = r, t.untimed = e, t
                                    }(t))
                                },
                                checkpoint: function(t) {
                                    s.timestamps[t] = e()
                                },
                                timeSince: function(t, n) {
                                    const r = a(t),
                                        i = null != r ? e() - r : null;
                                    return null != n && u(n, i), i
                                },
                                timeBetween: function(e, t, n) {
                                    const r = a(e),
                                        i = a(t),
                                        o = null != r && null != i ? i - r : null;
                                    return null != n && u(n, o), o
                                },
                                setMetric: u,
                                getMetrics: f,
                                fork: function() {
                                    let {
                                        propagate: e = !0,
                                        stopPropagation: n = !1,
                                        includeGroups: r = !1
                                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                    return o(t([
                                        [s, {
                                            propagate: e,
                                            stopPropagation: n,
                                            includeGroups: r
                                        }]
                                    ]), c)
                                },
                                join: function(e) {
                                    let {
                                        propagate: t = !0,
                                        stopPropagation: n = !1,
                                        includeGroups: r = !1
                                    } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                                    const o = i.get(e);
                                    null != o && o.addParent(s, {
                                        propagate: t,
                                        stopPropagation: n,
                                        includeGroups: r
                                    })
                                },
                                newMetrics: function() {
                                    return o(s.newSibling(), c)
                                },
                                renameWith: function(e) {
                                    return o(s, e)
                                },
                                toJSON: () => f()
                            };
                            return i.set(g, s), g
                        }(t([]))
                    }
                }

                function d(e, t) {
                    const n = e();
                    let r = !1;

                    function i() {
                        r || (t(e() - n), r = !0)
                    }
                    return i.stopBefore = e => c(e, i), i.stopAfter = e => c(e, null, i), i
                }

                function u(e) {
                    return {
                        metrics: {},
                        timestamps: {},
                        groups: {},
                        addParent(t, n) {
                            e.push([t, n])
                        },
                        newSibling: () => u(e.slice()),
                        dfWalk() {
                            let t, {
                                visit: n,
                                follow: r = () => !0,
                                visited: i = new Set,
                                inEdge: o
                            } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                            if (!i.has(this)) {
                                if (i.add(this), t = n(o, this), null != t) return t;
                                for (const [s, c] of e)
                                    if (r(o, c) && (t = s.dfWalk({
                                            visit: n,
                                            follow: r,
                                            visited: i,
                                            inEdge: c
                                        }), null != t)) return t
                            }
                        }
                    }
                }
                const l = (() => {
                    const e = function() {},
                        t = () => ({}),
                        n = {
                            forEach: e
                        },
                        r = () => null;
                    r.stopBefore = e => e, r.stopAfter = e => e;
                    const i = Object.defineProperties({
                        dfWalk: e,
                        newSibling: () => i,
                        addParent: e
                    }, Object.fromEntries(["metrics", "timestamps", "groups"].map(e => [e, {
                        get: t
                    }])));
                    return a({
                        now: () => 0,
                        mkNode: () => i,
                        mkRenamer: () => () => n,
                        mkTimer: () => r,
                        nodes: {
                            get: e,
                            set: e
                        }
                    })()
                })();
                let f = !0;

                function g(e) {
                    return f && e || l
                }
                r.$W.getConfig(i, e => {
                    f = !!e[i]
                });
                const p = (() => {
                    const e = a();
                    return function() {
                        return f ? e() : l
                    }
                })();

                function h(e, t) {
                    return function(n, r) {
                        var i = this;
                        return function(o) {
                            for (var s = arguments.length, c = new Array(s > 1 ? s - 1 : 0), a = 1; a < s; a++) c[a - 1] = arguments[a];
                            return g(t.apply(i, c)).measureHookTime(e + n, o, e => r.call(i, e, ...c))
                        }
                    }
                }
                const m = h("requestBids.", e => e.metrics);
                h("addBidResponse.", (e, t) => t.metrics)
            },
            8014(e, t, n) {
                n.d(t, {
                    AU: () => p,
                    Ic: () => b,
                    kQ: () => m,
                    on: () => g
                });
                var r = n(466),
                    i = n(1418),
                    o = n(939),
                    s = n(1933);
                const c = "eventHistoryTTL";
                let a = null;
                const d = (0, o.H)({
                    monotonic: !0,
                    ttl: () => a
                });
                s.$W.getConfig(c, e => {
                    const t = a,
                        n = e ? .[c];
                    a = "number" == typeof n ? 1e3 * n : null, t !== a && d.refresh()
                });
                let u = Object.values(i.qY);
                const l = i.cA,
                    f = function() {
                        const e = {};

                        function t(e) {
                            return u.includes(e)
                        }
                        return {
                            has: t,
                            on: function(n, r, i) {
                                if (t(n)) {
                                    const t = e[n] || {
                                        que: []
                                    };
                                    i ? (t[i] = t[i] || {
                                        que: []
                                    }, t[i].que.push(r)) : t.que.push(r), e[n] = t
                                }
                            },
                            emit: function(t) {
                                for (var n = arguments.length, i = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) i[o - 1] = arguments[o];
                                ! function(t, n) {
                                    const i = n[0] || {},
                                        o = i[l[t]],
                                        s = e[t] || {
                                            que: []
                                        };
                                    var c = Object.keys(s);
                                    const a = [];
                                    d.add({
                                        eventType: t,
                                        args: i,
                                        id: o,
                                        elapsedTime: r.getPerformanceNow()
                                    }), o && c.includes(o) && a.push(...s[o].que), a.push(...s.que), (a || []).forEach(function(e) {
                                        if (e) try {
                                            e(...n)
                                        } catch (e) {}
                                    })
                                }(t, i)
                            },
                            off: function(t, n, i) {
                                const o = e[t];
                                r.isEmpty(o) || r.isEmpty(o.que) && r.isEmpty(o[i]) || i && (r.isEmpty(o[i]) || r.isEmpty(o[i].que)) || (i ? (o[i].que || []).forEach(function(e) {
                                    const t = o[i].que;
                                    e === n && t.splice(t.indexOf(e), 1)
                                }) : (o.que || []).forEach(function(e) {
                                    const t = o.que;
                                    e === n && t.splice(t.indexOf(e), 1)
                                }), e[t] = o)
                            },
                            get: function() {
                                return e
                            },
                            addEvents: function(e) {
                                u = u.concat(e)
                            },
                            getEvents: function() {
                                return d.toArray().map(e => Object.assign({}, e))
                            }
                        }
                    }();
                r._setEventEmitter(f.emit.bind(f));
                const {
                    on: g,
                    off: p,
                    get: h,
                    getEvents: m,
                    emit: b,
                    addEvents: y,
                    has: E
                } = f
            },
            8034(e, t, n) {
                n.d(t, {
                    wU: () => S
                });
                var r = n(2592),
                    i = n(867),
                    o = n(1780),
                    s = n(466),
                    c = n(3435),
                    a = n(8928),
                    d = n(6665),
                    u = n(3958),
                    l = n(3367),
                    f = n(1933),
                    g = n(3064);
                const p = ["architecture", "bitness", "model", "platformVersion", "fullVersionList"],
                    h = ["brands", "mobile", "platform"],
                    m = function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window.navigator ? .userAgentData;
                        const t = e && h.some(t => void 0 !== e[t]) ? Object.freeze(y(1, e)) : null;
                        return function() {
                            return t
                        }
                    }(),
                    b = function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window.navigator ? .userAgentData;
                        const t = {},
                            n = new WeakMap;
                        return function() {
                            let r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : p;
                            if (!n.has(r)) {
                                const e = Array.from(r);
                                e.sort(), n.set(r, e.join("|"))
                            }
                            const i = n.get(r);
                            if (!t.hasOwnProperty(i)) try {
                                t[i] = e.getHighEntropyValues(r).then(e => (0, s.isEmpty)(e) ? null : Object.freeze(y(2, e))).catch(() => null)
                            } catch (e) {
                                t[i] = g.U9.resolve(null)
                            }
                            return t[i]
                        }
                    }();

                function y(e, t) {
                    function n(e, t) {
                        const n = {
                            brand: e
                        };
                        return (0, d.O8)(t) && !(0, s.isEmptyStr)(t) && (n.version = t.split(".")), n
                    }
                    const r = {
                        source: e
                    };
                    return t.platform && (r.platform = n(t.platform, t.platformVersion)), (t.fullVersionList || t.brands) && (r.browsers = (t.fullVersionList || t.brands).map(e => {
                        let {
                            brand: t,
                            version: r
                        } = e;
                        return n(t, r)
                    })), void 0 !== t.mobile && (r.mobile = t.mobile ? 1 : 0), ["model", "bitness", "architecture"].forEach(e => {
                        const n = t[e];
                        (0, d.O8)(n) && (r[e] = n)
                    }), r
                }
                var E = n(1833),
                    v = n(3202),
                    A = n(7610),
                    w = n(5808),
                    I = n(736),
                    T = n(183);
                const C = {
                        getRefererInfo: i.EN,
                        findRootDomain: o.S,
                        getWindowTop: s.getWindowTop,
                        getWindowSelf: s.getWindowSelf,
                        getHighEntropySUA: b,
                        getLowEntropySUA: m,
                        getDocument: s.getDocument
                    },
                    O = (0, E.i8)("FPD"),
                    S = (0, r.A_)("sync", e => {
                        const t = [e, R().catch(() => null), g.U9.resolve("cookieDeprecationLabel" in navigator && (0, v.io)(w.Ue, (0, A.s)(I.tp, "cdep")) && navigator.cookieDeprecationLabel.getValue()).catch(() => null)];
                        return g.U9.all(t).then(e => {
                            let [t, n, r] = e;
                            const i = C.getRefererInfo();
                            if (Object.entries(U).forEach(e => {
                                    let [n, r] = e;
                                    const o = r(t, i);
                                    o && Object.keys(o).length > 0 && (t[n] = (0, s.mergeDeep)({}, o, t[n]))
                                }), n && (0, c.J)(t, "device.sua", Object.assign({}, n, t.device.sua)), r) {
                                const e = {
                                    cdep: r
                                };
                                (0, c.J)(t, "device.ext", Object.assign({}, e, t.device.ext))
                            }
                            const o = C.getDocument().documentElement.lang;
                            if (o && ((0, c.J)(t, "site.ext.data.documentLang", o), !(0, a.A)(t, "site.content.language"))) {
                                const e = o.split("-")[0];
                                (0, c.J)(t, "site.content.language", e)
                            }
                            t = O(t);
                            for (const e of E.Dy)
                                if ((0, E.O$)(t, e)) {
                                    t[e] = (0, s.mergeDeep)({}, N(t, i), t[e]);
                                    break
                                }
                            return t
                        })
                    });

                function B(e) {
                    try {
                        return e(C.getWindowTop())
                    } catch (t) {
                        return e(C.getWindowSelf())
                    }
                }

                function R() {
                    const e = f.$W.getConfig("firstPartyData.uaHints");
                    return Array.isArray(e) && 0 !== e.length ? C.getHighEntropySUA(e) : g.U9.resolve(C.getLowEntropySUA())
                }

                function D(e) {
                    return (0, d.SH)(e, Object.keys(e))
                }
                const U = {
                        site(e, t) {
                            if (!E.Dy.filter(e => "site" !== e).some(E.O$.bind(null, e))) return D({
                                page: t.page,
                                ref: t.ref
                            })
                        },
                        device: () => B(e => {
                            const t = (0, u.Ot)().screen.width,
                                n = (0, u.Ot)().screen.height,
                                {
                                    width: r,
                                    height: i
                                } = (0, T.M)();
                            return {
                                w: t,
                                h: n,
                                dnt: (0, l.l)() ? 1 : 0,
                                ua: e.navigator.userAgent,
                                language: e.navigator.language.split("-").shift(),
                                ext: {
                                    vpw: r,
                                    vph: i
                                }
                            }
                        }),
                        regs() {
                            const e = {};
                            B(e => e.navigator.globalPrivacyControl) && (0, c.J)(e, "ext.gpc", "1");
                            const t = f.$W.getConfig("coppa");
                            return "boolean" == typeof t && (e.coppa = t ? 1 : 0), e
                        }
                    },
                    _ = (0, s.memoize)(() => B(e => {
                        const t = e.document,
                            n = Array.from(t.querySelectorAll('script[type="application/ld+json"]'));
                        let r = [];
                        for (const e of n) try {
                            const t = JSON.parse(e.textContent),
                                n = Array.isArray(t) ? t : [t];
                            for (const e of n)
                                if ("string" == typeof e.keywords) {
                                    const t = e.keywords.split(",").map(e => e.trim()).filter(e => e.length > 0);
                                    r.push(...t)
                                }
                        } catch (e) {}
                        return r
                    })),
                    k = (0, s.memoize)(() => B(e => e.document.querySelector('meta[name="keywords"]') ? .content ? .split(",").map(e => e.trim())));

                function N(e, t) {
                    const n = (0, i.gR)(t.page, {
                            noLeadingWww: !0
                        }),
                        r = new Set;
                    return (f.$W.getConfig("firstPartyData.keywords.meta") ? ? 1) && (k() ? ? []).forEach(e => r.add(e)), (f.$W.getConfig("firstPartyData.keywords.json") ? ? 1) && (_() ? ? []).forEach(e => r.add(e)), D({
                        domain: n,
                        keywords: r.size > 0 ? Array.from(r.keys()).join(",") : void 0,
                        publisher: D({
                            domain: C.findRootDomain(n)
                        })
                    })
                }
            },
            8668(e, t, n) {
                n.d(t, {
                    sc: () => ee,
                    Ay: () => fe,
                    pX: () => se
                });
                var r = n(6665),
                    i = n(466),
                    o = n(3556),
                    s = n(2201),
                    c = n(1933),
                    a = n(2592);
                const d = "requests",
                    u = "wins",
                    l = "auctions";
                let f = {};

                function g(e, t) {
                    const n = f[e] = f[e] || {
                        bidders: {}
                    };
                    return t ? (n.bidders[t] = n.bidders[t] || {}, n.bidders[t]) : n
                }

                function p(e, t) {
                    return function(n, r) {
                        const i = g(n, t && r);
                        return i[e] = (i[e] ? ? 0) + 1, i[e]
                    }
                }

                function h(e, t) {
                    return function(n, r) {
                        return g(n, t && r)[e] ? ? 0
                    }
                }
                const m = p(d, !1),
                    b = p(d, !0),
                    y = p(u, !0),
                    E = p(l, !1),
                    v = h(d, !1),
                    A = h(d, !0),
                    w = h(u, !0),
                    I = h(l, !1);
                var T = n(867),
                    C = n(1385),
                    O = n(8014),
                    S = n(1418),
                    B = n(7841),
                    R = n(3006),
                    D = n(736),
                    U = n(3202),
                    _ = n(5808),
                    k = n(5291),
                    N = n(8928);
                const x = ["data", "ext.data", "yob", "gender", "keywords", "kwarray", "id", "buyeruid", "customdata"].map(e => `user.${e}`).concat("device.ext.cdep"),
                    q = ["user.eids", "user.ext.eids"],
                    j = ["user.geo.lat", "user.geo.lon", "device.geo.lat", "device.geo.lon"],
                    W = ["device.ip"],
                    P = ["device.ipv6"];

                function $(e) {
                    return Object.assign({
                        get() {},
                        run(e, t, n, r, i) {
                            const o = n && n[r];
                            if (function(e) {
                                    return null != e && ("object" != typeof e || Object.keys(e).length > 0)
                                }(o) && i()) {
                                const e = this.get(o);
                                void 0 === e ? delete n[r] : n[r] = e
                            }
                        }
                    }, e)
                }

                function M(e) {
                    return e.forEach(e => {
                            e.paths = e.paths.map(e => {
                                const t = e.split("."),
                                    n = t.pop();
                                return [t.length > 0 ? t.join(".") : null, n]
                            })
                        }),
                        function(t, n) {
                            const r = [];
                            for (var i = arguments.length, o = new Array(i > 2 ? i - 2 : 0), s = 2; s < i; s++) o[s - 2] = arguments[s];
                            const c = function(e) {
                                for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
                                return function(t) {
                                    return e.hasOwnProperty(t.name) || (e[t.name] = !!t.applies(...n)), e[t.name]
                                }
                            }(t, ...o);
                            return e.forEach(e => {
                                if (!1 !== t[e.name])
                                    for (const [i, o] of e.paths) {
                                        const s = null == i ? n : (0, N.A)(n, i);
                                        if (r.push(e.run(n, i, s, o, c.bind(null, e))), !1 === t[e.name]) return
                                    }
                            }), r.filter(e => null != e)
                        }
                }

                function F(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : U.io;
                    return function(n) {
                        return !t(e, n)
                    }
                }

                function L() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : U.io;
                    return [{
                        name: _.DL,
                        paths: x,
                        applies: F(_.DL, e)
                    }, {
                        name: _.hq,
                        paths: q,
                        applies: F(_.hq, e)
                    }, {
                        name: _.hE,
                        paths: j,
                        applies: F(_.hE, e),
                        get: e => Math.round(100 * (e + Number.EPSILON)) / 100
                    }, {
                        name: _.hE,
                        paths: W,
                        applies: F(_.hE, e),
                        get: e => function(e) {
                            if (!e) return null;
                            const t = e.split(".").map(Number);
                            if (4 !== t.length) return null;
                            const n = [];
                            for (let e = 0; e < 4; e++) {
                                const t = Math.max(0, Math.min(8, 24 - 8 * e));
                                n.push(255 << 8 - t & 255)
                            }
                            return t.map((e, t) => e & n[t]).join(".")
                        }(e)
                    }, {
                        name: _.hE,
                        paths: P,
                        applies: F(_.hE, e),
                        get: e => function(e) {
                            if (!e) return null;
                            let t = e.split(":").map(e => parseInt(e, 16));
                            for (t = t.map(e => isNaN(e) ? 0 : e); t.length < 8;) t.push(0);
                            if (8 !== t.length) return null;
                            const n = [];
                            for (let e = 0; e < 8; e++) {
                                const t = Math.max(0, Math.min(16, 64 - 16 * e));
                                n.push(65535 << 16 - t & 65535)
                            }
                            return t.map((e, t) => e & n[t]).map(e => e.toString(16)).join(":")
                        }(e)
                    }, {
                        name: _.VJ,
                        paths: ["source.tid", "source.ext.tidSource"],
                        applies: F(_.VJ, e)
                    }].map($)
                }
                const G = function() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : U.io;
                    const t = M(L(e)),
                        n = M(function() {
                            let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : U.io;
                            return [{
                                name: _.hq,
                                paths: ["userId", "userIdAsEids"],
                                applies: F(_.hq, e)
                            }, {
                                name: _.VJ,
                                paths: ["ortb2Imp.ext.tid", "ortb2Imp.ext.tidSource"],
                                applies: F(_.VJ, e)
                            }].map($)
                        }(e));
                    return function(e) {
                        const r = {};
                        return {
                            ortb2: n => (t(r, n, e), n),
                            bidRequest: t => (n(r, t, e), t)
                        }
                    }
                }();
                (0, U.qB)(_.VJ, "enableTIDs config", () => {
                    if (!c.$W.getConfig("enableTIDs")) return {
                        allow: !1,
                        reason: "TIDs are disabled"
                    }
                });
                var H = n(2122),
                    V = n(1748);
                const z = "pbsBidAdapter",
                    Q = {
                        CLIENT: "client",
                        SERVER: "server"
                    },
                    Y = {
                        isAllowed: U.io,
                        redact: G
                    },
                    J = {},
                    K = {},
                    X = {};
                let Z = [];
                c.$W.getConfig("s2sConfig", e => {
                    e && e.s2sConfig && (Z = (0, r.cy)(e.s2sConfig) ? e.s2sConfig : [e.s2sConfig])
                });
                const ee = (0, k.ZI)(e => ae.resolveAlias(e));

                function te(e) {
                    return e.configName ? ? e.name
                }
                const ne = ["nativeParams", "nativeOrtbRequest", "renderer"];

                function re(e) {
                    let {
                        bidderCode: t,
                        auctionId: n,
                        bidderRequestId: o,
                        adUnits: s,
                        src: c,
                        metrics: a,
                        getTid: d
                    } = e;
                    return s.reduce((e, s) => {
                        const u = s.bids.filter(e => e.bidder === t);
                        return null == t && 0 === u.length && null != s.s2sBid && u.push({
                            bidder: null
                        }), e.push(u.reduce((e, u) => {
                            const [l, f] = d(u.bidder, s.transactionId, u.ortb2Imp ? .ext ? .tid ? ? s.ortb2Imp ? .ext ? .tid), g = null == (u = Object.assign({}, u, {
                                ortb2Imp: (0, i.mergeDeep)({}, s.ortb2Imp, u.ortb2Imp, {
                                    ext: {
                                        tid: l,
                                        tidSource: f
                                    }
                                })
                            }, (0, r.SH)(s, ne))).mediaTypes ? s.mediaTypes : u.mediaTypes;
                            return (0, i.isValidMediaTypes)(g) && (u = Object.assign({}, u, {
                                mediaTypes: g
                            })), "client" === c && b(s.code, t), e.push(Object.assign({}, u, {
                                adUnitCode: s.code,
                                transactionId: s.transactionId,
                                adUnitId: s.adUnitId,
                                sizes: g ? .banner ? .sizes || g ? .video ? .playerSize || [],
                                bidId: u.bid_id || (0, i.generateUUID)(),
                                bidderRequestId: o,
                                auctionId: n,
                                src: c,
                                metrics: a,
                                auctionsCount: I(s.code),
                                bidRequestsCount: v(s.code),
                                bidderRequestsCount: A(s.code, u.bidder),
                                bidderWinsCount: w(s.code, u.bidder),
                                deferBilling: !!s.deferBilling
                            })), e
                        }, [])), e
                    }, []).reduce(i.flatten, []).filter(e => "" !== e)
                }
                const ie = (0, a.A_)("sync", function(e, t) {
                    let {
                        getS2SBidders: n = se
                    } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                    if (null == t) return e; {
                        const r = n(t);
                        return e.filter(e => {
                            if (!r.has(e.bidder)) return !1;
                            if (null == e.s2sConfigName) return !0;
                            const n = te(t);
                            return (Array.isArray(e.s2sConfigName) ? e.s2sConfigName : [e.s2sConfigName]).includes(n)
                        })
                    }
                }, "filterBidsForAdUnit");
                const oe = (0, a.A_)("sync", (e, t) => e, "setupAdUnitMediaTypes");

                function se(e) {
                    (0, r.cy)(e) || (e = [e]);
                    const t = new Set([null]);
                    return e.filter(e => e && e.enabled).flatMap(e => e.bidders).forEach(e => t.add(e)), t
                }
                const ce = (0, a.A_)("sync", function(e, t) {
                    let {
                        getS2SBidders: n = se
                    } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                    const r = n(t);
                    return (0, i.getBidderCodes)(e).reduce((e, t) => (e[r.has(t) ? Q.SERVER : Q.CLIENT].push(t), e), {
                        [Q.CLIENT]: [],
                        [Q.SERVER]: []
                    })
                }, "partitionBidders");
                const ae = {
                    bidderRegistry: J,
                    analyticsRegistry: X,
                    aliasRegistry: K,
                    makeBidRequests: (0, a.A_)("sync", function(e, t, n, o, s) {
                        let a = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : {},
                            d = arguments.length > 6 ? arguments[6] : void 0;
                        d = (0, B.BO)(d), O.Ic(S.qY.BEFORE_REQUEST_BIDS, e), e.map(e => e.code).filter(i.uniques).forEach(E);
                        const u = a.global || {},
                            l = a.bidder || {},
                            f = function() {
                                let e, t;
                                return c.$W.getConfig("consistentTIDs") ? (e = "pbjsStable", t = e => e) : (e = "pbjs", t = (() => {
                                        const e = {};
                                        return (t, n) => (e.hasOwnProperty(n) || (e[n] = {}), e[n].hasOwnProperty(t) || (e[n][t] = `u${(0,i.generateUUID)()}`), e[n][t])
                                    })()),
                                    function(n, r, i) {
                                        return [i ? ? t(r, n), null != i ? "pub" : e]
                                    }
                            }(),
                            g = (() => {
                                const e = {};
                                return function(t, n, r) {
                                    const o = ((e, t) => {
                                            const n = null != t ? t[k.XG] : "";
                                            return n ? `${e}:${n}` : `${e}:`
                                        })(n, r),
                                        s = Y.redact(null != r ? r : ee(D.tW, n));
                                    if (void 0 !== e[o]) return [e[o], s];
                                    const [c, a] = f(n, t, l[n] ? .source ? .tid ? ? u.source ? .tid), d = Object.freeze(s.ortb2((0, i.mergeDeep)({}, u, l[n], {
                                        source: {
                                            tid: c,
                                            ext: {
                                                tidSource: a
                                            }
                                        }
                                    })));
                                    return e[o] = d, [d, s]
                                }
                            })();
                        let {
                            [Q.CLIENT]: p, [Q.SERVER]: h
                        } = ce(e, Z);
                        const b = new Set;
                        e.forEach(e => {
                            (0, r.Qd)(e.mediaTypes) || (e.mediaTypes = {}), e.bids = e.bids.filter(t => {
                                if (!t.bidder) return !0;
                                const [r] = g(n, t.bidder), i = h.includes(t.bidder) && !p.includes(t.bidder);
                                return Y.isAllowed(_.uc, ee(D.tW, t.bidder, {
                                    bid: t,
                                    ortb2: r,
                                    adUnit: e,
                                    auctionId: n,
                                    isS2S: i
                                }))
                            }), e.bids.forEach(e => {
                                b.add(e.bidder)
                            }), m(e.code)
                        }), p = p.filter(e => b.has(e)), h = h.filter(e => b.has(e)), e = oe(e, s), c.$W.getConfig("bidderSequence") === c.Ov && (p = (0, i.shuffle)(p));
                        const y = (0, T.EN)(),
                            v = [];

                        function A(e, t) {
                            const [n, r] = g(e.auctionId, e.bidderCode, t);
                            return e.ortb2 = n, e.bids = e.bids.map(e => (e.ortb2 = n, r.bidRequest(e))), e
                        }
                        const w = (0, V.m)();

                        function I(e) {
                            return w.pageViewIdPerBidder.has(e) || w.pageViewIdPerBidder.set(e, (0, i.generateUUID)()), w.pageViewIdPerBidder.get(e)
                        }
                        Z.forEach(o => {
                            const s = function(e) {
                                return ee(D.tp, z, {
                                    [k.XG]: te(e)
                                })
                            }(o);
                            if (o && o.enabled && Y.isAllowed(_.uc, s)) {
                                const {
                                    adUnits: c,
                                    hasModuleBids: a
                                } = function(e, t) {
                                    let n = (0, r.Go)(e),
                                        o = !1;
                                    return n.forEach(e => {
                                        const n = e.bids.filter(e => e.module === z && e.params ? .configName === te(t));
                                        1 === n.length ? (e.s2sBid = n[0], o = !0, e.ortb2Imp = (0, i.mergeDeep)({}, e.s2sBid.ortb2Imp, e.ortb2Imp)) : n.length, e.bids = ie(e.bids, t).map(e => (e.bid_id = (0, i.getUniqueIdentifierStr)(), e))
                                    }), n = n.filter(e => !(t.filterBidderlessCalls && 1 === e.bids.length && null == e.bids[0].bidder || 0 === e.bids.length && null == e.s2sBid)), {
                                        adUnits: n,
                                        hasModuleBids: o
                                    }
                                }(e, o), u = (0, i.generateUUID)();
                                (0 === h.length && a ? [null] : h).forEach(e => {
                                    const a = (0, i.generateUUID)(),
                                        l = I(e),
                                        g = d.fork(),
                                        p = A({
                                            bidderCode: e,
                                            auctionId: n,
                                            bidderRequestId: a,
                                            pageViewId: l,
                                            uniquePbsTid: u,
                                            bids: re({
                                                bidderCode: e,
                                                auctionId: n,
                                                bidderRequestId: a,
                                                adUnits: (0, r.Go)(c),
                                                src: S.RW.SRC,
                                                metrics: g,
                                                getTid: f
                                            }),
                                            auctionStart: t,
                                            timeout: o.timeout,
                                            src: S.RW.SRC,
                                            refererInfo: y,
                                            metrics: g,
                                            alwaysHasCapacity: o.alwaysHasCapacity
                                        }, s);
                                    0 !== p.bids.length && v.push(p)
                                }), c.forEach(e => {
                                    const t = e.bids.filter(e => v.find(t => t.bids.find(t => t.bidId === e.bid_id)));
                                    e.bids = t
                                }), v.forEach(e => {
                                    void 0 === e.adUnitsS2SCopy && (e.adUnitsS2SCopy = c.filter(e => e.bids.length > 0 || null != e.s2sBid))
                                })
                            }
                        });
                        const R = function(e) {
                            let t = (0, r.Go)(e);
                            return t.forEach(e => {
                                e.bids = ie(e.bids, null)
                            }), t = t.filter(e => 0 !== e.bids.length), t
                        }(e);
                        return p.forEach(e => {
                            const s = (0, i.generateUUID)(),
                                c = I(e),
                                a = d.fork(),
                                u = J[e],
                                l = A({
                                    bidderCode: e,
                                    auctionId: n,
                                    pageViewId: c,
                                    bidderRequestId: s,
                                    bids: re({
                                        bidderCode: e,
                                        auctionId: n,
                                        bidderRequestId: s,
                                        adUnits: (0, r.Go)(R),
                                        src: "client",
                                        metrics: a,
                                        getTid: f
                                    }),
                                    auctionStart: t,
                                    timeout: o,
                                    refererInfo: y,
                                    metrics: a,
                                    src: "client",
                                    alwaysHasCapacity: u ? .getSpec ? .().alwaysHasCapacity
                                });
                            u && l.bids && 0 !== l.bids.length && v.push(l)
                        }), v.forEach(e => {
                            C.mW.getConsentData() && (e.gdprConsent = C.mW.getConsentData()), C.t6.getConsentData() && (e.uspConsent = C.t6.getConsentData()), C.ad.getConsentData() && (e.gppConsent = C.ad.getConsentData())
                        }), v
                    }, "makeBidRequests"),
                    callBids(e, t, n, r, o, a, d) {
                        let u = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : {};
                        if (!t.length) return;
                        const [l, f] = t.reduce((e, t) => (e[Number(void 0 !== t.src && t.src === S.RW.SRC)].push(t), e), [
                            [],
                            []
                        ]);
                        var g = [];
                        f.forEach(e => {
                            for (var t = -1, n = 0; n < g.length; ++n)
                                if (e.uniquePbsTid === g[n].uniquePbsTid) {
                                    t = n;
                                    break
                                }
                            t <= -1 && g.push(e)
                        });
                        let p = 0;
                        Z.forEach(e => {
                            if (e && g[p] && se(e).has(g[p].bidderCode)) {
                                const t = (0, s.g4)(a, o ? {
                                        request: o.request.bind(null, "s2s"),
                                        done: o.done
                                    } : void 0),
                                    c = e.bidders,
                                    l = J[e.adapter],
                                    h = g[p].uniquePbsTid,
                                    m = g[p].adUnitsS2SCopy,
                                    b = f.filter(e => e.uniquePbsTid === h);
                                if (l) {
                                    const o = {
                                        ad_units: m,
                                        s2sConfig: e,
                                        ortb2Fragments: u,
                                        requestBidsTimeout: a
                                    };
                                    if (o.ad_units.length) {
                                        const e = b.map(e => (e.start = (0, i.timestamp)(), function(t) {
                                            t || d(e.bidderRequestId);
                                            for (var n = arguments.length, i = new Array(n > 1 ? n - 1 : 0), o = 1; o < n; o++) i[o - 1] = arguments[o];
                                            r.apply(e, [t, ...i])
                                        }));
                                        (0, i.getBidderCodes)(o.ad_units).filter(e => c.includes(e));
                                        b.forEach(e => {
                                            O.Ic(S.qY.BID_REQUESTED, { ...e,
                                                tid: e.auctionId
                                            })
                                        }), l.callBids(o, f, n, t => e.forEach(e => e(t)), t)
                                    }
                                }
                                p++
                            }
                        }), l.forEach(e => {
                            e.start = (0, i.timestamp)();
                            const t = J[e.bidderCode];
                            c.$W.runWithBidder(e.bidderCode, () => {
                                O.Ic(S.qY.BID_REQUESTED, e)
                            });
                            const u = (0, s.g4)(a, o ? {
                                    request: o.request.bind(null, e.bidderCode),
                                    done: o.done
                                } : void 0),
                                l = r.bind(e);
                            try {
                                c.$W.runWithBidder(e.bidderCode, t.callBids.bind(t, e, n, l, u, () => d(e.bidderRequestId), c.$W.callbackWithBidder(e.bidderCode)))
                            } catch (e) {
                                l()
                            }
                        })
                    },
                    videoAdapters: [],
                    registerBidAdapter(e, t) {
                        let {
                            supportedMediaTypes: n = []
                        } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                        e && t && "function" == typeof e.callBids && (J[t] = e, C.o2.register(D.tW, t, e.getSpec ? .().gvlid))
                    },
                    aliasBidAdapter(e, t, n) {
                        if (void 0 === J[t]) {
                            const r = J[e];
                            if (void 0 === r) {
                                const n = [];
                                Z.forEach(r => {
                                    if (r.bidders && r.bidders.length) {
                                        const i = r && r.bidders;
                                        r && i.includes(t) ? K[t] = e : n.push(e)
                                    }
                                }), n.forEach(e => {})
                            } else try {
                                let i;
                                const s = function() {
                                    const e = [];
                                    0;
                                    0;
                                    return e
                                }();
                                if (r.constructor.prototype !== Object.prototype) i = new r.constructor, i.setBidderCode(t);
                                else {
                                    const {
                                        useBaseGvlid: s = !1
                                    } = n || {}, c = r.getSpec(), a = s ? c.gvlid : n ? .gvlid;
                                    null == a && c.gvlid;
                                    const d = n && n.skipPbsAliasing;
                                    i = (0, o.xb)(Object.assign({}, c, {
                                        code: t,
                                        gvlid: a,
                                        skipPbsAliasing: d
                                    })), K[t] = e
                                }
                                ae.registerBidAdapter(i, t, {
                                    supportedMediaTypes: s
                                })
                            } catch (e) {}
                        }
                    },
                    resolveAlias(e) {
                        let t, n = e;
                        for (; K[n] && (!t || !t.has(n));) n = K[n], (t = t || new Set).add(n);
                        return n
                    },
                    registerAnalyticsAdapter(e) {
                        let {
                            adapter: t,
                            code: n,
                            gvlid: r
                        } = e;
                        t && n && "function" == typeof t.enableAnalytics && (t.code = n, X[n] = {
                            adapter: t,
                            gvlid: r
                        }, C.o2.register(D.Tn, n, r))
                    },
                    enableAnalytics(e) {
                        (0, r.cy)(e) || (e = [e]), e.forEach(e => {
                            const t = X[e.provider];
                            t && t.adapter && Y.isAllowed(_.mo, ee(D.Tn, e.provider, {
                                [k.TQ]: e
                            })) && t.adapter.enableAnalytics(e)
                        })
                    },
                    getBidAdapter: e => J[e],
                    getAnalyticsAdapter: e => X[e],
                    callTimedOutBidders(e, t, n) {
                        t = t.map(t => (t.params = (0, i.getUserConfiguredParams)(e, t.adUnitCode, t.bidder), t.timeout = n, t)), t = (0, i.groupBy)(t, "bidder"), Object.keys(t).forEach(e => {
                            le(e, "onTimeout", t[e])
                        })
                    },
                    callBidWonBidder(e, t, n) {
                        t.params = (0, i.getUserConfiguredParams)(n, t.adUnitCode, t.bidder), y(t.adUnitCode, t.bidder), le(e, "onBidWon", t)
                    },
                    triggerBilling: (() => {
                        const e = new WeakSet;
                        return t => {
                            e.has(t) || (e.add(t), ((0, H.$T)(t.eventtrackers)[H.OA] ? .[H.Ni] || []).forEach(e => i.internal.triggerPixel(e)), le(t.bidder, "onBidBillable", t))
                        }
                    })(),
                    callSetTargetingBidder(e, t) {
                        le(e, "onSetTargeting", t)
                    },
                    callBidViewableBidder(e, t) {
                        le(e, "onBidViewable", t)
                    },
                    callBidderError(e, t, n) {
                        le(e, "onBidderError", {
                            error: t,
                            bidderRequest: n
                        })
                    },
                    callAdRenderSucceededBidder(e, t) {
                        le(e, "onAdRenderSucceeded", t)
                    },
                    callOnInterventionBidder(e, t, n) {
                        le(e, "onIntervention", {
                            bid: t,
                            intervention: n
                        })
                    },
                    callDataDeletionRequest: (0, a.A_)("sync", function() {
                        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                        const r = "onDataDeletionRequest";
                        Object.keys(J).filter(e => !K.hasOwnProperty(e)).forEach(e => {
                            const n = de(e, r);
                            if (null != n) {
                                const i = R.n.getBidsRequested().filter(t => function(e) {
                                    const t = new Set;
                                    for (; K.hasOwnProperty(e) && !t.has(e);) t.add(e), e = K[e];
                                    return e
                                }(t.bidderCode) === e);
                                ue(e, r, ...n, i, ...t)
                            }
                        }), Object.entries(X).forEach(e => {
                            let [n, i] = e;
                            const o = i ? .adapter ? .[r];
                            if ("function" == typeof o) try {
                                o.apply(i.adapter, t)
                            } catch (e) {}
                        })
                    })
                };

                function de(e, t) {
                    const n = J[e],
                        r = n ? .getSpec && n.getSpec();
                    if (r && r[t] && "function" == typeof r[t]) return [r, r[t]]
                }

                function ue(e, t, n, r) {
                    try {
                        for (var i = arguments.length, o = new Array(i > 4 ? i - 4 : 0), s = 4; s < i; s++) o[s - 4] = arguments[s];
                        c.$W.runWithBidder(e, r.bind(n, ...o))
                    } catch (e) {}
                }

                function le(e, t, n) {
                    if (n ? .source !== S.RW.SRC) {
                        const r = de(e, t);
                        null != r && ue(e, t, ...r, n)
                    }
                }
                const fe = ae
            },
            9430(e, t, n) {
                n.d(t, {
                    UZ: () => T,
                    NE: () => R,
                    HN: () => $,
                    mX: () => D
                });
                var r = n(466),
                    i = n(6665),
                    o = n(1124),
                    s = n(7464),
                    c = n(1933),
                    a = n(3391),
                    d = n(2592),
                    u = n(3006),
                    l = n(7156),
                    f = n(8014),
                    g = n(8668),
                    p = n(1418),
                    h = n(3064),
                    m = n(7841);
                var b = n(1748),
                    y = n(939),
                    E = n(5482),
                    v = n(3202),
                    A = n(5808),
                    w = n(736);
                const {
                    syncUsers: I
                } = a.zt, T = "completed";
                f.on(p.qY.BID_ADJUSTMENT, function(e) {
                    ! function(e) {
                        const t = function(e, t, n) {
                            let {
                                index: r = u.n.index,
                                bs: i = l.u
                            } = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : {};
                            n = n || r.getBidRequest(t);
                            const o = t ? .adapterCode,
                                s = t ? .bidderCode || n ? .bidder,
                                c = i.get(t ? .adapterCode, "adjustAlternateBids"),
                                a = i.getOwn(s, "bidCpmAdjustment") || i.get(c ? o : s, "bidCpmAdjustment");
                            if (a && "function" == typeof a) try {
                                return a(e, Object.assign({}, t), n)
                            } catch (e) {}
                            return e
                        }(e.cpm, e);
                        t >= 0 && (e.cpm = t)
                    }(e)
                });
                const C = {},
                    O = {},
                    S = [],
                    B = (0, b.m)();
                const R = (0, d.A_)("sync", e => {});

                function D(e) {
                    let {
                        adUnits: t,
                        adUnitCodes: n,
                        callback: i,
                        cbTimeout: a,
                        labels: d,
                        auctionId: l,
                        ortb2Fragments: b,
                        metrics: v
                    } = e;
                    v = (0, m.BO)(v);
                    const A = t,
                        w = d,
                        D = n,
                        W = l || (0, r.generateUUID)(),
                        P = a,
                        $ = new Set,
                        M = (0, h.v6)(),
                        L = (0, h.v6)();
                    let G = [],
                        H = i,
                        V = [];
                    const z = (0, y.H)({
                        startTime: e => e.responseTimestamp,
                        ttl: e => null == (0, E.S9)() ? null : 1e3 * Math.max((0, E.S9)(), e.ttl)
                    });
                    let Q, Y, J, K, X = [],
                        Z = [],
                        ee = [];

                    function te() {
                        return {
                            auctionId: W,
                            timestamp: Q,
                            auctionEnd: Y,
                            auctionStatus: K,
                            adUnits: A,
                            adUnitCodes: D,
                            labels: w,
                            bidderRequests: V,
                            noBids: X,
                            bidsReceived: z.toArray(),
                            bidsRejected: G,
                            winningBids: Z,
                            timeout: P,
                            metrics: v,
                            seatNonBids: ee
                        }
                    }

                    function ne(e) {
                        if (e ? f.Ic(p.qY.AUCTION_TIMEOUT, te()) : clearTimeout(J), void 0 === Y) {
                            let n = [];
                            e && (n = V.filter(e => !$.has(e.bidderRequestId)).flatMap(e => e.bids), n.length && f.Ic(p.qY.BID_TIMEOUT, n)), K = T, Y = Date.now(), v.checkpoint("auctionEnd"), v.timeBetween("requestBids", "auctionEnd", "requestBids.total"), v.timeBetween("callBids", "auctionEnd", "requestBids.callBids"), M.resolve(), f.Ic(p.qY.AUCTION_END, te()), N(A, l, function() {
                                try {
                                    if (null != H) {
                                        const t = z.toArray().filter(e => D.includes(e.adUnitCode)).reduce(F, {});
                                        H.apply(B, [t, e, W]), H = null
                                    }
                                } catch (e) {} finally {
                                    n.length && g.Ay.callTimedOutBidders(t, n, P);
                                    const e = c.$W.getConfig("userSync") ? ? {};
                                    e.enableOverride || I(e.syncDelay)
                                }
                            })
                        }
                    }

                    function re() {
                        c.$W.resetBidder(), K = T, ne(!1)
                    }

                    function ie(e) {
                        $.add(e)
                    }

                    function oe(e) {
                        e.forEach(e => {
                            var t;
                            t = e, V = V.concat(t)
                        });
                        const t = {},
                            n = {
                                bidRequests: e,
                                run: () => {
                                    R(this), J = setTimeout(() => ne(!0), P), K = "inProgress", f.Ic(p.qY.AUCTION_INIT, te());
                                    const n = function(e, t) {
                                        let {
                                            index: n = u.n.index
                                        } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = 0, a = !1;
                                        const d = new Set,
                                            l = {};

                                        function g() {
                                            i--, a && 0 === i && e()
                                        }

                                        function m(e, t, n) {
                                            return l[t.requestId] = !0,
                                                function(e, t) {
                                                    let {
                                                        index: n = u.n.index
                                                    } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                                                    const r = n.getAdUnit(e);
                                                    q(e, {
                                                        index: n
                                                    }), Object.assign(e, {
                                                        cpm: parseFloat(e.cpm) || 0,
                                                        bidder: e.bidder || e.bidderCode,
                                                        adUnitCode: t
                                                    }), null != r ? .ttlBuffer && (e.ttlBuffer = r.ttlBuffer)
                                                }(t, e), i++, n(g)
                                        }

                                        function b(e, n) {
                                            m(e, n, e => {
                                                const r = function(e) {
                                                    let {
                                                        index: t = u.n.index
                                                    } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                                                    f.Ic(p.qY.BID_ADJUSTMENT, e);
                                                    const n = t.getAdUnit(e);
                                                    e.instl = 1 === n ? .ortb2Imp ? .instl;
                                                    const r = t.getBidRequest(e) ? .renderer || n.renderer,
                                                        i = e.mediaType,
                                                        a = t.getMediaTypes(e),
                                                        d = a && a[i];
                                                    var l = d && d.renderer,
                                                        g = null;
                                                    !l || !l.render || !0 === l.backupOnly && e.renderer ? !r || !r.render || !0 === r.backupOnly && e.renderer || (g = r) : g = l;
                                                    g && (e.renderer = s.A4.install({
                                                        url: g.url,
                                                        config: g.options,
                                                        renderNow: null == g.url
                                                    }), e.renderer.setRender(g.render));
                                                    const h = j(e.mediaType, a, c.$W.getConfig("mediaTypePriceGranularity")),
                                                        m = (0, o.j)(e.cpm, "object" == typeof h ? h : c.$W.getConfig("customPriceBucket"), c.$W.getConfig("currency.granularityMultiplier"));
                                                    return e.pbLg = m.low, e.pbMg = m.med, e.pbHg = m.high, e.pbAg = m.auto, e.pbDg = m.dense, e.pbCg = m.custom, e
                                                }(n);
                                                f.Ic(p.qY.BID_ACCEPTED, r), x(t, r), e()
                                            })
                                        }

                                        function y(e, n, r) {
                                            return m(e, n, e => {
                                                n.rejectionReason = r, f.Ic(p.qY.BID_REJECTED, n), t.addBidRejected(n), e()
                                            })
                                        }

                                        function E() {
                                            const n = this;
                                            let o = t.getBidRequests();
                                            const s = c.$W.getConfig("auctionOptions");
                                            if (d.add(n), s && !(0, r.isEmpty)(s)) {
                                                const e = s.secondaryBidders;
                                                e && !o.every(t => e.includes(t.bidderCode)) && (o = o.filter(t => !e.includes(t.bidderCode)))
                                            }
                                            a = o.every(e => d.has(e)), n.bids.forEach(e => {
                                                l[e.bidId] || (q(e), t.addNoBid(e), f.Ic(p.qY.NO_BID, e))
                                            }), a && 0 === i && e()
                                        }
                                        return {
                                            addBidResponse: function() {
                                                function e(e, t) {
                                                    U.call({
                                                        dispatch: b
                                                    }, e, t, (() => {
                                                        let n = !1;
                                                        return r => {
                                                            n || (y(e, t, r), n = !0)
                                                        }
                                                    })())
                                                }
                                                return e.reject = y, e
                                            }(),
                                            adapterDone: function() {
                                                _(h.U9.resolve()).finally(() => E.call(this))
                                            }
                                        }
                                    }(re, this);
                                    g.Ay.callBids(A, e, n.addBidResponse, n.adapterDone, {
                                        request(e, n) {
                                            a(C, n), a(t, e), O[e] || (O[e] = {
                                                SRA: !0,
                                                origin: n
                                            }), t[e] > 1 && (O[e].SRA = !1)
                                        },
                                        done(e) {
                                            C[e]--, S[0] && i(S[0]) && S.shift()
                                        }
                                    }, P, ie, b), L.resolve()
                                }
                            };

                        function i(e) {
                            let t = !0;
                            const n = c.$W.getConfig("maxRequestsPerOrigin") || 4;
                            return e.bidRequests.some(e => {
                                let r = 1;
                                const i = void 0 !== e.src && e.src === p.RW.SRC ? "s2s" : e.bidderCode;
                                return !(e.alwaysHasCapacity && !c.$W.getConfig("forceMaxRequestsPerOrigin")) && (O[i] && (!1 === O[i].SRA && (r = Math.min(e.bids.length, n)), C[O[i].origin] + r > n && (t = !1)), !t)
                            }), t && e.run(), t
                        }

                        function a(e, t) {
                            void 0 === e[t] ? e[t] = 1 : e[t]++
                        }
                        i(n) || S.push(n)
                    }
                    return (0, E.lc)(() => z.refresh()), f.on(p.qY.SEAT_NON_BID, e => {
                        var t;
                        e.auctionId === W && (t = e.seatnonbid, ee = ee.concat(t))
                    }), {
                        addBidReceived: function(e) {
                            z.add(e)
                        },
                        addBidRejected: function(e) {
                            G = G.concat(e)
                        },
                        addNoBid: function(e) {
                            X = X.concat(e)
                        },
                        callBids: function() {
                            K = "started", Q = Date.now();
                            const e = v.measureTime("requestBids.makeRequests", () => g.Ay.makeBidRequests(A, Q, W, P, w, b, v));
                            v.checkpoint("callBids"), e.length < 1 ? re() : k.call({
                                dispatch: oe,
                                context: this
                            }, e)
                        },
                        addWinningBid: function(e) {
                            Z = Z.concat(e), g.Ay.callBidWonBidder(e.adapterCode || e.bidder, e, t), e.deferBilling || g.Ay.triggerBilling(e)
                        },
                        setBidTargeting: function(e) {
                            g.Ay.callSetTargetingBidder(e.adapterCode || e.bidder, e)
                        },
                        getWinningBids: () => Z,
                        getAuctionStart: () => Q,
                        getAuctionEnd: () => Y,
                        getTimeout: () => P,
                        getAuctionId: () => W,
                        getAuctionStatus: () => K,
                        getAdUnits: () => A,
                        getAdUnitCodes: () => D,
                        getBidRequests: () => V,
                        getBidsReceived: () => z.toArray(),
                        getNoBids: () => X,
                        getNonBids: () => ee,
                        getFPD: () => b,
                        getMetrics: () => v,
                        end: M.promise,
                        requestsDone: L.promise,
                        getProperties: te
                    }
                }
                const U = (0, d.u2)((0, d.A_)("async", function(e, t, n) {
                        ! function(e) {
                            const t = c.$W.getConfig("maxBid");
                            return !t || !e.cpm || t >= Number(e.cpm)
                        }(t) ? n(p.Tf.PRICE_TOO_HIGH): (0, v.io)(A.it, (0, g.sc)(w.tW, t.bidder || t.bidderCode, {
                            bid: t,
                            ortb2: u.n.index.getOrtb2(t),
                            adUnit: u.n.index.getAdUnit(t)
                        })) ? this.dispatch.call(null, e, t) : n(p.Tf.BIDDER_DISALLOWED)
                    }, "addBidResponse")),
                    _ = (0, d.A_)("sync", e => e, "responsesReady"),
                    k = (0, d.A_)("sync", function(e) {
                        this.dispatch.call(this.context, e)
                    }, "addBidderRequests"),
                    N = (0, d.A_)("async", function(e, t, n) {
                        n && n()
                    }, "bidsBackCallback");

                function x(e, t) {
                    ! function(e) {
                        let t;
                        const n = !0 === l.u.get(e.bidderCode, "allowZeroCpmBids") ? e.cpm >= 0 : e.cpm > 0;
                        e.bidderCode && (n || e.dealId) && (t = function(e, t) {
                            let {
                                index: n = u.n.index
                            } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                            if (!t) return {};
                            const r = n.getBidRequest(t);
                            var i = {};
                            const o = $(t.mediaType, e);
                            M(i, o, t, r), e && l.u.getOwn(e, p.iD.ADSERVER_TARGETING) && (M(i, l.u.ownSettingsFor(e), t, r), t.sendStandardTargeting = l.u.get(e, "sendStandardTargeting"));
                            return i
                        }(e.bidderCode, e));
                        e.adserverTargeting = Object.assign(e.adserverTargeting || {}, t)
                    }(t), (0, m.BO)(t.metrics).timeSince("addBidResponse", "addBidResponse.total"), e.addBidReceived(t), f.Ic(p.qY.BID_RESPONSE, t)
                }(0, d.A_)("async", function(e, t, n, r) {
                    0
                }, "callPrebidCache");

                function q(e) {
                    let {
                        index: t = u.n.index
                    } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    const n = t.getBidderRequest(e),
                        i = n && n.start || e.requestTimestamp;
                    Object.assign(e, {
                        responseTimestamp: e.responseTimestamp || (0, r.timestamp)(),
                        requestTimestamp: e.requestTimestamp || i
                    }), e.timeToRespond = e.responseTimestamp - e.requestTimestamp
                }

                function j(e, t, n) {
                    if (e && n) return n[e]
                }
                const W = e => t => {
                    const n = e || function(e) {
                        let {
                            index: t = u.n.index
                        } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                        const n = j(e.mediaType, t.getMediaTypes(e), c.$W.getConfig("mediaTypePriceGranularity"));
                        return "string" == typeof e.mediaType && n ? "string" == typeof n ? n : "custom" : c.$W.getConfig("priceGranularity")
                    }(t);
                    return n === p.UE.AUTO ? t.pbAg : n === p.UE.DENSE ? t.pbDg : n === p.UE.LOW ? t.pbLg : n === p.UE.MEDIUM ? t.pbMg : n === p.UE.HIGH ? t.pbHg : n === p.UE.CUSTOM ? t.pbCg : void 0
                };

                function P(e, t) {
                    return {
                        key: e,
                        val: "function" == typeof t ? function(e, n) {
                            return t(e, n)
                        } : function(e) {
                            return e[t]
                        }
                    }
                }

                function $(e, t) {
                    const n = Object.assign({}, l.u.settingsFor(null));
                    return n[p.iD.ADSERVER_TARGETING] || (n[p.iD.ADSERVER_TARGETING] = [P(p.xS.BIDDER, "bidderCode"), P(p.xS.AD_ID, "adId"), P(p.xS.PRICE_BUCKET, W()), P(p.xS.SIZE, "size"), P(p.xS.DEAL, "dealId"), P(p.xS.SOURCE, "source"), P(p.xS.FORMAT, "mediaType"), P(p.xS.ADOMAIN, e => e.meta && e.meta.advertiserDomains && e.meta.advertiserDomains.length > 0 ? [e.meta.advertiserDomains].flat()[0] : ""), P(p.xS.ACAT, e => {
                        const t = e ? .meta ? .primaryCatId;
                        return Array.isArray(t) ? t[0] || "" : t || ""
                    }), P(p.xS.DSP, e => e.meta && (e.meta.networkId || e.meta.networkName) ? e ? .meta ? .networkName || e ? .meta ? .networkId : ""), P(p.xS.CRID, e => e.creativeId ? e.creativeId : "")]), n
                }

                function M(e, t, n, o) {
                    var s = t[p.iD.ADSERVER_TARGETING];
                    return n.size = n.getSize(), (s || []).forEach(function(s) {
                        var c = s.key,
                            a = s.val;
                        if (e[c], (0, i.fp)(a)) try {
                            a = a(n, o)
                        } catch (e) {}((void 0 === t.suppressEmptyKeys || !0 !== t.suppressEmptyKeys) && c !== p.xS.DEAL && c !== p.xS.ACAT && c !== p.xS.DSP && c !== p.xS.CRID || !(0, r.isEmptyStr)(a) && null != a) && (e[c] = a)
                    }), e
                }

                function F(e, t) {
                    return e[t.adUnitCode] || (e[t.adUnitCode] = {
                        bids: []
                    }), e[t.adUnitCode].bids.push(t), e
                }
            },
            9794(e, t, n) {
                n.d(t, {
                    D4: () => o,
                    G_: () => i,
                    LM: () => s,
                    s6: () => r
                });
                const r = "native",
                    i = "video",
                    o = "banner",
                    s = "adpod"
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [769], {
            183(t, e, n) {
                n.d(e, {
                    M: () => h
                });
                var c = n(3958);

                function h() {
                    const t = (0, c.Ot)();
                    try {
                        const e = t.innerHeight || t.document.documentElement.clientHeight || t.document.body.clientHeight || 0;
                        return {
                            width: t.innerWidth || t.document.documentElement.clientWidth || t.document.body.clientWidth || 0,
                            height: e
                        }
                    } catch (t) {
                        return {}
                    }
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [315], {
            3367(o, t, r) {
                function a(o) {
                    return "1" === o.navigator.doNotTrack || "1" === o.doNotTrack || "1" === o.navigator.msDoNotTrack || "yes" === o.navigator.doNotTrack ? .toLowerCase ? .()
                }

                function n() {
                    let o = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : window;
                    try {
                        return a(o) || o !== o.top && a(o.top)
                    } catch (o) {
                        return !1
                    }
                }
                r.d(t, {
                    l: () => n
                })
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [85], {
            3293(e, n, t) {
                t.d(n, {
                    G: () => r
                });
                const r = '(()=>{"use strict";const e="Prebid Event",n="browserIntervention";window.render=function(t,r,i){let{ad:o,adUrl:s,width:d,height:c,instl:h}=t,{mkFrame:l,sendMessage:a}=r;if(function(){const t=window;if("ReportingObserver"in t)try{new t.ReportingObserver(t=>{var r;r=t[0],a(e,{event:n,intervention:r})},{buffered:!0,types:["intervention"]}).observe()}catch(e){}}(),!o&&!s){const e=new Error("Missing ad markup or URL");throw e.reason="noAd",e}{if(null==c){const e=i.document?.body;[e,e?.parentElement].filter(e=>null!=e?.style).forEach(e=>{e.style.height="100%"})}const e=i.document,n={width:d??"100%",height:c??"100%"};if(s&&!o?n.src=s:n.srcdoc=o,e.body.appendChild(l(e,n)),h&&i.frameElement){const e=i.frameElement.style;e.width=d?`${d}px`:"100vw",e.height=c?`${c}px`:"100vh"}}}})();'
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [444], {
            6614(e, t, n) {
                function r(e) {
                    return e.replace(/(?:^|\.?)([A-Z])/g, function(e, t) {
                        return "_" + t.toLowerCase()
                    }).replace(/^_/, "")
                }
                n.d(t, {
                    DX: () => o,
                    vk: () => r
                });
                const o = [{
                    code: "appnexusAst",
                    gvlid: 32
                }, {
                    code: "pagescience",
                    gvlid: 32
                }, {
                    code: "gourmetads",
                    gvlid: 32
                }, {
                    code: "newdream",
                    gvlid: 32
                }, {
                    code: "matomy",
                    gvlid: 32
                }, {
                    code: "featureforward",
                    gvlid: 32
                }, {
                    code: "oftmedia",
                    gvlid: 32
                }, {
                    code: "adasta",
                    gvlid: 32
                }, {
                    code: "beintoo",
                    gvlid: 618
                }, {
                    code: "projectagora",
                    gvlid: 1032
                }, {
                    code: "stailamedia",
                    gvlid: 32
                }, {
                    code: "uol",
                    gvlid: 32
                }, {
                    code: "adzymic",
                    gvlid: 723
                }]
            },
            8695(e, t, n) {
                n.d(t, {
                    QF: () => p,
                    T_: () => g,
                    gg: () => l
                });
                var r = n(466),
                    o = n(8928),
                    c = n(6665),
                    a = n(3819),
                    i = n(1833);
                const s = {
                        526: "1plusX",
                        527: "1plusX",
                        541: "captify_segments",
                        540: "perid"
                    },
                    d = ["user.data"].concat(i.Dy.map(e => `${e}.content.data`));

                function u(e, t, n) {
                    return null == t ? n : (0, c.O8)(t) ? t : (0, c.Et)(t) ? t.toString() : void 0
                }

                function l(e) {
                    return (0, c.O8)(e) && "" !== e ? f(e.split(/\s*(?:,)\s*/)) : {}
                }

                function f(e) {
                    const t = {};
                    return e.forEach(e => {
                        if (-1 !== e.indexOf("=")) {
                            const n = e.split("="),
                                r = n[0],
                                o = n[1];
                            t.hasOwnProperty(r) ? t[r].push(o) : t[r] = [o]
                        } else t.hasOwnProperty(e) || (t[e] = [])
                    }), t
                }

                function g() {
                    for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                    return function(e) {
                        const t = [];
                        return (0, r._each)(e, (e, n) => {
                            if ((0, c.cy)(e)) {
                                const t = [];
                                (0, r._each)(e, e => {
                                    ((e = u(0, e)) || "" === e) && t.push(e)
                                }), e = t
                            } else {
                                if (e = u(0, e), !(0, c.O8)(e)) return;
                                e = [e]
                            }
                            const o = {
                                key: n
                            };
                            (e = e.filter(e => "" !== e)).length > 0 && (o.value = e), t.push(o)
                        }), t
                    }((0, r.mergeDeep)(...t.map(e => Object.fromEntries(Object.entries(e || {}).map(e => {
                        let [t, n] = e;
                        return [t, (0, c.Et)(n) || (0, c.O8)(n) ? [n] : n]
                    })))))
                }

                function p(e) {
                    for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
                    return g(function(e) {
                        return f((0, a.D)(e))
                    }(e), function(e) {
                        const t = e ? .site ? .ext ? .data ? .["ias-brand-safety"];
                        if (t && "object" == typeof t && Object.keys(t).length > 0) return f(Object.entries(t).map(e => {
                            let [t, n] = e;
                            return `${t}=${n}`
                        }));
                        return {}
                    }(e), function(e) {
                        const t = {};
                        return d.forEach(n => {
                            ((0, o.A)(e, n) || []).forEach(e => {
                                const n = s[e ? .ext ? .segtax];
                                n && e.segment.forEach(e => {
                                    t[n] ? t[n].push(e.id) : t[n] = [e.id]
                                })
                            })
                        }), t
                    }(e), ...n)
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [247], {
            3819(r, a, e) {
                e.d(a, {
                    D: () => o
                });
                var n = e(1833),
                    t = e(8928);
                const s = ["user.keywords"].concat(n.Dy.flatMap(r => ["keywords", "content.keywords"].map(a => `${r}.${a}`)));

                function o(r) {
                    for (var a = arguments.length, e = new Array(a > 1 ? a - 1 : 0), n = 1; n < a; n++) e[n - 1] = arguments[n];
                    return function() {
                        const r = new Set;
                        for (var a = arguments.length, e = new Array(a), n = 0; n < a; n++) e[n] = arguments[n];
                        return e.filter(r => r).flatMap(r => Array.isArray(r) ? r : r.split(",")).map(r => r.replace(/^\s*/, "").replace(/\s*$/, "")).filter(r => r).forEach(a => r.add(a)), Array.from(r.keys())
                    }(...s.map(a => (0, t.A)(r, a)), ...e)
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [126], {
            3610(e, r, n) {
                n.d(r, {
                    $: () => u
                });
                var t = n(6665);

                function u(e, r) {
                    return Object.keys(e).forEach(n => {
                        var u, a;
                        r[n] && ((0, t.fp)(e[n]) ? r[n] = e[n](r[n]) : r[n] = (u = e[n], a = r[n], "string" === u ? a && a.toString() : "number" === u ? Number(a) : a), isNaN(r[n]) && delete r.key)
                    }), r
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [982], {
            8657(h, n, e) {
                function s(h, n) {
                    const e = [];
                    for (let s = 0; s < Math.ceil(h.length / n); s++) {
                        const t = s * n,
                            l = t + n;
                        e.push(h.slice(t, l))
                    }
                    return e
                }
                e.d(n, {
                    i: () => s
                })
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [109], {
            3254(e, t, n) {
                n.d(t, {
                    c5: () => i
                });
                var s = n(3064);
                const r = 0;

                function i(e) {
                    let {
                        apiName: t,
                        apiVersion: n,
                        apiArgs: i = ["command", "callback", "parameter", "version"],
                        callbackArgs: a = ["returnValue", "success"],
                        mode: c = r
                    } = e, l = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : window;
                    const o = {},
                        p = `${t}Call`,
                        u = `${t}Return`;

                    function m(e) {
                        const t = "string" == typeof e.data && e.data.includes(u) ? JSON.parse(e.data) : e.data;
                        if (t ? .[u] ? .callId) {
                            const e = t[u];
                            o.hasOwnProperty(e.callId) && o[e.callId](...a.map(t => e[t]))
                        }
                    }
                    const [d, f] = function() {
                        let e, n = l,
                            s = !1;
                        for (; null != n;) {
                            try {
                                if ("function" == typeof n[t]) {
                                    e = n, s = !0;
                                    break
                                }
                            } catch (e) {}
                            try {
                                if (n.frames[`${t}Locator`]) {
                                    e = n;
                                    break
                                }
                            } catch (e) {}
                            if (n === l.top) break;
                            n = n.parent
                        }
                        return [e, s]
                    }();
                    if (!d) return;

                    function h(e) {
                        return e = Object.assign({
                            version: n
                        }, e), i.map(t => [t, e[t]])
                    }

                    function g(e, t, n, s) {
                        const r = "function" == typeof e;
                        return function(i, a) {
                            if (s && s(), 1 !== c) {
                                (null == a || a ? t : n)(r ? void 0 : i)
                            }
                            r && e.apply(this, arguments)
                        }
                    }
                    let v;
                    return f ? v = function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                        return new s.U9((n, s) => {
                            const i = d[t](...h({ ...e,
                                callback: e.callback || 2 === c ? g(e.callback, n, s) : void 0
                            }).map(e => {
                                let [t, n] = e;
                                return n
                            }));
                            (1 === c || null == e.callback && c === r) && n(i)
                        })
                    } : (l.addEventListener("message", m, !1), v = function(e) {
                        let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                        return new s.U9((n, s) => {
                            const r = Math.random().toString(),
                                i = {
                                    [p]: { ...Object.fromEntries(h(e).filter(e => {
                                            let [t] = e;
                                            return "callback" !== t
                                        })),
                                        callId: r
                                    }
                                };
                            o[r] = g(e ? .callback, n, s, (t || null == e ? .callback) && (() => {
                                delete o[r]
                            })), d.postMessage(i, "*"), 1 === c && n()
                        })
                    }), Object.assign(v, {
                        isDirect: f,
                        close() {
                            !f && l.removeEventListener("message", m)
                        }
                    })
                }
            },
            9708(e, t, n) {
                n.d(t, {
                    Al: () => a
                });
                class s {
                    cmpApi = null;
                    listenerId = void 0;
                    setCmpApi(e) {
                        this.cmpApi = e
                    }
                    getCmpApi() {
                        return this.cmpApi
                    }
                    setCmpListenerId(e) {
                        this.listenerId = e
                    }
                    getCmpListenerId() {
                        return this.listenerId
                    }
                    resetCmpApis() {
                        this.cmpApi = null, this.listenerId = void 0
                    }
                    getRemoveListenerParams() {
                        const e = this.getCmpApi(),
                            t = this.getCmpListenerId();
                        return e && "function" == typeof e && null != t ? {
                            command: "removeEventListener",
                            callback: () => this.resetCmpApis(),
                            parameter: t
                        } : null
                    }
                }
                class r extends s {
                    constructor(e) {
                        super(), this.getConsentData = e || (() => null)
                    }
                    removeCmpEventListener() {
                        const e = this.getRemoveListenerParams();
                        if (e) {
                            const t = this.getConsentData();
                            e.apiVersion = t ? .apiVersion || 2, this.getCmpApi()(e)
                        }
                    }
                }
                class i extends s {
                    removeCmpEventListener() {
                        const e = this.getRemoveListenerParams();
                        e && this.getCmpApi()(e)
                    }
                }

                function a(e, t) {
                    switch (e) {
                        case "tcf":
                            return new r(t);
                        case "gpp":
                            return new i;
                        default:
                            return null
                    }
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [10], {
            3965(t, n, e) {
                e.d(n, {
                    yq: () => s
                });
                var o = e(7841),
                    a = e(6665),
                    u = e(3064),
                    r = e(5291),
                    l = e(2592);

                function s() {
                    let t, n, e, {
                        namespace: s,
                        displayName: c,
                        consentDataHandler: i,
                        parseConsentData: m,
                        getNullConsent: f,
                        cmpHandlers: p,
                        cmpEventCleanup: C,
                        DEFAULT_CMP: D = "iab",
                        DEFAULT_CONSENT_TIMEOUT: d = 1e4
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};

                    function h(t, n) {
                        return t(Object.assign({
                            [`${s}Consent`]: i.getConsentData()
                        }, n))
                    }

                    function T() {
                        return n().then(t => {
                            let {
                                error: n
                            } = t;
                            return {
                                error: n,
                                consentData: i.getConsentData()
                            }
                        })
                    }

                    function g() {
                        null == t && (t = function(t, n) {
                            const e = new WeakSet;
                            return (0, o.Ak)(t, function(t, o) {
                                return n().then(n => {
                                    let {
                                        consentData: a,
                                        error: u
                                    } = n;
                                    !u || a && e.has(u) || e.add(u), t.call(this, o)
                                }).catch(n => {
                                    t.stopTiming(), "function" == typeof o.bidsBackHandler && o.bidsBackHandler()
                                })
                            })
                        }(s, () => n()), (0, l.Yn)("requestBids").before(t, 50), r.U3.before(h))
                    }

                    function b() {
                        null != t && ((0, l.Yn)("requestBids").getHooks({
                            hook: t
                        }).remove(), r.U3.getHooks({
                            hook: h
                        }).remove(), t = null)
                    }
                    return function(o) {
                        const r = o ? .[s];
                        if (!r || "object" != typeof r) return b(), {};
                        if (!1 === r ? .enabled) return function() {
                            if (b(), "function" == typeof C) try {
                                C()
                            } catch (t) {}
                        }(), {};
                        let l, h;
                        l = (0, a.O8)(r.cmpApi) ? r.cmpApi : D, h = (0, a.Et)(r.timeout) ? r.timeout : d;
                        const k = (0, a.Et)(r.actionTimeout) ? r.actionTimeout : null;
                        let H;
                        "static" === l ? (0, a.Qd)(r.consentData) && (e = r.consentData, h = null, H = () => new u.U9(t => t(i.setConsentData(m(e))))) : p.hasOwnProperty(l) ? H = p[l] : (i.setConsentData(null), H = () => u.U9.resolve());
                        const v = () => function(t) {
                            let n, {
                                name: e,
                                consentDataHandler: o,
                                setupCmp: a,
                                cmpTimeout: u,
                                actionTimeout: r,
                                getNullConsent: l
                            } = t;
                            return o.enable(), new Promise((t, s) => {
                                let c, i = !1;

                                function m(a) {
                                    null != n && clearTimeout(n), n = null != a ? setTimeout(() => {
                                        const n = o.getConsentData() ? ? (i ? c : l()),
                                            a = "timeout waiting for " + (i ? "user action on CMP" : "CMP to load");
                                        o.setConsentData(n), t({
                                            consentData: n,
                                            error: new Error(`${e} ${a}`)
                                        })
                                    }, a) : null
                                }
                                a(function(t) {
                                    c = t, i || (i = !0, null != r && m(r))
                                }).then(() => t({
                                    consentData: o.getConsentData()
                                }), s), null != u && m(u)
                            }).finally(() => {
                                n && clearTimeout(n)
                            }).catch(t => {
                                throw o.setConsentData(null), t
                            })
                        }({
                            name: c,
                            consentDataHandler: i,
                            setupCmp: H,
                            cmpTimeout: h,
                            actionTimeout: k,
                            getNullConsent: f
                        });
                        return n = (() => {
                            let t;
                            return function() {
                                return null == t && (t = v().catch(n => {
                                    throw t = null, n
                                })), t
                            }
                        })(), g(), {
                            cmpHandler: l,
                            cmpTimeout: h,
                            actionTimeout: k,
                            staticConsentData: e,
                            loadConsentData: T,
                            requestBidsHook: t
                        }
                    }
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [498], {
            4827(e, t, r) {
                r.d(t, {
                    A: () => u
                });
                const n = new WeakMap;
                var i = r(466),
                    o = r(9794);
                const s = {
                    1: o.D4,
                    2: o.G_,
                    4: o.s6
                };
                var a = r(2517),
                    c = r(1833);
                const d = {
                    [a.S3]: {
                        fpd: {
                            priority: 99,
                            fn(e, t) {
                                (0, i.mergeDeep)(e, t.ortb2)
                            }
                        },
                        onlyOneClient: {
                            priority: -99,
                            fn: (0, c.i8)("ORTB request")
                        },
                        props: {
                            fn(e, t) {
                                Object.assign(e, {
                                    id: e.id || (0, i.generateUUID)(),
                                    test: e.test || 0
                                });
                                const r = parseInt(t.timeout, 10);
                                isNaN(r) || (e.tmax = r)
                            }
                        }
                    },
                    [a.Tb]: {
                        fpd: {
                            priority: 99,
                            fn(e, t) {
                                (0, i.mergeDeep)(e, t.ortb2Imp)
                            }
                        },
                        id: {
                            fn(e, t) {
                                e.id = t.bidId
                            }
                        },
                        banner: {
                            fn: function(e, t, r) {
                                if (r.mediaType && r.mediaType !== o.D4) return;
                                const n = t ? .mediaTypes ? .banner;
                                if (n) {
                                    const r = {
                                        topframe: !0 === (0, i.inIframe)() ? 0 : 1
                                    };
                                    n.sizes && null == t.ortb2Imp ? .banner ? .format && (r.format = (0, i.sizesToSizeTuples)(n.sizes).map(i.sizeTupleToRtbSize)), n.hasOwnProperty("pos") && (r.pos = n.pos), e.banner = (0, i.mergeDeep)(r, e.banner)
                                }
                            }
                        },
                        secure: {
                            fn(e, t) {
                                e.secure = e.secure ? ? 1
                            }
                        }
                    },
                    [a.WR]: {
                        mediaType: {
                            priority: 99,
                            fn: function(e, t, r) {
                                if (e.mediaType) return;
                                const n = r.mediaType;
                                if (!n && !s.hasOwnProperty(t.mtype)) throw new Error("Cannot determine mediaType for response");
                                e.mediaType = n || s[t.mtype]
                            }
                        },
                        banner: {
                            fn: function() {
                                let {
                                    createPixel: e = e => (0, i.createTrackPixelHtml)(decodeURIComponent(e), i.encodeMacroURI)
                                } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                                return function(t, r) {
                                    t.mediaType === o.D4 && (r.adm && r.nurl ? t.ad = e(r.nurl) + r.adm : r.adm ? t.ad = r.adm : r.nurl && (t.adUrl = r.nurl))
                                }
                            }()
                        },
                        props: {
                            fn(e, t, r) {
                                Object.entries({
                                    requestId: r.bidRequest ? .bidId,
                                    seatBidId: t.id,
                                    cpm: t.price,
                                    currency: r.ortbResponse.cur || r.currency,
                                    width: t.w,
                                    height: t.h,
                                    wratio: t.wratio,
                                    hratio: t.hratio,
                                    dealId: t.dealid,
                                    creative_id: t.crid,
                                    creativeId: t.crid,
                                    burl: t.burl,
                                    ttl: t.exp || r.ttl,
                                    netRevenue: r.netRevenue
                                }).filter(e => {
                                    let [t, r] = e;
                                    return void 0 !== r
                                }).forEach(t => {
                                    let [r, n] = t;
                                    e[r] = n
                                }), e.meta || (e.meta = {}), t.adomain && (e.meta.advertiserDomains = t.adomain), t.ext ? .dsa && (e.meta.dsa = t.ext.dsa), t.cat && (e.meta.primaryCatId = t.cat[0], e.meta.secondaryCatIds = t.cat.slice(1)), t.attr && (e.meta.attr = t.attr), t.ext ? .eventtrackers && (e.eventtrackers = (e.eventtrackers ? ? []).concat(t.ext.eventtrackers)), t.cattax && (e.meta.cattax = t.cattax)
                            }
                        }
                    }
                };

                function p() {
                    for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];
                    const n = t.shift(),
                        i = t.length > 1 ? p(...t) : t[0];
                    return Object.fromEntries(a.zt.map(e => [e, Object.assign({}, n[e], i[e])]))
                }

                function u() {
                    let {
                        context: e = {},
                        processors: t = m,
                        overrides: r = {},
                        imp: i,
                        request: o,
                        bidResponse: s,
                        response: c
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    const d = new WeakMap;

                    function p(e, i, o, s) {
                        let a;
                        return function() {
                            null == a && (a = function() {
                                let a = o.bind(this, function(e) {
                                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                                    if (!n.has(e)) {
                                        const t = Object.entries(e);
                                        t.sort((e, t) => (e = e[1].priority || 0) === (t = t[1].priority || 0) ? 0 : e > t ? -1 : 1), n.set(e, t.map(e => {
                                            let [t, r] = e;
                                            return [t, r.fn]
                                        }))
                                    }
                                    const r = n.get(e).filter(e => {
                                        let [r] = e;
                                        return !t.hasOwnProperty(r) || t[r]
                                    }).map(function(e) {
                                        let [r, n] = e;
                                        return t.hasOwnProperty(r) ? t[r].bind(this, n) : n
                                    });
                                    return function() {
                                        const e = Array.from(arguments);
                                        r.forEach(t => {
                                            t.apply(this, e)
                                        })
                                    }
                                }(t()[e] || {}, r[e] || {}));
                                return i && (a = i.bind(this, a)),
                                    function() {
                                        for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];
                                        try {
                                            return a.apply(this, t)
                                        } catch (e) {
                                            s.call(this, e, ...t)
                                        }
                                    }
                            }());
                            for (var c = arguments.length, d = new Array(c), p = 0; p < c; p++) d[p] = arguments[p];
                            return a.apply(this, d)
                        }
                    }
                    const u = p(a.Tb, i, function(e, t, r) {
                            const n = {};
                            return e(n, t, r), n
                        }, function(e, t, r) {}),
                        f = p(a.S3, o, function(e, t, r, n) {
                            const i = {
                                imp: t
                            };
                            return e(i, r, n), i
                        }, function(e, t, r, n) {
                            throw e
                        }),
                        l = p(a.WR, s, function(e, t, r) {
                            const n = {};
                            return e(n, t, r), n
                        }, function(e, t, r) {}),
                        b = p(a.Cf, c, function(e, t, r, n) {
                            const i = {
                                bids: t
                            };
                            return e(i, r, n), i
                        }, function(e, t, r, n) {
                            throw e
                        });
                    return {
                        toORTB(t) {
                            let {
                                bidderRequest: r,
                                bidRequests: n,
                                context: i = {}
                            } = t;
                            n = n || r.bids;
                            const o = {
                                req: Object.assign({
                                    bidRequests: n
                                }, e, i),
                                imp: {}
                            };
                            o.req.impContext = o.imp;
                            const s = n.map(t => {
                                    const n = Object.assign({
                                            bidderRequest: r,
                                            reqContext: o.req
                                        }, e, i),
                                        s = u(t, n);
                                    if (null != s && s.hasOwnProperty("id")) return Object.assign(n, {
                                        bidRequest: t,
                                        imp: s
                                    }), o.imp[s.id] = n, s
                                }).filter(Boolean),
                                a = f(s, r, o.req);
                            return o.req.bidderRequest = r, null != a && d.set(a, o), a
                        },
                        fromORTB(e) {
                            let {
                                request: t,
                                response: r
                            } = e;
                            const n = d.get(t);
                            if (null == n) throw new Error("ortbRequest passed to `fromORTB` must be the same object returned by `toORTB`");

                            function i(e) {
                                let r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                                return Object.assign(e, {
                                    ortbRequest: t
                                }, r)
                            }
                            const o = Object.fromEntries((t.imp || []).map(e => [e.id, e])),
                                s = (r ? .seatbid || []).flatMap(e => (e.bid || []).map(t => {
                                    if (o.hasOwnProperty(t.impid) && n.imp.hasOwnProperty(t.impid)) return l(t, i(n.imp[t.impid], {
                                        imp: o[t.impid],
                                        seatbid: e,
                                        ortbResponse: r
                                    }))
                                })).filter(Boolean);
                            return b(s, r, i(n.req))
                        }
                    }
                }
                const m = (0, i.memoize)(() => p(d, (0, a.yB)(a.qN)))
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [139], {
            149(t, e, h) {
                h.d(e, {
                    p: () => s
                });
                var n = h(6665);

                function s(t) {
                    const e = [];
                    let h = {};
                    if (n.cy(t) && 2 === t.length && !n.cy(t[0])) h.width = parseInt(t[0], 10), h.height = parseInt(t[1], 10), e.push(h);
                    else if ("object" == typeof t)
                        for (let n = 0; n < t.length; n++) {
                            const s = t[n];
                            h = {}, h.width = parseInt(s[0], 10), h.height = parseInt(s[1], 10), e.push(h)
                        }
                    return e
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [486], {
            3575(r, e, n) {
                n.d(e, {
                    A$: () => s,
                    Mf: () => o,
                    wS: () => a
                });
                var u = n(6665);

                function s(r) {
                    return !(!r.params || !r.params.user)
                }

                function a(r, e, n, u) {
                    return e && (u ? r.push({
                        source: n,
                        id: e,
                        rti_partner: u
                    }) : r.push({
                        source: n,
                        id: e
                    })), r
                }

                function o(r) {
                    let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "USD";
                    if (!(0, u.fp)(r.getFloor)) return r.params && r.params.reserve ? r.params.reserve : null;
                    const n = r.getFloor({
                        currency: e,
                        mediaType: "*",
                        size: "*"
                    });
                    return (0, u.Qd)(n) && !isNaN(n.floor) && n.currency === e ? n.floor : null
                }
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [764], {
            8074(o, n, e) {
                function t(o, n) {
                    return function() {
                        const e = document.domain.split("."),
                            t = `_gd${Date.now()}_${n}`;
                        for (let n, i, s = 0; s < e.length; s++) {
                            const u = e.slice(s).join(".");
                            if (o.setCookie(t, "1", void 0, void 0, u), i = o.getCookie(t), o.setCookie(t, "", "Thu, 01 Jan 1970 00:00:01 GMT", void 0, u), "1" !== i) return n;
                            n = u
                        }
                    }
                }
                e.d(n, {
                    w: () => t
                })
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [817], {
            9235(e, n, o) {
                function u(e, n) {
                    if (!e ? .nodes) return null;
                    return `${e.ver},${e.complete}!` + e.nodes.map(e => n.map(n => e[n] ? encodeURIComponent(e[n]).replace(/!/g, "%21") : "").join(",")).join("!")
                }
                o.d(n, {
                    v: () => u
                })
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [147], {
            2808(e, r, n) {
                function u(e) {
                    return e ? .ortb2 ? .ext ? .prebid ? .adServerCurrency
                }
                n.d(r, {
                    b: () => u
                })
            }
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [276], {
            9211(e, t, i) {
                var n = i(1748),
                    a = i(3556),
                    r = i(9794),
                    d = i(2201),
                    s = i(8928),
                    o = i(6665),
                    c = i(3958),
                    p = i(1933),
                    m = i(1443);
                const u = "advergic",
                    l = "https://pbs.avads.live/id/setuid?bidder=advergic",
                    g = (0, m.vM)({
                        bidderCode: u
                    });

                function h() {
                    const e = navigator.userAgent;
                    return /(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(e) ? 5 : /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(e) ? 1 : 2
                }
                const y = {
                    code: u,
                    gvlid: void 0,
                    supportedMediaTypes: [r.D4, r.G_, r.s6],
                    isBidRequestValid: function(e) {
                        if (!e.params) return !1;
                        if (!e.params.accountId) return !1;
                        if ("string" != typeof e.params.accountId) return !1;
                        if (e.mediaTypes && e.mediaTypes.video) {
                            const t = e.mediaTypes.video;
                            if (!t.mimes || !(0, o.cy)(t.mimes) || 0 === t.mimes.length) return !1
                        }
                        return !0
                    },
                    buildRequests: function(e, t) {
                        const i = function() {
                                const e = {
                                    title: document.title || "",
                                    description: "",
                                    keywords: "",
                                    ogTags: {},
                                    canonical: "",
                                    language: document.documentElement.lang || navigator.language || ""
                                };
                                try {
                                    const t = document.getElementsByTagName("meta");
                                    for (let i = 0; i < t.length; i++) {
                                        const n = t[i],
                                            a = n.getAttribute("name") || n.getAttribute("property"),
                                            r = n.getAttribute("content");
                                        a && r && ("description" === a && (e.description = r), "keywords" === a && (e.keywords = r), a.startsWith("og:") && (e.ogTags[a] = r))
                                    }
                                    const i = document.querySelector('link[rel="canonical"]');
                                    i && (e.canonical = i.getAttribute("href") || "")
                                } catch (e) {}
                                return e
                            }(),
                            n = function() {
                                const e = (0, c.Ot)();
                                return {
                                    ua: navigator.userAgent,
                                    language: navigator.language,
                                    deviceType: h(),
                                    screen: {
                                        width: screen.width,
                                        height: screen.height
                                    },
                                    viewport: {
                                        width: e.innerWidth || document.documentElement.clientWidth,
                                        height: e.innerHeight || document.documentElement.clientHeight
                                    },
                                    pixelRatio: window.devicePixelRatio || 1,
                                    connectionType: (0, s.A)(navigator, "connection.effectiveType")
                                }
                            }(),
                            a = function(e) {
                                const t = e.ortb2 || {};
                                return {
                                    site: t.site || {},
                                    user: t.user || {},
                                    device: t.device || {}
                                }
                            }(t),
                            r = e.map((e, t) => {
                                const i = {
                                    id: e.bidId,
                                    tagid: e.params.endpointId || e.adUnitCode,
                                    secure: "https:" === window.location.protocol ? 1 : 0,
                                    ext: {
                                        accountId: e.params.accountId,
                                        advergic: {
                                            adUnitCode: e.adUnitCode,
                                            transactionId: e.transactionId,
                                            ...e.params.publisherId && {
                                                publisherId: e.params.publisherId
                                            },
                                            ...e.params.custom && {
                                                custom: e.params.custom
                                            }
                                        }
                                    }
                                };
                                if ((0, o.fp)(e.getFloor)) {
                                    const t = e.getFloor({
                                        currency: "USD",
                                        mediaType: "*",
                                        size: "*"
                                    });
                                    t && t.floor && !isNaN(t.floor) && (i.bidfloor = t.floor, i.bidfloorcur = t.currency || "USD")
                                }
                                if (e.mediaTypes && e.mediaTypes.banner) {
                                    const t = e.mediaTypes.banner,
                                        n = (t.sizes || e.sizes || []).map(e => ({
                                            w: e[0],
                                            h: e[1]
                                        }));
                                    i.banner = {
                                        format: n,
                                        pos: e.params.position || 0,
                                        ...t.pos && {
                                            pos: t.pos
                                        }
                                    }, n.length > 0 && (i.banner.w = n[0].w, i.banner.h = n[0].h)
                                }
                                if (e.mediaTypes && e.mediaTypes.video) {
                                    const t = e.mediaTypes.video;
                                    i.video = {
                                        mimes: t.mimes,
                                        minduration: t.minduration,
                                        maxduration: t.maxduration,
                                        protocols: t.protocols,
                                        w: t.playerSize ? .[0] ? .[0] || t.w,
                                        h: t.playerSize ? .[0] ? .[1] || t.h,
                                        startdelay: t.startdelay,
                                        placement: t.placement,
                                        linearity: t.linearity,
                                        skip: t.skip,
                                        skipmin: t.skipmin,
                                        skipafter: t.skipafter,
                                        sequence: t.sequence,
                                        battr: t.battr,
                                        maxextended: t.maxextended,
                                        minbitrate: t.minbitrate,
                                        maxbitrate: t.maxbitrate,
                                        boxingallowed: t.boxingallowed,
                                        playbackmethod: t.playbackmethod,
                                        playbackend: t.playbackend,
                                        delivery: t.delivery,
                                        pos: t.pos || e.params.position || 0,
                                        api: t.api
                                    }
                                }
                                if (e.mediaTypes && e.mediaTypes.native) {
                                    const t = e.mediaTypes.native;
                                    i.native = {
                                        request: JSON.stringify({
                                            ver: "1.2",
                                            assets: x(t)
                                        })
                                    }
                                }
                                return i
                            }),
                            d = {
                                id: t.bidderRequestId || t.auctionId,
                                at: 1,
                                tmax: t.timeout,
                                cur: ["USD"],
                                site: { ...a.site,
                                    domain: window.location.hostname,
                                    page: t.refererInfo ? .page || window.location.href,
                                    ref: t.refererInfo ? .ref || document.referrer,
                                    publisher: { ...a.site ? .publisher,
                                        id : e[0] ? .params ? .publisherId || ""
                                    },
                                    ext: { ...a.site ? .ext,
                                        metadata : i
                                    }
                                },
                                device: { ...n,
                                    dnt: "1" === navigator.doNotTrack ? 1 : 0,
                                    ...a.device
                                },
                                user: {
                                    id: b(),
                                    ...a.user
                                },
                                imp: r,
                                source: {
                                    fd: 1,
                                    tid: t.ortb2 ? .source ? .tid,
                                    ext: {
                                        stype: "prebid_unconfigured",
                                        bidder: u,
                                        prebid_version: "10.29.0"
                                    }
                                },
                                regs: {
                                    coppa: !0 === p.$W.getConfig("coppa") ? 1 : 0,
                                    ext: {}
                                },
                                ext: {
                                    advergic: {
                                        adapter_version: "1.0.0",
                                        integration_type: "prebid"
                                    }
                                }
                            };
                        t.gdprConsent && (d.regs.ext.gdpr = t.gdprConsent.gdprApplies ? 1 : 0, t.gdprConsent.consentString && (d.user.ext = d.user.ext || {}, d.user.ext.consent = t.gdprConsent.consentString), t.gdprConsent.addtlConsent && (d.user.ext = d.user.ext || {}, d.user.ext.ConsentedProvidersSettings = {
                            consented_providers: t.gdprConsent.addtlConsent
                        })), t.uspConsent && (d.regs.ext.us_privacy = t.uspConsent), t.gppConsent && (d.regs.ext.gpp = t.gppConsent.gppString, d.regs.ext.gpp_sid = t.gppConsent.applicableSections);
                        const m = (0, s.A)(e[0], "schain");
                        m && (d.source.ext.schain = m);
                        const l = (0, s.A)(e[0], "userIdAsEids");
                        return l && l.length && (d.user.ext = d.user.ext || {}, d.user.ext.eids = l), {
                            method: "POST",
                            url: "https://pbs.avads.live/rtb/bid",
                            data: d,
                            options: {
                                contentType: "application/json",
                                withCredentials: !0
                            }
                        }
                    },
                    interpretResponse: function(e, t) {
                        const i = [];
                        if (!e || !e.body) return i;
                        const n = e.body;
                        return n.seatbid && (0, o.cy)(n.seatbid) ? (n.seatbid.forEach(e => {
                            e.bid && (0, o.cy)(e.bid) && e.bid.forEach(t => {
                                if (!t.impid || !t.price || t.price <= 0) return;
                                const a = {
                                    requestId: t.impid,
                                    cpm: t.price,
                                    currency: n.cur || "USD",
                                    width: t.w,
                                    height: t.h,
                                    creativeId: t.crid || t.id,
                                    bidId: t.id,
                                    campaignId: t.cid,
                                    impId: t.impid,
                                    dealId: t.dealid || void 0,
                                    ttl: 300,
                                    netRevenue: !0,
                                    meta: {
                                        advertiserDomains: t.adomain || [],
                                        networkName: e.seat,
                                        mediaType: r.D4
                                    }
                                };
                                if (t.ext && t.ext.dsa && (a.meta.dsa = t.ext.dsa), t.nurl && !t.adm || t.adm && -1 !== t.adm.indexOf("<?xml")) a.mediaType = r.G_, a.vastUrl = t.nurl, a.vastXml = t.adm, a.meta.mediaType = r.G_, t.ext && t.ext.prebid && t.ext.prebid.cache && (a.videoCacheKey = t.ext.prebid.cache.key, a.vastUrl = t.ext.prebid.cache.url);
                                else if (t.adm && "string" == typeof t.adm && 0 === t.adm.indexOf("{")) try {
                                    const e = JSON.parse(t.adm);
                                    e.native && (a.mediaType = r.s6, a.native = function(e) {
                                        const t = {
                                            clickUrl: e.link ? .url,
                                            clickTrackers: e.link ? .clicktrackers || [],
                                            impressionTrackers: e.imptrackers || [],
                                            jstracker: e.jstracker || []
                                        };
                                        e.assets && (0, o.cy)(e.assets) && e.assets.forEach(e => {
                                            if (e.title) t.title = e.title.text;
                                            else if (e.img) 3 === e.img.type ? t.image = {
                                                url: e.img.url,
                                                width: e.img.w,
                                                height: e.img.h
                                            } : 1 === e.img.type && (t.icon = {
                                                url: e.img.url,
                                                width: e.img.w,
                                                height: e.img.h
                                            });
                                            else if (e.data) switch (e.data.type) {
                                                case 1:
                                                    t.sponsoredBy = e.data.value;
                                                    break;
                                                case 2:
                                                    t.body = e.data.value;
                                                    break;
                                                case 12:
                                                    t.cta = e.data.value
                                            }
                                        });
                                        return t
                                    }(e.native), a.meta.mediaType = r.s6)
                                } catch (e) {} else t.adm && (a.ad = t.adm, a.mediaType = r.D4, t.cat && t.cat.length > 0 && (a.meta.primaryCatId = t.cat[0], a.meta.secondaryCatIds = t.cat.slice(1)));
                                t.burl && (a.burl = t.burl), t.ext && t.ext.advertiser_name && (a.meta.advertiserName = t.ext.advertiser_name), t.ext && t.ext.brand && (a.meta.brandName = t.ext.brand), a.originalBid = t, i.push(a)
                            })
                        }), i) : i
                    },
                    getUserSyncs: function(e, t, i, n, a) {
                        const r = [],
                            d = [];
                        i && (d.push("gdpr=" + (i.gdprApplies ? 1 : 0)), i.consentString && d.push(`gdpr_consent=${encodeURIComponent(i.consentString)}`)), n && d.push(`us_privacy=${encodeURIComponent(n)}`), a && (d.push(`gpp=${encodeURIComponent(a.gppString)}`), d.push(`gpp_sid=${encodeURIComponent(a.applicableSections?.join(",")||"")}`));
                        const s = d.length > 0 ? "&" + d.join("&") : "";
                        return t && t.length > 0 && t.forEach(t => {
                            if (t.body && t.body.ext && t.body.ext.sync) {
                                const i = t.body.ext.sync;
                                e.iframeEnabled && i.iframe && (0, o.cy)(i.iframe) && i.iframe.forEach(e => {
                                    r.push({
                                        type: "iframe",
                                        url: e + s
                                    })
                                }), e.pixelEnabled && i.image && (0, o.cy)(i.image) && i.image.forEach(e => {
                                    r.push({
                                        type: "image",
                                        url: e + s
                                    })
                                })
                            }
                        }), 0 === r.length && (e.iframeEnabled ? r.push({
                            type: "iframe",
                            url: l + s + "&f=i"
                        }) : e.pixelEnabled && r.push({
                            type: "image",
                            url: l + s + "&f=b"
                        })), r
                    },
                    onBidWon: function(e) {
                        if (e.burl) {
                            const t = function(e, t) {
                                return e.replace(/\${AUCTION_PRICE}/g, t.cpm).replace(/\${AUCTION_CURRENCY}/g, t.currency || "USD").replace(/\${AUCTION_ID}/g, t.auctionId).replace(/\${AUCTION_BID_ID}/g, t.requestId).replace(/\${AUCTION_IMP_ID}/g, t.adId).replace(/\${AUCTION_AD_ID}/g, t.creativeId)
                            }(e.burl, e);
                            ! function(e) {
                                if (!e) return;
                                (new Image).src = e
                            }(t)
                        }
                        const t = {
                            requestId: e.requestId,
                            auctionId: e.auctionId,
                            adId: e.adId,
                            bidId: e.bidId,
                            impId: e.impId,
                            campaignId: e.campaignId,
                            cpm: e.cpm,
                            currency: e.currency,
                            creativeId: e.creativeId,
                            adUnitCode: e.adUnitCode,
                            mediaType: e.mediaType,
                            size: `${e.width}x${e.height}`,
                            timeToRespond: e.timeToRespond,
                            timestamp: Date.now()
                        };
                        (0, d.RD)("https://pbs.avads.live/rtb/win", null, JSON.stringify(t), {
                            method: "POST",
                            contentType: "application/json",
                            withCredentials: !0
                        })
                    },
                    onBidLost: function(e) {
                        const t = {
                            requestId: e.requestId,
                            auctionId: e.auctionId,
                            adId: e.adId,
                            bidId: e.bidId,
                            impId: e.impId,
                            campaignId: e.campaignId,
                            cpm: e.cpm,
                            currency: e.currency,
                            creativeId: e.creativeId,
                            adUnitCode: e.adUnitCode,
                            mediaType: e.mediaType,
                            size: `${e.width}x${e.height}`,
                            timeToRespond: e.timeToRespond,
                            timestamp: Date.now()
                        };
                        (0, d.RD)("https://pbs.avads.live/rtb/loss", null, JSON.stringify(t), {
                            method: "POST",
                            contentType: "application/json",
                            withCredentials: !0
                        })
                    },
                    onTimeout: function(e) {
                        if (!e || 0 === e.length) return;
                        const t = e.map(e => ({
                            bidId: e.bidId,
                            auctionId: e.auctionId,
                            adUnitCode: e.adUnitCode,
                            timeout: e.timeout,
                            params: e.params
                        }));
                        (0, d.RD)("https://pbs.avads.live/rtb/timeout", null, JSON.stringify(t), {
                            method: "POST",
                            contentType: "application/json",
                            withCredentials: !0
                        })
                    },
                    onBidderError: function(e, t) {
                        const i = {
                            error: e ? .message || "Unknown error",
                            auctionId: t ? .auctionId,
                            bidderRequestId: t ? .bidderRequestId,
                            timestamp: Date.now()
                        };
                        (0, d.RD)("https://pbs.avads.live/rtb/error", null, JSON.stringify(i), {
                            method: "POST",
                            contentType: "application/json",
                            withCredentials: !0
                        })
                    },
                    onSetTargeting: function(e) {}
                };

                function b() {
                    const e = "advergic_uid";
                    try {
                        let t = g.getDataFromLocalStorage(e);
                        return t || (t = f(), g.setDataInLocalStorage(e, t)), t
                    } catch (e) {
                        return f()
                    }
                }

                function f() {
                    return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
                        const t = 16 * Math.random() | 0;
                        return ("x" === e ? t : 3 & t | 8).toString(16)
                    })
                }

                function x(e) {
                    const t = [];
                    let i = 0;
                    return e.title && t.push({
                        id: i++,
                        required: e.title.required ? 1 : 0,
                        title: {
                            len: e.title.len || 80
                        }
                    }), e.body && t.push({
                        id: i++,
                        required: e.body.required ? 1 : 0,
                        data: {
                            type: 2,
                            len: e.body.len || 200
                        }
                    }), e.sponsoredBy && t.push({
                        id: i++,
                        required: e.sponsoredBy.required ? 1 : 0,
                        data: {
                            type: 1,
                            len: e.sponsoredBy.len || 50
                        }
                    }), e.image && t.push({
                        id: i++,
                        required: e.image.required ? 1 : 0,
                        img: {
                            type: 3,
                            w: e.image.sizes ? .[0] ? .[0] || e.image.w,
                            h: e.image.sizes ? .[0] ? .[1] || e.image.h,
                            wmin: e.image.wmin,
                            hmin: e.image.hmin
                        }
                    }), e.icon && t.push({
                        id: i++,
                        required: e.icon.required ? 1 : 0,
                        img: {
                            type: 1,
                            w: e.icon.sizes ? .[0] ? .[0] || e.icon.w,
                            h: e.icon.sizes ? .[0] ? .[1] || e.icon.h,
                            wmin: e.icon.wmin,
                            hmin: e.icon.hmin
                        }
                    }), e.cta && t.push({
                        id: i++,
                        required: e.cta.required ? 1 : 0,
                        data: {
                            type: 12,
                            len: e.cta.len || 20
                        }
                    }), t
                }(0, a.a$)(y), (0, n.E)("advergicBidAdapter")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85], () => {
                return t = 9211, e(e.s = t);
                var t
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [599], {
            158(e, r, s) {
                var t = s(1748),
                    a = s(466),
                    n = s(8928),
                    i = s(6665),
                    p = s(1933),
                    d = s(3556),
                    o = s(9794),
                    c = s(1443),
                    m = s(7156),
                    u = s(3448),
                    l = s(356),
                    b = s(8695),
                    _ = s(6614),
                    g = s(3610),
                    f = s(8657);
                const h = "appnexus",
                    y = "https://ib.adnxs.com/ut/v3/prebid",
                    v = "https://ib.adnxs-simple.com/ut/v3/prebid",
                    C = ["age", "externalUid", "external_uid", "segments", "gender", "dnt", "language"],
                    k = ["geo", "device_id"],
                    I = ["enabled", "dongle", "member_id", "debug_timeout"],
                    x = {
                        apn_debug_dongle: "dongle",
                        apn_debug_member_id: "member_id",
                        apn_debug_timeout: "debug_timeout"
                    },
                    O = (0, c.vM)({
                        bidderCode: h
                    }),
                    w = new Map([
                        [1, "Mobile/Tablet - General"],
                        [2, "Personal Computer"],
                        [3, "Connected TV"],
                        [4, "Phone"],
                        [5, "Tablet"],
                        [6, "Connected Device"],
                        [7, "Set Top Box"],
                        [8, "OOH Device"]
                    ]),
                    E = {
                        code: h,
                        gvlid: 32,
                        aliases: _.DX,
                        supportedMediaTypes: [o.D4, o.G_, o.s6],
                        isBidRequestValid: function(e) {
                            return !!(e.params.placementId || e.params.placement_id || e.params.member && (e.params.invCode || e.params.inv_code))
                        },
                        buildRequests: function(e, r) {
                            const s = (e = (0, l.Xj)(e)).map(T),
                                t = (e || []).find(D);
                            let n = {};
                            !0 === p.$W.getConfig("coppa") && (n = {
                                coppa: !0
                            }), t && Object.keys(t.params.user).filter(e => C.includes(e)).forEach(e => {
                                const r = (0, _.vk)(e);
                                if ("segments" === e && (0, i.cy)(t.params.user[e])) {
                                    const s = [];
                                    t.params.user[e].forEach(e => {
                                        (0, i.Et)(e) ? s.push({
                                            id: e
                                        }): (0, i.Qd)(e) && s.push(e)
                                    }), n[r] = s
                                } else "segments" !== e && (n[r] = t.params.user[e])
                            });
                            const d = (e || []).find(S);
                            let o;
                            d && d.params && d.params.app && (o = {}, Object.keys(d.params.app).filter(e => k.includes(e)).forEach(e => {
                                o[e] = d.params.app[e]
                            }));
                            const c = (e || []).find(A);
                            let m;
                            c && c.params && d.params.app && d.params.app.id && (m = {
                                appid: c.params.app.id
                            });
                            let h = {};
                            const E = {},
                                j = O.getCookie("apn_prebid_debug") || null;
                            if (j) try {
                                h = JSON.parse(j)
                            } catch (e) {} else {
                                Object.keys(x).forEach(e => {
                                    const r = (0, a.getParameterByName)(e);
                                    (0, i.O8)(r) && "" !== r && (h[x[e]] = r, h.enabled = !0)
                                }), h = (0, g.$)({
                                    member_id: "number",
                                    debug_timeout: "number"
                                }, h);
                                const r = (e || []).find(R);
                                r && r.debug && (h = r.debug)
                            }
                            h && h.enabled && Object.keys(h).filter(e => I.includes(e)).forEach(e => {
                                E[e] = h[e]
                            });
                            const q = (e || []).find(U),
                                z = q ? parseInt(q.params.member, 10) : 0,
                                N = e[0] ? .ortb2 ? .source ? .ext ? .schain,
                                P = (e || []).find($),
                                B = {
                                    tags: [...s],
                                    user: n,
                                    sdk: {
                                        source: "pbjs",
                                        version: "10.29.0"
                                    },
                                    schain: N
                                };
                            P && (B.iab_support = {
                                omidpn: "Appnexus",
                                omidpv: "10.29.0"
                            }), z > 0 && (B.member_id = z), d && (B.device = o), c && (B.app = m), r ? .ortb2 ? .device && (B.device = B.device || {}, (0, a.mergeDeep)(B.device, function(e) {
                                const r = {
                                    useragent: e.ua,
                                    devicetype: w.get(e.devicetype),
                                    make: e.make,
                                    model: e.model,
                                    os: e.os,
                                    os_version: e.osv,
                                    w: e.w,
                                    h: e.h,
                                    ppi: e.ppi,
                                    pxratio: e.pxratio
                                };
                                return Object.keys(r).reduce((e, s) => (r[s] && (e[s] = r[s]), e), {})
                            }(r.ortb2.device)));
                            const G = (0, i.Go)(r && r.ortb2),
                                M = (0, i.Go)(p.$W.getConfig("appnexusAuctionKeywords")) || {},
                                W = (0, b.QF)(G, M);
                            if (W.length > 0 && (B.keywords = W), G ? .source ? .tid && (B.source ? Object.assign({}, B.source, {
                                    tid: G.source.tid
                                }) : B.source = {
                                    tid: G.source.tid
                                }), p.$W.getConfig("adpod.brandCategoryExclusion") && (B.brand_category_uniqueness = !0), E.enabled && (B.debug = E), r && r.gdprConsent && (B.gdpr_consent = {
                                    consent_string: r.gdprConsent.consentString,
                                    consent_required: r.gdprConsent.gdprApplies
                                }, r.gdprConsent.addtlConsent && -1 !== r.gdprConsent.addtlConsent.indexOf("~"))) {
                                const e = r.gdprConsent.addtlConsent,
                                    s = e.substring(e.indexOf("~") + 1);
                                B.gdpr_consent.addtl_consent = s.split(".").map(e => parseInt(e, 10))
                            }
                            if (r && r.uspConsent && (B.us_privacy = r.uspConsent), r ? .gppConsent ? B.privacy = {
                                    gpp: r.gppConsent.gppString,
                                    gpp_sid: r.gppConsent.applicableSections
                                } : r ? .ortb2 ? .regs ? .gpp && (B.privacy = {
                                    gpp: r.ortb2.regs.gpp,
                                    gpp_sid: r.ortb2.regs.gpp_sid
                                }), r && r.refererInfo) {
                                const e = {
                                        rd_ref: encodeURIComponent(r.refererInfo.topmostLocation),
                                        rd_top: r.refererInfo.reachedTop,
                                        rd_ifs: r.refererInfo.numIframes,
                                        rd_stk: r.refererInfo.stack.map(e => encodeURIComponent(e)).join(",")
                                    },
                                    s = r.refererInfo.canonicalUrl;
                                (0, i.O8)(s) && "" !== s && (e.rd_can = s), B.referrer_detection = e
                            }
                            if (e[0].userIdAsEids ? .length > 0) {
                                const r = [];
                                e[0].userIdAsEids.forEach(e => {
                                    !e || !e.uids || e.uids.length < 1 || e.uids.forEach(s => {
                                        const t = {
                                            source: e.source,
                                            id: s.id
                                        };
                                        "adserver.org" === e.source ? t.rti_partner = "TDID" : "uidapi.com" === e.source && (t.rti_partner = "UID2"), r.push(t)
                                    })
                                }), r.length && (B.eids = r)
                            }
                            if (r ? .ortb2 ? .regs ? .ext ? .dsa) {
                                const e = r.ortb2.regs.ext.dsa,
                                    s = {};
                                if (["dsarequired", "pubrender", "datatopub"].forEach(r => {
                                        (0, i.Et)(e[r]) && (s[r] = e[r])
                                    }), (0, i.cy)(e.transparency) && e.transparency.every(e => (0, i.Qd)(e))) {
                                    const r = [];
                                    e.transparency.forEach(e => {
                                        (0, i.O8)(e.domain) && "" !== e.domain && (0, i.cy)(e.dsaparams) && e.dsaparams.every(e => (0, i.Et)(e)) && r.push(e)
                                    }), r.length > 0 && (s.transparency = r)
                                }(0, a.isEmpty)(s) || (B.dsa = s)
                            }
                            s[0].publisher_id && (B.publisher_id = s[0].publisher_id);
                            const Q = function(e, r) {
                                let s = [];
                                const t = {
                                    withCredentials: !0
                                };
                                let n = y;
                                (0, u.C)(r ? .gdprConsent) || (n = v);
                                "TRUE" !== (0, a.getParameterByName)("apn_test").toUpperCase() && !0 !== p.$W.getConfig("apn_test") || (t.customHeaders = {
                                    "X-Is-Test": 1
                                });
                                if (e.tags.length > 15) {
                                    const a = (0, i.Go)(e);
                                    (0, f.i)(e.tags, 15).forEach(e => {
                                        a.tags = e;
                                        const i = JSON.stringify(a);
                                        s.push({
                                            method: "POST",
                                            url: n,
                                            data: i,
                                            bidderRequest: r,
                                            options: t
                                        })
                                    })
                                } else {
                                    const a = JSON.stringify(e);
                                    s = {
                                        method: "POST",
                                        url: n,
                                        data: a,
                                        bidderRequest: r,
                                        options: t
                                    }
                                }
                                return s
                            }(B, r);
                            return Q
                        },
                        interpretResponse: function(e, r) {
                            let {
                                bidderRequest: s
                            } = r;
                            e = e.body;
                            const t = [];
                            if (!e || e.error) {
                                let r = `in response for ${s.bidderCode} adapter`;
                                return e && e.error && (r += `: ${e.error}`), t
                            }
                            if (e.tags && e.tags.forEach(e => {
                                    const r = (n = e) && n.ads && n.ads.length && (n.ads || []).find(e => e.rtb);
                                    var n;
                                    if (r) {
                                        if ((!0 === m.u.get(s.bidderCode, "allowZeroCpmBids") ? r.cpm >= 0 : r.cpm > 0) && this.supportedMediaTypes.includes(r.ad_type)) {
                                            const n = function(e, r, s) {
                                                const t = (0, a.getBidRequest)(e.uuid, [s]),
                                                    n = {
                                                        adId: (0, a.getUniqueIdentifierStr)(),
                                                        requestId: e.uuid,
                                                        cpm: r.cpm,
                                                        creativeId: r.creative_id,
                                                        dealId: r.deal_id,
                                                        currency: "USD",
                                                        netRevenue: !0,
                                                        ttl: 300,
                                                        adUnitCode: t.adUnitCode,
                                                        appnexus: {
                                                            buyerMemberId: r.buyer_member_id,
                                                            dealPriority: r.deal_priority,
                                                            dealCode: r.deal_code
                                                        }
                                                    };
                                                r.adomain && (n.meta = Object.assign({}, n.meta, {
                                                    advertiserDomains: [r.adomain]
                                                }));
                                                r.advertiser_id && (n.meta = Object.assign({}, n.meta, {
                                                    advertiserId: r.advertiser_id
                                                }));
                                                r.dsa && (n.meta = Object.assign({}, n.meta, {
                                                    dsa: r.dsa
                                                }));

                                                function i(e) {
                                                    return {
                                                        ver: "1.0",
                                                        complete: 0,
                                                        nodes: [{
                                                            bsid: e.buyer_member_id.toString()
                                                        }]
                                                    }
                                                }
                                                r.buyer_member_id && (n.meta = Object.assign({}, n.meta, {
                                                    dchain: i(r)
                                                }));
                                                r.brand_id && (n.meta = Object.assign({}, n.meta, {
                                                    brandId: r.brand_id
                                                }));
                                                Object.assign(n, {
                                                    width: r.rtb.banner.width,
                                                    height: r.rtb.banner.height,
                                                    ad: r.rtb.banner.content
                                                });
                                                try {
                                                    if (r.rtb.trackers)
                                                        for (let e = 0; e < r.rtb.trackers[0].impression_urls.length; e++) {
                                                            const s = r.rtb.trackers[0].impression_urls[e],
                                                                t = (0, a.createTrackPixelHtml)(s);
                                                            n.ad += t
                                                        }
                                                } catch (e) {}
                                                return n
                                            }(e, r, s);
                                            n.mediaType = function(e) {
                                                const r = e.ad_type;
                                                return r === o.G_ ? o.G_ : r === o.s6 ? o.s6 : o.D4
                                            }(r), t.push(n)
                                        }
                                    }
                                }), e.debug && e.debug.debug_info) {
                                let r = "AppNexus Debug Auction for Prebid\n\n" + e.debug.debug_info;
                                r = r.replace(/(<td>|<th>)/gm, "\t").replace(/(<\/td>|<\/th>)/gm, "\n").replace(/^<br>/gm, "").replace(/(<br>\n|<br>)/gm, "\n").replace(/<h1>(.*)<\/h1>/gm, "\n\n===== $1 =====\n\n").replace(/<h[2-6]>(.*)<\/h[2-6]>/gm, "\n\n*** $1 ***\n\n").replace(/(<([^>]+)>)/gim, "")
                            }
                            return t
                        },
                        getUserSyncs: function(e, r, s, t, a) {
                            if (e.iframeEnabled && (0, u.C)(s)) return [{
                                type: "iframe",
                                url: "https://acdn.adnxs.com/dmp/async_usersync.html"
                            }];
                            if (e.pixelEnabled) {
                                return ["https://px.ads.linkedin.com/setuid?partner=appNexus"].map(e => ({
                                    type: "image",
                                    url: e
                                }))
                            }
                        }
                    };

                function T(e) {
                    const r = {};
                    Object.keys(e.params).forEach(r => {
                        const s = (0, _.vk)(r);
                        s !== r && (e.params[s] = e.params[r], delete e.params[r])
                    }), r.sizes = j(e.sizes), r.primary_size = r.sizes[0], r.ad_types = [], r.uuid = e.bidId, e.params.placement_id ? r.id = parseInt(e.params.placement_id, 10) : r.code = e.params.inv_code;
                    const s = (0, a.getParameterByName)("ast_override_div");
                    if ((0, i.O8)(s) && "" !== s) {
                        const t = decodeURIComponent(s).split(",").find(r => r.startsWith(`${e.adUnitCode}:`));
                        if (t) {
                            const e = t.split(":")[1];
                            e && (r.force_creative_id = parseInt(e, 10))
                        }
                    }
                    r.allow_smaller_sizes = e.params.allow_smaller_sizes || !1, r.use_pmt_rule = "boolean" == typeof e.params.use_payment_rule ? e.params.use_payment_rule : "boolean" == typeof e.params.use_pmt_rule && e.params.use_pmt_rule, r.prebid = !0, r.disable_psa = !0;
                    const t = function(e) {
                        if (!(0, i.fp)(e.getFloor)) return e.params.reserve ? e.params.reserve : null;
                        const r = e.getFloor({
                            currency: "USD",
                            mediaType: "*",
                            size: "*"
                        });
                        if ((0, i.Qd)(r) && !isNaN(r.floor) && "USD" === r.currency) return r.floor;
                        return null
                    }(e);
                    if (t && (r.reserve = t), e.params.position) r.position = {
                        above: 1,
                        below: 2
                    }[e.params.position] || 0;
                    else {
                        const s = (0, n.A)(e, "mediaTypes.banner.pos") || (0, n.A)(e, "mediaTypes.video.pos");
                        0 !== s && 1 !== s && 3 !== s || (r.position = 3 === s ? 2 : s)
                    }
                    e.params.traffic_source_code && (r.traffic_source_code = e.params.traffic_source_code), e.params.private_sizes && (r.private_sizes = j(e.params.private_sizes)), e.params.supply_type && (r.supply_type = e.params.supply_type), e.params.pub_click && (r.pubclick = e.params.pub_click), e.params.ext_inv_code && (r.ext_inv_code = e.params.ext_inv_code), e.params.publisher_id && (r.publisher_id = parseInt(e.params.publisher_id, 10)), e.params.external_imp_id && (r.external_imp_id = e.params.external_imp_id);
                    const p = (0, b.T_)((0, b.gg)((0, n.A)(e, "ortb2Imp.ext.data.keywords")), e.params ? .keywords);
                    p.length > 0 && (r.keywords = p);
                    const d = (0, n.A)(e, "ortb2Imp.ext.gpid");
                    d && (r.gpid = d);
                    const c = (0, n.A)(e, "ortb2Imp.ext.tid");
                    return c && (r.tid = c), r.hb_source = 1, e.params.frameworks && (0, i.cy)(e.params.frameworks) && (r.banner_frameworks = e.params.frameworks), (0, n.A)(e, `mediaTypes.${o.D4}`) && r.ad_types.push(o.D4), 0 === r.ad_types.length && delete r.ad_types, r
                }

                function j(e) {
                    const r = [];
                    let s = {};
                    if ((0, i.cy)(e) && 2 === e.length && !(0, i.cy)(e[0])) s.width = parseInt(e[0], 10), s.height = parseInt(e[1], 10), r.push(s);
                    else if ("object" == typeof e)
                        for (let t = 0; t < e.length; t++) {
                            const a = e[t];
                            s = {}, s.width = parseInt(a[0], 10), s.height = parseInt(a[1], 10), r.push(s)
                        }
                    return r
                }

                function D(e) {
                    return !!e.params.user
                }

                function U(e) {
                    return !!parseInt(e.params.member, 10)
                }

                function S(e) {
                    if (e.params) return !!e.params.app
                }

                function A(e) {
                    return e.params && e.params.app ? !!e.params.app.id : !!e.params.app
                }

                function R(e) {
                    return !!e.debug
                }

                function $(e) {
                    let r = !1;
                    const s = e.params,
                        t = e.params.video;
                    return s.frameworks && (0, i.cy)(s.frameworks) && (r = e.params.frameworks.includes(6)), !r && t && t.frameworks && (0, i.cy)(t.frameworks) && (r = e.params.video.frameworks.includes(6)), r
                }(0, d.a$)(E), (0, t.E)("appnexusBidAdapter")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85, 444, 247, 126, 982], () => {
                return r = 158, e(e.s = r);
                var r
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [81], {
            6264(e, n, t) {
                var r = t(1748),
                    s = t(3435),
                    a = t(6665),
                    o = t(1933),
                    p = t(1385),
                    c = t(2517),
                    l = t(8034),
                    d = t(3254),
                    i = t(3965),
                    u = t(9708);
                let g, f, C = {};
                const m = {
                    iab: function(e) {
                        return new Promise((n, t) => {
                            const r = (0, d.c5)({
                                apiName: "__tcfapi",
                                apiVersion: 2,
                                apiArgs: ["command", "version", "callback", "parameter"]
                            });
                            r || t(new Error("TCF2 CMP not found.")), r.isDirect, v || (v = (0, u.Al)("tcf", () => p.mW.getConsentData())), v.setCmpApi(r), r({
                                command: "addEventListener",
                                callback: function(r, s) {
                                    if (s) {
                                        try {
                                            e(b(r))
                                        } catch (e) {}
                                        if (!1 === r.gdprApplies || "tcloaded" === r.eventStatus || "useractioncomplete" === r.eventStatus) try {
                                            null !== r.listenerId && void 0 !== r.listenerId && v ? .setCmpListenerId(r.listenerId), p.mW.setConsentData(b(r)), n()
                                        } catch (e) {
                                            t(e)
                                        }
                                    } else t(Error("CMP unable to register callback function.  Please check CMP setup."))
                                }
                            })
                        })
                    }
                };
                let v = null;

                function b(e) {
                    if (function() {
                            const n = e && "boolean" == typeof e.gdprApplies ? e.gdprApplies : g,
                                t = e && e.tcString;
                            return !("boolean" == typeof n && (!0 !== n || t && (0, a.O8)(t)))
                        }()) throw Object.assign(new Error("CMP returned unexpected value during lookup process."), {
                        args: [e]
                    });
                    return D(e)
                }

                function D(e) {
                    const n = {
                        consentString: e ? e.tcString : void 0,
                        vendorData: e || void 0,
                        gdprApplies: e && "boolean" == typeof e.gdprApplies ? e.gdprApplies : g,
                        apiVersion: 2
                    };
                    return e && e.addtlConsent && (0, a.O8)(e.addtlConsent) && (n.addtlConsent = e.addtlConsent), n
                }
                const A = (0, i.yq)({
                    namespace: "gdpr",
                    displayName: "TCF",
                    consentDataHandler: p.mW,
                    cmpHandlers: m,
                    parseConsentData: b,
                    getNullConsent: () => D(null),
                    cmpEventCleanup: function() {
                        v && (v.removeCmpEventListener(), v = null), C = {}, p.mW.reset()
                    }
                });
                o.$W.getConfig("consentManagement", e => function(e) {
                    const n = e && (e.gdpr || e.usp || e.gpp ? e.gdpr : e);
                    return null != n ? .consentData ? .getTCData && (n.consentData = n.consentData.getTCData), g = !0 === n ? .defaultGdprScope, f = !!n ? .dsaPlatform, C = A({
                        gdpr: n
                    }), C.loadConsentData ? .() ? .catch ? .(() => null)
                }(e.consentManagement)), l.wU.before(function(e, n) {
                    return e(n.then(e => {
                        const n = p.mW.getConsentData();
                        return n && ("boolean" == typeof n.gdprApplies && (0, s.J)(e, "regs.ext.gdpr", n.gdprApplies ? 1 : 0), (0, s.J)(e, "user.ext.consent", n.consentString)), f && (0, s.J)(e, "regs.ext.dsa.dsarequired", 3), e
                    }))
                }), (0, c.pS)({
                    type: c.S3,
                    name: "gdprAddtlConsent",
                    fn: function(e, n) {
                        const t = n.gdprConsent ? .addtlConsent;
                        t && "string" == typeof t && (0, s.J)(e, "user.ext.ConsentedProvidersSettings.consented_providers", t)
                    }
                }), (0, r.E)("consentManagementTcf")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85, 109, 10], () => {
                return n = 6264, e(e.s = n);
                var n
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [662], {
            4957(n, t, e) {
                var a = e(1748),
                    o = e(3435),
                    r = e(6665),
                    c = e(1933),
                    s = e(8668),
                    u = e(1385),
                    i = e(7841),
                    l = e(2592),
                    f = e(8034),
                    g = e(3254);
                let m, p, d = "iab",
                    v = 50,
                    S = !1;
                const P = {
                    iab: function(n) {
                        let {
                            onSuccess: t,
                            onError: e
                        } = n;
                        const a = function() {
                                const n = {};
                                return {
                                    consentDataCallback: (a, o) => {
                                        o && a.uspString && (n.usPrivacy = a.uspString), n.usPrivacy ? h(n, {
                                            onSuccess: t,
                                            onError: e
                                        }) : e("Unable to get USP consent string.")
                                    }
                                }
                            }(),
                            o = (0, g.c5)({
                                apiName: "__uspapi",
                                apiVersion: 1,
                                apiArgs: ["command", "version", "callback"]
                            });
                        if (!o) return e("USP CMP not found.");
                        o.isDirect;
                        o({
                            command: "getUSPData",
                            callback: a.consentDataCallback
                        }), o({
                            command: "registerDeletion",
                            callback: (n, t) => (null == t || t) && s.Ay.callDataDeletionRequest(n)
                        }).catch(n => {})
                    },
                    static: function(n) {
                        let {
                            onSuccess: t,
                            onError: e
                        } = n;
                        h(m, {
                            onSuccess: t,
                            onError: e
                        })
                    }
                };

                function b(n) {
                    let t = null,
                        e = !1;

                    function a(a, o) {
                        if (null != t && clearTimeout(t), e = !0, u.t6.setConsentData(a), null != n) {
                            for (var r = arguments.length, c = new Array(r > 2 ? r - 2 : 0), s = 2; s < r; s++) c[s - 2] = arguments[s];
                            n(o, ...c)
                        }
                    }
                    if (!P[d]) return void a(null, `USP framework (${d}) is not a supported framework. Aborting consentManagement module and resuming auction.`);
                    const o = {
                        onSuccess: a,
                        onError: function(n) {
                            for (var t = arguments.length, e = new Array(t > 1 ? t - 1 : 0), o = 1; o < t; o++) e[o - 1] = arguments[o];
                            a(null, `${n} Resuming auction without consent data as per consentManagement config.`, ...e)
                        }
                    };
                    P[d](o), e || (0 === v ? h(void 0, o) : t = setTimeout(o.onError.bind(null, "USPAPI workflow exceeded timeout threshold."), v))
                }
                const D = (0, i.Ak)("usp", function(n, t) {
                    var e = this;
                    S || k(), b(function(a) {
                        if (null != a)
                            for (var o = arguments.length, r = new Array(o > 1 ? o - 1 : 0), c = 1; c < o; c++) r[c - 1] = arguments[c];
                        n.call(e, t)
                    })
                });

                function h(n, t) {
                    let {
                        onSuccess: e,
                        onError: a
                    } = t;
                    !n || !n.usPrivacy ? a("USPAPI returned unexpected value during lookup process.", n) : (! function(n) {
                        n && n.usPrivacy && (p = n.usPrivacy)
                    }(n), e(p))
                }

                function k() {
                    S || (S = !0, u.t6.enable()), b()
                }
                c.$W.getConfig("consentManagement", n => function(n) {
                    n = n && n.usp, d = n && (0, r.O8)(n.cmpApi) ? n.cmpApi : "iab", v = n && (0, r.Et)(n.timeout) ? n.timeout : 50, "static" === d && (0, r.Qd)(n.consentData) && (0, r.Qd)(n.consentData.getUSPData) && (n.consentData.getUSPData.uspString && (m = {
                        usPrivacy: n.consentData.getUSPData.uspString
                    }), v = 0), k(!0)
                }(n.consentManagement)), (0, l.Yn)("requestBids").before(D, 50), f.wU.before(function(n, t) {
                    return n(t.then(n => {
                        const t = u.t6.getConsentData();
                        return t && (0, o.J)(n, "regs.ext.us_privacy", t), n
                    }))
                }), (0, a.E)("consentManagementUsp")
            }
        },
        n => {
            n.O(0, [802, 769, 315, 85, 109], () => {
                return t = 4957, n(n.s = t);
                var t
            });
            n.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [931], {
            6938(e, t, o) {
                var n = o(1748),
                    r = o(466),
                    a = o(2201),
                    i = o(867),
                    c = o(2592),
                    s = o(1443),
                    d = o(736),
                    l = o(1385);
                const p = "criteo",
                    g = (0, s.vM)({
                        moduleType: d.fW,
                        moduleName: p
                    }),
                    u = "cto_bidid",
                    m = "cto_bundle",
                    b = "html5",
                    f = "cookie",
                    I = new Date(0).toString(),
                    h = new Date((0, r.timestamp)() + 33696e6).toString();

                function y(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                    const o = (0, r.parseUrl)(e, {
                        noDecodeWholeURL: !0
                    });
                    return t ? `${o.hostname}` : `${o.protocol}://${o.hostname}${o.port?":"+o.port:""}/`
                }

                function C(e, t) {
                    return e ? .storage ? .type === b ? g.getDataFromLocalStorage(t) : e ? .storage ? .type === f ? g.getCookie(t) : g.getCookie(t) || g.getDataFromLocalStorage(t)
                }

                function S(e, t, o, n) {
                    t && o && (e ? .storage ? .type === b ? g.setDataInLocalStorage(t, o) : (e ? .storage ? .type === f || g.setDataInLocalStorage(t, o), U(t, o, h, n, !0)))
                }

                function U(e, t, o, n, r) {
                    const a = n.split(".");
                    for (let n = 0; n < a.length; ++n) {
                        const i = a.slice(a.length - n - 1, a.length).join(".");
                        try {
                            if (g.setCookie(e, t, o, null, "." + i), r) {
                                const o = g.getCookie(e);
                                if (o && o === t) break
                            }
                        } catch (e) {}
                    }
                }

                function v(e, t, o) {
                    const n = (void 0 === e ? .storage ? .type || e ? .storage ? .type === f) && g.cookiesAreEnabled(),
                        c = (void 0 === e ? .storage ? .type || e ? .storage ? .type === b) && g.localStorageIsEnabled(),
                        s = y((0, i.EN)().page),
                        d = y(document.location.href, !0),
                        p = "undefined" != typeof criteo_pubtag,
                        h = function(e, t, o, n, r, a, i) {
                            let c = "https://gum.criteo.com/sid/json?origin=prebid" + (e ? "&topUrl=" + encodeURIComponent(e) : "") + (t ? "&domain=" + encodeURIComponent(t) : "") + (o ? "&bundle=" + encodeURIComponent(o) : "") + (n ? "&info=" + encodeURIComponent(n) : "") + (r ? "&cw=1" : "") + (i ? "&pbt=1" : "") + (a ? "&lsw=1" : "");
                            const s = l.t6.getConsentData();
                            s && (c += `&us_privacy=${encodeURIComponent(s)}`);
                            const d = l.mW.getConsentData();
                            d && (c = c + "" + (d.consentString ? "&gdprString=" + encodeURIComponent(d.consentString) : ""), c = c + "&gdpr=" + (!0 === d.gdprApplies ? 1 : 0));
                            const p = l.ad.getConsentData();
                            return p && (c = c + "" + (p.gppString ? "&gpp=" + encodeURIComponent(p.gppString) : ""), c = c + "" + (p.applicableSections ? "&gpp_sid=" + encodeURIComponent(p.applicableSections) : "")), c
                        }(s, d, t.bundle, t.dnaBundle, n, c, p),
                        C = {
                            success: t => {
                                const n = JSON.parse(t);
                                if (n.pixels && n.pixels.forEach(t => function(e, t, o) {
                                        o.writeBundleInStorage && o.bundlePropertyName && o.storageKeyName ? (0, a.RD)(o.pixelUrl, {
                                            success: n => {
                                                if (n) {
                                                    const r = JSON.parse(n);
                                                    r && r[o.bundlePropertyName] && S(e, o.storageKeyName, r[o.bundlePropertyName], t)
                                                }
                                            },
                                            error: e => {}
                                        }, void 0, {
                                            method: "GET",
                                            withCredentials: !0
                                        }) : (0, r.triggerPixel)(o.pixelUrl)
                                    }(e, d, t)), n.acwsUrl) {
                                    ("string" == typeof n.acwsUrl ? [n.acwsUrl] : n.acwsUrl).forEach(e => (0, r.triggerPixel)(e))
                                } else n.bundle && S(e, m, n.bundle, d);
                                if (n.bidId) {
                                    S(e, u, n.bidId, d);
                                    const t = {
                                        criteoId: n.bidId
                                    };
                                    o(t)
                                } else U(i = u, "", I, d, !0), g.removeDataFromLocalStorage(i), o();
                                var i
                            },
                            error: e => {
                                o()
                            }
                        };
                    (0, a.RD)(h, C, void 0, {
                        method: "GET",
                        contentType: "application/json",
                        withCredentials: !0
                    })
                }
                const D = {
                    name: p,
                    gvlid: 91,
                    decode: e => e,
                    getId(e) {
                        const t = function(e) {
                            return {
                                bundle: C(e, m),
                                dnaBundle: C(e, "cto_dna_bundle"),
                                bidId: C(e, u)
                            }
                        }(e);
                        return {
                            id: t.bidId ? {
                                criteoId: t.bidId
                            } : void 0,
                            callback: o => v(e, t, o)
                        }
                    },
                    eids: {
                        criteoId: {
                            source: "criteo.com",
                            atype: 1
                        }
                    }
                };
                (0, c.bz)("userId", D), (0, n.E)("criteoIdSystem")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85], () => {
                return t = 6938, e(e.s = t);
                var t
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [497], {
            4640(t, e, i) {
                var r = i(1748),
                    n = i(466),
                    o = i(8928),
                    s = i(3435),
                    a = i(6665),
                    d = i(2201),
                    c = i(2592),
                    u = i(867),
                    p = i(1443),
                    g = i(736),
                    l = i(3064),
                    h = i(5049);
                const f = "id5-sync.com",
                    w = (0, p.vM)({
                        moduleType: g.fW,
                        moduleName: "id5Id"
                    }),
                    m = {
                        id5id: {
                            getValue: function(t) {
                                return t.uid
                            },
                            source: f,
                            atype: 1,
                            getUidExt: function(t) {
                                if (t.ext) return t.ext
                            }
                        },
                        euid: {
                            getValue: function(t) {
                                return t.uid
                            },
                            getSource: function(t) {
                                return t.source
                            },
                            atype: 3,
                            getUidExt: function(t) {
                                if (t.ext) return t.ext
                            }
                        },
                        trueLinkId: {
                            getValue: function(t) {
                                return t.uid
                            },
                            getSource: function() {
                                return "true-link-id5-sync.com"
                            },
                            atype: 1,
                            getUidExt: function(t) {
                                if (t.ext) return t.ext
                            }
                        }
                    },
                    b = {
                        name: "id5Id",
                        gvlid: 131,
                        decode(t, e) {
                            const i = C(t, e.params);
                            return this._decodeResponse(i || t, e)
                        },
                        _decodeResponse(t, e) {
                            if (t && void 0 !== t.ids) {
                                const i = {},
                                    r = {};
                                return Object.entries(t.ids).forEach(t => {
                                    let [e, n] = t;
                                    const o = n.eid,
                                        s = o ? .uids ? .[0];
                                    i[e] = {
                                        uid: s ? .id,
                                        ext: s ? .ext
                                    }, r[e] = function() {
                                        return o
                                    }
                                }), this.eids = r, x(t, e), i
                            }
                            let i, r, n = {};
                            if (!t || "string" != typeof t.universal_uid) return;
                            i = t.universal_uid, n = t.ext || n, r = t.publisherTrueLinkId, this.eids = m;
                            const d = {
                                id5id: {
                                    uid: i,
                                    ext: n
                                }
                            };
                            (0, a.Qd)(n.euid) && (d.euid = {
                                uid: n.euid.uids[0].id,
                                source: n.euid.source,
                                ext: {
                                    provider: f
                                }
                            }), r && (d.trueLinkId = {
                                uid: r
                            });
                            switch ((0, o.A)(t, "ab_testing.result")) {
                                case "control":
                                    (0, s.J)(d, "id5id.ext.abTestingControlGroup", !0);
                                    break;
                                case "error":
                                    break;
                                case "normal":
                                    (0, s.J)(d, "id5id.ext.abTestingControlGroup", !1)
                            }
                            return x(t, e), d
                        },
                        getId(t, e, i) {
                            if (! function(t) {
                                    if (!t || !t.params || !t.params.partner) return !1;
                                    const e = t.params.partner;
                                    if ("string" == typeof e || e instanceof String) {
                                        const i = parseInt(e);
                                        if (isNaN(i) || i < 0) return !1;
                                        t.params.partner = i
                                    } else if ("number" != typeof e) return !1;
                                    if (!t.storage || !t.storage.type || !t.storage.name) return !1;
                                    t.storage.name;
                                    return !0
                                }(t)) return;
                            if (!E(e ? .gdpr)) return;
                            return {
                                callback: function(r) {
                                    new y(t, e ? .gdpr, i, e ? .usp, e ? .gpp).execute().then(e => {
                                        r(function(t, e, i) {
                                            let r = {};
                                            (0, a.Qd)(i) && (void 0 !== i.universal_uid || (0, a.Qd)(i.pbjs)) && Object.assign(r, (0, a.Go)(i));
                                            Object.assign(r, (0, a.Go)(t)), r.signature = t.signature, (0, a.Qd)(r.pbjs) || (r.pbjs = {});
                                            return r.pbjs[e.partner] = (0, a.Go)(t), r
                                        }(e, t.params, i))
                                    }).catch(t => {
                                        r()
                                    })
                                }
                            }
                        },
                        extendId(t, e, i) {
                            if (!E(e ? .gdpr)) return {
                                id: i
                            };
                            if (C(i, t.params)) {
                                const e = (0, a.Go)(i),
                                    r = C(e, t.params);
                                return r.nbPage = v(r), {
                                    id: e
                                }
                            }
                            return this.getId(t, e, i)
                        },
                        primaryIds: ["id5id", "trueLinkId"],
                        eids: m,
                        _reset() {
                            this.eids = m
                        }
                    };
                class y {
                    constructor(t, e, i, r, n) {
                        this.submoduleConfig = t, this.gdprConsentData = e, this.cacheIdObj = (0, a.Qd)(i ? .pbjs) ? i.pbjs[t.params.partner] : i, this.usPrivacyData = r, this.gppData = n
                    }
                    async execute() {
                        const t = this.#t();
                        if (!this.#e()) return this.#i(t);
                        try {
                            return await this.#r(t)
                        } catch (e) {
                            return this.#i(t)
                        }
                    }#
                    e() {
                        return "string" == typeof this.submoduleConfig.params.externalModuleUrl
                    }
                    async# r(t) {
                        await async function(t) {
                            return new l.U9((e, i) => {
                                if (window.id5Prebid) e();
                                else try {
                                    (0, h.R)(t, g.fW, "id5", e)
                                } catch (t) {
                                    i(t)
                                }
                            })
                        }(this.submoduleConfig.params.externalModuleUrl);
                        const e = await t;
                        return this.#n().fetchId5Id(e, this.submoduleConfig.params, (0, u.EN)(), this.gdprConsentData, this.usPrivacyData, this.gppData)
                    }#
                    n() {
                        return window.id5Prebid && window.id5Prebid.integration
                    }
                    async# i(t) {
                        const e = await t,
                            i = await this.#o(e.extensionsCall),
                            r = await this.#s(e.fetchCall, i);
                        return this.#a(r)
                    }
                    async# t() {
                        const t = this.submoduleConfig.params.configUrl || "https://id5-sync.com/api/config/prebid",
                            e = await (0, d.hd)(t, {
                                method: "POST",
                                body: JSON.stringify({ ...this.submoduleConfig,
                                    bounce: !0
                                }),
                                credentials: "include"
                            });
                        if (!e.ok) throw new Error("Error while calling config endpoint: ", e);
                        return await e.json()
                    }
                    async# o(t) {
                        if (void 0 === t) return;
                        const e = t.url,
                            i = t.method || "GET",
                            r = "GET" === i ? void 0 : JSON.stringify(t.body || {}),
                            n = await (0, d.hd)(e, {
                                method: i,
                                body: r
                            });
                        if (!n.ok) throw new Error("Error while calling extensions endpoint: ", n);
                        return await n.json()
                    }
                    async# s(t, e) {
                        const i = t.url,
                            r = t.overrides || {},
                            n = JSON.stringify({ ...this.#d(),
                                ...r,
                                extensions: e
                            }),
                            o = await (0, d.hd)(i, {
                                method: "POST",
                                body: n,
                                credentials: "include"
                            });
                        if (!o.ok) throw new Error("Error while calling fetch endpoint: ", o);
                        return await o.json()
                    }#
                    d() {
                        const t = this.submoduleConfig.params,
                            e = this.gdprConsentData && "boolean" == typeof this.gdprConsentData.gdprApplies && this.gdprConsentData.gdprApplies ? 1 : 0,
                            i = (0, u.EN)(),
                            r = this.cacheIdObj ? this.cacheIdObj.signature : void 0,
                            o = v(this.cacheIdObj),
                            s = window.id5Bootstrap ? window.id5Bootstrap.getTrueLinkInfo() : {
                                booted: !1
                            },
                            a = {
                                partner: t.partner,
                                gdpr: e,
                                nbPage: o,
                                o: "pbjs",
                                tml: i.topmostLocation,
                                ref: i.ref,
                                cu: i.canonicalUrl,
                                top: i.reachedTop ? 1 : 0,
                                u: i.stack[0] || window.location.href,
                                v: "10.29.0",
                                storage: this.submoduleConfig.storage,
                                localStorage: w.localStorageIsEnabled() ? 1 : 0,
                                true_link: s
                            };
                        !e || void 0 === this.gdprConsentData.consentString || (0, n.isEmpty)(this.gdprConsentData.consentString) || (0, n.isEmptyStr)(this.gdprConsentData.consentString) || (a.gdpr_consent = this.gdprConsentData.consentString), void 0 === this.usPrivacyData || (0, n.isEmpty)(this.usPrivacyData) || (0, n.isEmptyStr)(this.usPrivacyData) || (a.us_privacy = this.usPrivacyData), this.gppData && (a.gpp_string = this.gppData.gppString, a.gpp_sid = this.gppData.applicableSections), void 0 === r || (0, n.isEmptyStr)(r) || (a.s = r), void 0 === t.pd || (0, n.isEmptyStr)(t.pd) || (a.pd = t.pd), void 0 === t.provider || (0, n.isEmptyStr)(t.provider) || (a.provider = t.provider);
                        const d = t.abTesting || {
                            enabled: !1
                        };
                        return d.enabled && (a.ab_testing = {
                            enabled: !0,
                            control_group_pct: d.controlGroupPct
                        }), a
                    }#
                    a(t) {
                        try {
                            t.privacy && window.id5Bootstrap && window.id5Bootstrap.setPrivacy && window.id5Bootstrap.setPrivacy(t.privacy)
                        } catch (t) {}
                        return t
                    }
                }

                function v(t) {
                    return t && void 0 !== t.nbPage ? t.nbPage + 1 : 1
                }

                function x(t, e) {
                    const i = t.tags;
                    i && (e.params.gamTargetingPrefix && (window.googletag = window.googletag || {
                        cmd: []
                    }, window.googletag.cmd = window.googletag.cmd || [], window.googletag.cmd.push(() => {
                        for (const t in i) window.googletag.setConfig({
                            targeting: {
                                [e.params.gamTargetingPrefix + "_" + t]: i[t]
                            }
                        })
                    })), e.params.exposeTargeting && !(0, n.deepEqual)(window.id5tags ? .tags, i) && (window.id5tags = window.id5tags || {
                        cmd: []
                    }, window.id5tags.cmd = window.id5tags.cmd || [], window.id5tags.cmd.forEach(t => {
                        setTimeout(() => t(i), 0)
                    }), window.id5tags.cmd.push = function(t) {
                        t(i), Array.prototype.push.call(window.id5tags.cmd, t)
                    }, window.id5tags.tags = i))
                }

                function E(t) {
                    const e = t && "boolean" == typeof t.gdprApplies && t.gdprApplies,
                        i = (0, o.A)(t, "vendorData.purpose.consents.1"),
                        r = (0, o.A)(t, `vendorData.vendor.consents.${131..toString()}`);
                    return !(e && (!i || !r))
                }

                function C(t, e) {
                    if (t ? .pbjs && (0, a.Qd)(t.pbjs)) return t.pbjs[e.partner]
                }(0, c.bz)("userId", b), (0, r.E)("id5IdSystem")
            }
        },
        t => {
            t.O(0, [802, 769, 315, 85], () => {
                return e = 4640, t(t.s = e);
                var e
            });
            t.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [775], {
            1246(e, r, t) {
                var n = t(1748),
                    s = t(4827),
                    a = t(3556),
                    i = t(9794),
                    o = t(1443),
                    d = t(3448),
                    p = t(466),
                    c = t(8928),
                    m = t(3435),
                    u = t(6665);
                const b = "msft",
                    l = ["enabled", "dongle", "member_id", "debug_timeout"],
                    _ = {
                        apn_debug_enabled: "enabled",
                        apn_debug_dongle: "dongle",
                        apn_debug_member_id: "member_id",
                        apn_debug_timeout: "debug_timeout"
                    },
                    f = "https://ib.adnxs.com/openrtb2/prebidjs",
                    g = "https://ib.adnxs-simple.com/openrtb2/prebidjs",
                    h = {
                        0: i.D4,
                        1: i.G_,
                        3: i.s6
                    },
                    y = (0, o.vM)({
                        bidderCode: b
                    }),
                    x = (0, s.A)({
                        context: {
                            netRevenue: !0,
                            ttl: 300
                        },
                        imp(e, r, t) {
                            const n = {},
                                s = r.params,
                                a = e(r, t);
                            if (a.banner && !a.banner.w && !a.banner.h) {
                                const e = (0, c.A)(a, "banner.format.0");
                                e && (0, u.Et)(e.w) && (0, u.Et)(e.h) && (a.banner.w = e.w, a.banner.h = e.h)
                            }
                            if (a ? .banner && !a.banner.api) {
                                const e = s.banner_frameworks;
                                (0, u.Uu)(e) && (a.banner.api = e)
                            }
                            if (s) {
                                s.placement_id ? n.placement_id = s.placement_id : s.inv_code && (0, m.J)(a, "tagid", s.inv_code);
                                const e = {
                                    allow_smaller_sizes: "boolean",
                                    use_pmt_rule: "boolean",
                                    keywords: "string",
                                    traffic_source_code: "string",
                                    pubclick: "string",
                                    ext_inv_code: "string",
                                    ext_imp_id: "string"
                                };
                                Object.entries(e).forEach(e => {
                                    let [t, i] = e;
                                    if (function(e, r, t) {
                                            const n = e ? .params ? .[r];
                                            if (null != n && "" !== n) {
                                                return typeof n === t
                                            }
                                            return !1
                                        }(r, t, i)) {
                                        if ("ext_imp_id" === t) return void(a.id = s.ext_imp_id);
                                        n[t] = s[t]
                                    }
                                })
                            }
                            const i = (0, p.getParameterByName)("ast_override_div");
                            if (k(i)) {
                                const e = decodeURIComponent(i).split(",").find(e => e.startsWith(`${r.adUnitCode}:`));
                                if (e) {
                                    const r = e.split(":")[1];
                                    r && (n.force_creative_id = parseInt(r, 10))
                                }
                            }
                            return Object.keys(n).length > 0 && (0, m.J)(a, "ext.appnexus", n), a
                        },
                        request(e, r, t, n) {
                            const s = e(r, t, n);
                            s ? .user ? .ext ? .eids ? .length > 0 && s.user.ext.eids.forEach(e => {
                                "adserver.org" === e.source ? e.rti_partner = "TDID" : "uidapi.com" === e.source && (e.rti_partner = "UID2")
                            });
                            const a = {
                                prebid: !0,
                                hb_source: 1,
                                sdk: {
                                    version: "10.29.0",
                                    source: "pbjs"
                                }
                            };
                            if (t ? .refererInfo) {
                                const e = {
                                        rd_ref: encodeURIComponent(t.refererInfo.topmostLocation),
                                        rd_top: t.refererInfo.reachedTop,
                                        rd_ifs: t.refererInfo.numIframes,
                                        rd_stk: t.refererInfo.stack ? .map(e => encodeURIComponent(e)).join(",")
                                    },
                                    r = t.refererInfo.canonicalUrl;
                                k(r) && (e.rd_can = r), a.referrer_detection = e
                            }
                            return (0, m.J)(s, "ext.appnexus", a), s
                        },
                        bidResponse(e, r, t) {
                            const {
                                bidRequest: n
                            } = t;
                            let s;
                            const a = r ? .ext ? .appnexus ? .bid_ad_type,
                                i = (0, c.A)(r, "ext.appnexus");
                            (0, u.Et)(a) && h.hasOwnProperty(a) && (t.mediaType = s = h[a]);
                            const o = e(r, t);
                            return i.advertiser_id && (o.meta = Object.assign({}, o.meta, {
                                advertiser_id: i.advertiser_id
                            })), o
                        }
                    }),
                    v = {
                        code: b,
                        gvlid: 32,
                        aliases: [],
                        supportedMediaTypes: [i.D4, i.s6, i.G_],
                        isBidRequestValid: e => {
                            const r = e.params;
                            return !!("number" == typeof r.placement_id || "number" == typeof r.member && k(r ? .inv_code))
                        },
                        buildRequests(e, r) {
                            const t = x.toORTB({
                                bidRequests: e,
                                bidderRequest: r
                            });
                            return (e || []).find(O) && (0, p.mergeDeep)(t, {
                                    source: {
                                        ext: {
                                            omidpn: "AppNexus",
                                            omidpv: "10.29.0"
                                        }
                                    }
                                }, t),
                                function(e, r) {
                                    let t = [];
                                    const n = {
                                        withCredentials: !0
                                    };
                                    let s = f;
                                    (0, d.C)(r.gdprConsent) || (s = g);
                                    let a = {};
                                    const i = "apn_prebid_debug",
                                        o = y.getCookie(i) || null;
                                    if (o) try {
                                        a = JSON.parse(o)
                                    } catch (e) {} else Object.keys(_).forEach(e => {
                                        const r = (0, p.getParameterByName)(e);
                                        (0, u.O8)(r) && "" !== r && (a[_[e]] = r)
                                    }), Object.keys(a).length > 0 && !a.hasOwnProperty("enabled") && (a.enabled = !0);
                                    a ? .enabled && (s += "?" + Object.keys(a).filter(e => l.includes(e)).map(e => "enabled" === e ? `debug=${a[e]}` : `${e}=${a[e]}`).join("&"));
                                    const c = (r ? .bids || []).find(e => e.params && e.params.member && (0, u.Et)(e.params.member));
                                    c && (s += (-1 === s.indexOf("?") ? "?" : "&") + "member_id=" + c.params.member);
                                    "TRUE" === (0, p.getParameterByName)("apn_test").toUpperCase() && (n.customHeaders = {
                                        "X-Is-Test": 1
                                    });
                                    return t.push({
                                        method: "POST",
                                        url: s,
                                        data: e,
                                        bidderRequest: r,
                                        options: n
                                    }), t
                                }(t, r)
                        },
                        interpretResponse: (e, r) => x.fromORTB({
                            response: e.body,
                            request: r.data
                        }).bids,
                        getUserSyncs: function(e, r, t, n, s) {
                            if (e.iframeEnabled && (0, d.C)(t)) return [{
                                type: "iframe",
                                url: "https://acdn.adnxs.com/dmp/async_usersync.html"
                            }];
                            if (e.pixelEnabled) {
                                return ["https://px.ads.linkedin.com/setuid?partner=appNexus"].map(e => ({
                                    type: "image",
                                    url: e
                                }))
                            }
                        }
                    };

                function k(e) {
                    return (0, u.O8)(e) && "" !== e
                }

                function O(e) {
                    let r = !1;
                    const t = e ? .params,
                        n = e ? .mediaTypes ? .video ? .api;
                    return t ? .frameworks && (0, u.cy)(t.frameworks) && (r = e.params.frameworks.includes(6)), !r && (0, u.cy)(n) && n.length > 0 && (r = n.includes(7)), r
                }(0, a.a$)(v), (0, n.E)("msftBidAdapter")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85, 498], () => {
                return r = 1246, e(e.s = r);
                var r
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [685], {
            6380(e, s, r) {
                var t = r(1748),
                    a = r(3556),
                    n = r(1443),
                    i = r(9794),
                    p = r(1933),
                    o = r(8928),
                    d = r(6665),
                    c = r(3006),
                    u = r(8695),
                    m = r(6614),
                    l = r(149),
                    f = r(3575);
                const g = (0, n.vM)({
                        bidderCode: "pixfuture"
                    }),
                    h = ["age", "externalUid", "segments", "gender", "dnt", "language"];
                let b = "";
                const _ = {
                    code: "pixfuture",
                    gvlid: 839,
                    hostname: "https://gosrv.pixfuture.com",
                    getHostname() {
                        let e = this.hostname;
                        try {
                            e = g.getDataFromLocalStorage("ov_pixbidder_host") || e
                        } catch (e) {}
                        return e
                    },
                    isBidRequestValid: e => !!(e.sizes && e.bidId && e.params && e.params.pix_id && "string" == typeof e.params.pix_id),
                    buildRequests(e, s) {
                        const r = e.map(I),
                            t = this.getHostname();
                        return e.map(a => {
                            a.params.pix_id && (b = a.params.pix_id);
                            let n = "";
                            s && s.refererInfo && (n = s.refererInfo.page || "");
                            const i = (e || []).find(f.A$);
                            let o = {};
                            !0 === p.$W.getConfig("coppa") && (o = {
                                coppa: !0
                            }), i && Object.keys(i.params.user).filter(e => h.includes(e)).forEach(e => {
                                const s = (0, m.vk)(e);
                                if ("segments" === e && (0, d.cy)(i.params.user[e])) {
                                    const r = [];
                                    i.params.user[e].forEach(e => {
                                        (0, d.Et)(e) ? r.push({
                                            id: e
                                        }): (0, d.Qd)(e) && r.push(e)
                                    }), o[s] = r
                                } else "segments" !== e && (o[s] = i.params.user[e])
                            });
                            const c = e[0] ? .ortb2 ? .source ? .ext ? .schain,
                                u = {
                                    tags: [...r],
                                    user: o,
                                    sdk: {
                                        source: "pbjs",
                                        version: "10.29.0"
                                    },
                                    schain: c
                                };
                            if (s && s.uspConsent && (u.us_privacy = s.uspConsent), s && s.refererInfo) {
                                const e = {
                                    rd_ref: encodeURIComponent(s.refererInfo.topmostLocation),
                                    rd_top: s.refererInfo.reachedTop,
                                    rd_ifs: s.refererInfo.numIframes,
                                    rd_stk: s.refererInfo.stack.map(e => encodeURIComponent(e)).join(",")
                                };
                                u.referrer_detection = e
                            }
                            if (e[0] ? .ortb2 ? .user ? .ext ? .eids ? .length) {
                                const s = [];
                                e[0].ortb2.user.ext.eids.forEach(e => {
                                    const r = e.source;
                                    (e.uids || []).forEach(e => {
                                        (0, f.wS)(s, e.id, r, e.atype || null)
                                    })
                                }), s.length && (u.eids = s)
                            }
                            r[0].publisher_id && (u.publisher_id = r[0].publisher_id);
                            const l = {
                                url: `${t}/pixservices`,
                                method: "POST",
                                options: {
                                    withCredentials: !0
                                },
                                data: {
                                    v: "v10.29.0",
                                    pageUrl: n,
                                    bidId: a.bidId,
                                    auctionId: a.auctionId,
                                    transactionId: a.ortb2Imp ? .ext ? .tid,
                                    adUnitCode: a.adUnitCode,
                                    bidRequestCount: a.bidRequestCount,
                                    sizes: a.sizes,
                                    params: a.params,
                                    pubext: u
                                }
                            };
                            return s && s.gdprConsent && (l.data.gdprConsent = {
                                consentString: s.gdprConsent.consentString,
                                consentRequired: "boolean" == typeof s.gdprConsent.gdprApplies && s.gdprConsent.gdprApplies
                            }), l
                        })
                    },
                    interpretResponse: function(e, s) {
                        let {
                            bidderRequest: r
                        } = s;
                        e = e.body;
                        const t = [];
                        return e.creatives.bids && e.placements && e.placements.forEach(e => {
                            e.creatives.forEach(s => {
                                const r = function(e, s, r, t) {
                                    const a = {
                                        requestId: t,
                                        cpm: s.cpm,
                                        creativeId: s.creative_id,
                                        currency: "USD",
                                        netRevenue: !0,
                                        ttl: 300,
                                        adUnitCode: r
                                    };
                                    s.adomain && (a.meta = Object.assign({}, a.meta, {
                                        advertiserDomains: [s.adomain]
                                    }));
                                    return Object.assign(a, {
                                        width: s.width,
                                        height: s.height,
                                        ad: s.code
                                    }), a
                                }(0, s, e.placement_id, e.uuid);
                                r.mediaType = i.D4, t.push(r)
                            })
                        }), t
                    },
                    getUserSyncs: function(e, s, r, t) {
                        const a = [];
                        let n = "pixid=" + b;
                        return n += "&gdprconcent=" + (r && r.gdprApplies ? 1 : 0) + "&adsync=" + (r ? encodeURIComponent(r.consentString || "") : ""), t && (n += "&us_privacy=" + encodeURIComponent(t)), !0 === p.$W.getConfig("coppa") && (n += "&coppa=1"), e.iframeEnabled ? a.push({
                            type: "iframe",
                            url: "https://gosrv.pixfuture.com/cookiesync?f=b&" + n
                        }) : a.push({
                            type: "image",
                            url: "https://gosrv.pixfuture.com/cookiesync?f=i&" + n
                        }), a
                    }
                };

                function I(e) {
                    const s = {};
                    s.sizes = (0, l.p)(e.sizes), s.primary_size = s.sizes[0], s.ad_types = [], s.uuid = e.bidId, e.params.placementId ? s.id = parseInt(e.params.placementId, 10) : s.code = e.params.invCode, s.allow_smaller_sizes = e.params.allowSmallerSizes || !1, s.use_pmt_rule = e.params.usePaymentRule || !1, s.prebid = !0, s.disable_psa = !0;
                    const r = (0, f.Mf)(e);
                    if (r && (s.reserve = r), e.params.position) s.position = {
                        above: 1,
                        below: 2
                    }[e.params.position] || 0;
                    else {
                        const r = (0, o.A)(e, "mediaTypes.banner.pos") || (0, o.A)(e, "mediaTypes.video.pos");
                        0 !== r && 1 !== r && 3 !== r || (s.position = 3 === r ? 2 : r)
                    }
                    e.params.trafficSourceCode && (s.traffic_source_code = e.params.trafficSourceCode), e.params.privateSizes && (s.private_sizes = (0, l.p)(e.params.privateSizes)), e.params.supplyType && (s.supply_type = e.params.supplyType), e.params.pubClick && (s.pubclick = e.params.pubClick), e.params.extInvCode && (s.ext_inv_code = e.params.extInvCode), e.params.publisherId && (s.publisher_id = parseInt(e.params.publisherId, 10)), e.params.externalImpId && (s.external_imp_id = e.params.externalImpId), s.keywords = (0, u.QF)(e.ortb2, e.params.keywords);
                    const t = (0, o.A)(e, "ortb2Imp.ext.gpid");
                    t && (s.gpid = t), e.renderer && (s.video = Object.assign({}, s.video, {
                        custom_renderer_present: !0
                    })), e.params.frameworks && (0, d.cy)(e.params.frameworks) && (s.banner_frameworks = e.params.frameworks);
                    const a = (c.n.getAdUnits() || []).find(s => e.transactionId === s.transactionId);
                    return a && a.mediaTypes && a.mediaTypes.banner && s.ad_types.push(i.D4), 0 === s.ad_types.length && delete s.ad_types, s
                }(0, a.a$)(_), (0, t.E)("pixfutureBidAdapter")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85, 444, 247, 139, 486], () => {
                return s = 6380, e(e.s = s);
                var s
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [496], {
            8959(e, t, r) {
                var n = r(1748),
                    o = r(466),
                    i = r(2592),
                    a = r(1443),
                    d = r(1385),
                    c = r(736),
                    u = r(8074);
                const l = (0, a.vM)({
                        moduleType: c.fW,
                        moduleName: "sharedId"
                    }),
                    s = "cookie",
                    p = "html5",
                    f = "_pubcid_optout",
                    g = "PublisherCommonId";

                function h(e, t) {
                    if (t === s) return l.getCookie(e);
                    if (t === p && l.hasLocalStorage()) {
                        const t = l.getDataFromLocalStorage(`${e}_exp`);
                        if (!t) return l.getDataFromLocalStorage(e);
                        if (new Date(t).getTime() - Date.now() > 0) return l.getDataFromLocalStorage(e)
                    }
                }

                function m(e, t) {
                    return function(r, n) {
                        t ? v(t, e, () => {
                            r(n() || e)
                        })() : r(e)
                    }
                }

                function v(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
                        r = arguments.length > 2 ? arguments[2] : void 0;
                    if (!e) return;
                    const n = (0, o.parseUrl)(e);
                    n.search.id = encodeURIComponent("pubcid:" + t);
                    const i = (0, o.buildUrl)(n);
                    return function() {
                        (0, o.triggerPixel)(i, r)
                    }
                }

                function b() {
                    return !!(l.cookiesAreEnabled() && h(f, s) || l.hasLocalStorage() && h(f, p))
                }
                const I = {
                    name: "sharedId",
                    aliasName: "pubCommonId",
                    gvlid: d.B1,
                    disclosureURL: "local://prebid/sharedId-optout.json",
                    decode(e, t) {
                        if (b()) return;
                        return {
                            pubcid: e
                        }
                    },
                    getId: function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                            t = arguments.length > 1 ? arguments[1] : void 0,
                            r = arguments.length > 2 ? arguments[2] : void 0;
                        if (b()) return;
                        if (t ? .coppa) return;
                        const {
                            params: {
                                create: n = !0,
                                pixelUrl: i
                            } = {}
                        } = e;
                        let a = r;
                        if (!a) {
                            try {
                                "object" == typeof window[g] && (a = window[g].getId())
                            } catch (e) {}
                            a || (a = n && (0, o.hasDeviceAccess)() ? (0, o.generateUUID)() : void 0)
                        }
                        return {
                            id: a,
                            callback: m(a, i)
                        }
                    },
                    extendId: function() {
                        let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                            t = arguments.length > 1 ? arguments[1] : void 0,
                            r = arguments.length > 2 ? arguments[2] : void 0;
                        if (b()) return {
                            id: void 0
                        };
                        if (t ? .coppa) return;
                        const {
                            params: {
                                extend: n = !1,
                                pixelUrl: o
                            } = {}
                        } = e;
                        if (n) {
                            if (o) {
                                return {
                                    callback: v(o, r)
                                }
                            }
                            return {
                                id: r
                            }
                        }
                    },
                    domainOverride: (0, u.w)(l, "sharedId"),
                    eids: {
                        pubcid(e, t) {
                            const r = {
                                source: "pubcid.org",
                                uids: e.map(e => ({
                                    id: e,
                                    atype: 1
                                }))
                            };
                            return null != t ? .params ? .inserter && (r.inserter = t.params.inserter), r
                        }
                    }
                };
                (0, i.bz)("userId", I), (0, n.E)("sharedIdSystem")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85, 764], () => {
                return t = 8959, e(e.s = t);
                var t
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [94], {
            8637(e, t, n) {
                var i = n(1748),
                    r = n(8928),
                    a = n(6665),
                    s = n(7464),
                    d = n(3556),
                    o = n(9794),
                    p = n(6220),
                    c = n(9235),
                    m = n(356),
                    u = n(2808);
                const l = {
                    code: "smilewanted",
                    gvlid: 639,
                    aliases: ["smile", "sw"],
                    supportedMediaTypes: [o.D4, o.G_, o.s6],
                    isBidRequestValid: function(e) {
                        if (!e.params || !e.params.zoneId) return !1;
                        if ((0, r.A)(e, "mediaTypes.video")) {
                            const t = { ...(0, r.A)(e, "mediaTypes.video", {}),
                                ...(0, r.A)(e, "params.video", {})
                            };
                            if (!t.context || ![p.mn, p.H6].includes(t.context)) return !1
                        }
                        return !0
                    },
                    buildRequests: function(e, t) {
                        return (e = (0, m.Xj)(e)).map(e => {
                            const n = {
                                    zoneId: e.params.zoneId,
                                    currencyCode: (0, u.b)(t) || "EUR",
                                    tagId: e.adUnitCode,
                                    sizes: e.sizes.map(e => ({
                                        w: e[0],
                                        h: e[1]
                                    })),
                                    transactionId: e.ortb2Imp ? .ext ? .tid,
                                    timeout: t ? .timeout,
                                    bidId: e.bidId,
                                    positionType: e.params.positionType || "",
                                    prebidVersion: "10.29.0",
                                    schain: (0, c.v)(e ? .ortb2 ? .source ? .ext ? .schain, ["asi", "sid", "hp", "rid", "name", "domain", "ext"])
                                },
                                i = function(e) {
                                    if ((0, a.fp)(e.getFloor)) {
                                        const t = e.getFloor({
                                            currency: "USD",
                                            mediaType: "banner",
                                            size: e.sizes.map(e => ({
                                                w: e[0],
                                                h: e[1]
                                            }))
                                        });
                                        if ((0, a.Qd)(t) && !isNaN(t.floor) && "USD" === t.currency) return parseFloat(t.floor)
                                    }
                                    return null
                                }(e);
                            i && (n.bidfloor = i), e.params.bidfloor && (n.bidfloor = e.params.bidfloor), t ? .refererInfo && (n.pageDomain = t.refererInfo.page || ""), t ? .gdprConsent && (n.gdpr_consent = t.gdprConsent.consentString, n.gdpr = t.gdprConsent.gdprApplies), n.eids = e ? .userIdAsEids;
                            const s = (0, r.A)(e, "mediaTypes.video"),
                                d = (0, r.A)(e, "mediaTypes.video.context");
                            ("video" === e.mediaType || s && d === p.mn || s && d === p.H6) && (n.context = d, n.videoParams = (0, a.Go)(s));
                            const o = (0, r.A)(e, "mediaTypes.native");
                            if (o) {
                                n.context = "native", n.nativeParams = o;
                                const t = (0, r.A)(e, "mediaTypes.native.image.sizes", []);
                                if (t.length > 0) {
                                    const e = Array.isArray(t[0]) ? t[0] : t;
                                    n.width = e[0] || n.width, n.height = e[1] || n.height
                                }
                            }
                            return {
                                method: "POST",
                                url: "https://prebid.smilewanted.com",
                                data: JSON.stringify(n)
                            }
                        })
                    },
                    interpretResponse: function(e, t) {
                        if (!e.body) return [];
                        const n = [];
                        try {
                            const i = e.body,
                                r = JSON.parse(t.data);
                            if (i) {
                                const e = i.dealId || "",
                                    t = {
                                        ad: i.ad,
                                        cpm: i.cpm,
                                        creativeId: i.creativeId,
                                        currency: i.currency,
                                        dealId: i.dealId,
                                        height: i.height,
                                        netRevenue: i.isNetCpm,
                                        requestId: r.bidId,
                                        ttl: i.ttl,
                                        width: i.width
                                    };
                                if ("video_instream" !== i.formatTypeSw && "video_outstream" !== i.formatTypeSw || (t.mediaType = "video", t.vastUrl = i.ad, t.ad = null, "video_outstream" === i.formatTypeSw && (t.renderer = function(e, t) {
                                        const n = s.A4.install({
                                            id: e.bidId,
                                            url: t.OustreamTemplateUrl,
                                            loaded: !1
                                        });
                                        try {
                                            n.setRender(h)
                                        } catch (e) {}
                                        return n
                                    }(r, i))), "native" === i.formatTypeSw) {
                                    const e = JSON.parse(i.ad),
                                        n = (0, m.rn)(r.nativeParams);
                                    t.mediaType = "native", t.native = (0, m.Ex)(e, n)
                                }
                                e.length > 0 && (t.dealId = e), t.meta = {}, i.meta ? .advertiserDomains && (0, a.cy)(i.meta.advertiserDomains) && (t.meta.advertiserDomains = i.meta.advertiserDomains), n.push(t)
                            }
                        } catch (e) {}
                        return n
                    },
                    getUserSyncs: function(e, t, n, i) {
                        const r = [];
                        if (e.iframeEnabled) {
                            const e = [];
                            n && "string" == typeof n.consentString && ("boolean" == typeof n.gdprApplies ? e.push(`gdpr=${Number(n.gdprApplies)}&gdpr_consent=${n.consentString}`) : e.push(`gdpr_consent=${n.consentString}`)), i && e.push(`us_privacy=${encodeURIComponent(i)}`);
                            const t = e.length > 0 ? "?" + e.join("&") : "";
                            r.push({
                                type: "iframe",
                                url: "https://csync.smilewanted.com" + t
                            })
                        }
                        return r
                    }
                };

                function h(e) {
                    e.renderer.push(() => {
                        window.SmileWantedOutStreamInit({
                            width: e.width,
                            height: e.height,
                            vastUrl: e.vastUrl,
                            elId: e.adUnitCode
                        })
                    })
                }(0, d.a$)(l), (0, i.E)("smilewantedBidAdapter")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85, 817, 147], () => {
                return t = 8637, e(e.s = t);
                var t
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [363], {
            4866(e, t, n) {
                var r = n(1748),
                    s = n(466),
                    i = n(8928),
                    o = n(3435),
                    a = n(3556),
                    p = n(9794),
                    d = n(4827),
                    u = n(7464);
                let l = window.sparteoCrossfire ? .started || !1;
                const c = (0, d.A)({
                    context: {
                        netRevenue: !0,
                        ttl: 60
                    },
                    request(e, t, n, r) {
                        const s = e(t, n, r);
                        n ? .ortb2 ? .site && n ? .ortb2 ? .app && (s.site = n.ortb2.site, delete s.app);
                        const i = !!s.site,
                            a = !!s.app,
                            p = i ? "site" : a ? "app" : null;
                        if (p) {
                            (0, o.J)(s, `${p}.publisher.ext.params.pbjsVersion`, "10.29.0");
                            const e = n ? .bids ? .[0] ? .params ? .networkId;
                            e && (0, o.J)(s, `${p}.publisher.ext.params.networkId`, e);
                            const t = n ? .bids ? .[0] ? .params ? .publisherId;
                            t && (0, o.J)(s, `${p}.publisher.ext.params.publisherId`, t)
                        }
                        return s
                    },
                    imp(e, t, n) {
                        const r = e(t, n);
                        return (0, o.J)(r, "ext.sparteo.params", t.params), r.ext.sparteo.params.adUnitCode = t.adUnitCode, r
                    },
                    bidResponse(e, t, n) {
                        n.mediaType = (0, i.A)(t, "ext.prebid.type");
                        const r = e(t, n);
                        "video" === n.mediaType && (r.nurl = t.nurl, r.vastUrl = (0, i.A)(t, "ext.prebid.cache.vastXml.url") ? ? null);
                        const s = (0, i.A)(t, "ext.prebid.renderer") ? ? null;
                        return s && s.url && (r.renderer = function(e) {
                            const t = u.A4.install({
                                url: e.url,
                                loaded: !1,
                                config: e
                            });
                            try {
                                t.setRender(m)
                            } catch (e) {}
                            return t
                        }(s)), r
                    }
                });

                function m(e) {
                    if (!document.getElementById(e.adUnitCode)) return;
                    const t = e.renderer.getConfig() ? ? {};
                    e.renderer.push(() => {
                        window.ANOutstreamVideo.renderAd({
                            targetId: e.adUnitCode,
                            adResponse: {
                                ad: {
                                    video: {
                                        content: e.vastXml,
                                        player_width: e.width,
                                        player_height: e.height
                                    }
                                }
                            },
                            sizes: [e.width, e.height],
                            rendererOptions: t.options ? ? {}
                        })
                    })
                }
                const f = {
                    code: "sparteo",
                    gvlid: 1028,
                    supportedMediaTypes: [p.D4, p.G_],
                    isBidRequestValid: function(e) {
                        const t = (0, i.A)(e, "mediaTypes.banner"),
                            n = (0, i.A)(e, "mediaTypes.video");
                        if (!e.params) return !1;
                        if (!e.params.networkId && !e.params.publisherId) return !1;
                        if (!t && !n) return !1;
                        if (t) {
                            const e = t.sizes;
                            if (!e || 0 === (0, s.parseSizesInput)(e).length) return !1
                        }
                        return !n || 0 !== (0, s.parseSizesInput)(n.playerSize).length
                    },
                    buildRequests: function(e, t) {
                        const n = c.toORTB({
                                bidRequests: e,
                                bidderRequest: t
                            }),
                            r = function(e, t) {
                                const n = e ? .site ? .publisher ? .ext ? .params ? .networkId ? ? e ? .app ? .publisher ? .ext ? .params ? .networkId;
                                let r, s, i;
                                if (e ? .site) {
                                    if (r = e.site ? .domain, !r && e.site ? .page) try {
                                        r = new URL(e.site.page).hostname
                                    } catch (e) {}
                                    r = r ? r.trim().split("/")[0].split(":")[0].replace(/^www\./, "") : "unknown"
                                } else if (e ? .app) {
                                    s = e.app ? .domain || "", s = s ? s.trim().split("/")[0].split(":")[0].replace(/^www\./, "") : "unknown";
                                    const t = e.app ? .bundle ? ? "",
                                        n = String(t).trim();
                                    i = n && "null" !== n.toLowerCase() ? n : "unknown"
                                }
                                const o = {
                                    NETWORK_ID: n ? ? "",
                                    BUNDLE_QUERY: e ? .app && i ? `&bundle=${encodeURIComponent(i)}` : "",
                                    SITE_DOMAIN_QUERY: r ? `&site_domain=${encodeURIComponent(r)}` : "",
                                    APP_DOMAIN_QUERY: s ? `&app_domain=${encodeURIComponent(s)}` : ""
                                };
                                return t.replace(/\$\{(NETWORK_ID|SITE_DOMAIN_QUERY|APP_DOMAIN_QUERY|BUNDLE_QUERY)\}/g, (e, t) => String(o[t] ? ? ""))
                            }(n, e[0].params.endpoint ? e[0].params.endpoint : "https://bid.sparteo.com/auction?network_id=${NETWORK_ID}${SITE_DOMAIN_QUERY}${APP_DOMAIN_QUERY}${BUNDLE_QUERY}");
                        return {
                            method: "POST",
                            url: r,
                            data: n
                        }
                    },
                    interpretResponse: function(e, t) {
                        return c.fromORTB({
                            response: e.body,
                            request: t.data
                        }).bids
                    },
                    getUserSyncs: function(e, t, n, r) {
                        let s = "";
                        if (!l && !window.sparteoCrossfire ? .started && (n && (s += "&gdpr=" + (n.gdprApplies ? 1 : 0), s += "&gdpr_consent=" + encodeURIComponent(n.consentString || "")), r && r.consentString && (s += `&usp_consent=${r.consentString}`), e.iframeEnabled)) return l = !0, window.sparteoCrossfire = {
                            started: !0
                        }, [{
                            type: "iframe",
                            url: "https://sync.sparteo.com/sync/iframe.html?from=prebidjs" + s
                        }]
                    },
                    onTimeout: function(e) {},
                    onBidWon: function(e) {
                        e && e.nurl && (0, s.triggerPixel)(e.nurl, null)
                    },
                    onSetTargeting: function(e) {}
                };
                (0, a.a$)(f), (0, r.E)("sparteoBidAdapter")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85, 498], () => {
                return t = 4866, e(e.s = t);
                var t
            });
            e.O()
        }
    ]);
    (self.avhbChunk = self.avhbChunk || []).push([
        [469], {
            7355(e, t, n) {
                var r = n(1748),
                    o = n(1933),
                    s = n(8014),
                    i = n(455),
                    a = n(8668),
                    c = n(1418),
                    u = n(2592),
                    l = n(6665);
                const f = new Map;

                function d(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : f;
                    const n = {};

                    function r(e) {
                        const t = JSON.stringify([e.source ? .toLowerCase(), ...Object.keys(e).filter(e => !["uids", "source"].includes(e)).sort().map(t => e[t])]);
                        n.hasOwnProperty(t) ? n[t].uids.push(...e.uids) : n[t] = e
                    }
                    return Object.entries(e).forEach(e => {
                        let [n, o] = e;
                        o = Array.isArray(o) ? o : [o];
                        const s = t.get(n);
                        let i;
                        if ("pubProvidedId" === n) i = (0, l.Go)(o);
                        else if ("function" == typeof s) try {
                            i = (0, l.Go)(s(o)), Array.isArray(i) || (i = [i]), i.forEach(e => {
                                e.uids = e.uids.filter(e => {
                                    let {
                                        id: t
                                    } = e;
                                    return (0, l.O8)(t)
                                })
                            }), i = i.filter(e => {
                                let {
                                    uids: t
                                } = e;
                                return t ? .length > 0
                            })
                        } catch (e) {} else i = o.map(e => function(e, t, n) {
                            if (n && e) {
                                const t = {};
                                t.source = (0, l.fp)(n.getSource) ? n.getSource(e) : n.source;
                                const r = (0, l.fp)(n.getValue) ? n.getValue(e) : e;
                                if ((0, l.O8)(r)) {
                                    const o = {
                                        id: r,
                                        atype: n.atype
                                    };
                                    if ((0, l.fp)(n.getUidExt)) {
                                        const t = n.getUidExt(e);
                                        t && (o.ext = t)
                                    }
                                    if (t.uids = [o], n.inserter || (0, l.fp)(n.getInserter)) {
                                        const r = (0, l.fp)(n.getInserter) ? n.getInserter(e) : n.inserter;
                                        null != r && (t.inserter = r)
                                    }
                                    if (n.matcher || (0, l.fp)(n.getMatcher)) {
                                        const r = (0, l.fp)(n.getMatcher) ? n.getMatcher(e) : n.matcher;
                                        null != r && (t.matcher = r)
                                    }
                                    if (null != n.mm && (t.mm = n.mm), (0, l.fp)(n.getEidExt)) {
                                        const r = n.getEidExt(e);
                                        r && (t.ext = r)
                                    }
                                    return t
                                }
                            }
                            return null
                        }(e, 0, s));
                        Array.isArray(i) && i.filter(e => null != e).forEach(r)
                    }), Object.values(n)
                }

                function g(e) {
                    const t = new Map,
                        n = {};
                    return Object.entries(e).forEach(e => {
                        let [r, o] = e;
                        const s = o();
                        if (s) {
                            n[r] = s.idObj[r];
                            let e = s.submodule.eids ? .[r];
                            "function" == typeof e && (i = e, e = function() {
                                for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                                return i(...t, s.config)
                            }), t.set(r, e)
                        }
                        var i
                    }), d(n, t)
                }
                var m = n(1443),
                    b = n(466),
                    h = n(3435),
                    p = n(3129),
                    y = n(3064),
                    w = n(7841),
                    v = n(1780),
                    I = n(1385),
                    S = n(736),
                    E = n(3202),
                    D = n(5808),
                    O = n(7610),
                    k = n(3391),
                    j = n(5291),
                    x = n(9430);
                const A = m.X0,
                    T = m.qk,
                    C = "_pbjs_id_optout",
                    U = (0, m.CK)("userId"),
                    N = {
                        isAllowed: E.io
                    };
                let $, L, _, P, M, R = [],
                    q = [],
                    F = {},
                    W = [];
                const G = (() => {
                    let e;
                    return () => (null == e && (e = (0, w.K7)()), e)
                })();

                function B(e) {
                    return G().fork().renameWith(t => [`userId.mod.${t}`, `userId.mods.${e}.${t}`])
                }

                function J(e, t) {
                    t = t || e.storageMgr;
                    const n = "function" == typeof e.submodule.domainOverride ? e.submodule.domainOverride() : null,
                        r = e.config.storage.name;
                    return function(e, o, s) {
                        t.setCookie(r + (e || ""), o, s, "Lax", n)
                    }
                }

                function K(e, t) {
                    const n = e.config.storage;
                    try {
                        const r = new Date(Date.now() + 864e5 * n.expires).toUTCString(),
                            o = (0, l.Qd)(t) ? JSON.stringify(t) : t;
                        e.enabledStorageTypes.forEach(t => {
                            switch (t) {
                                case A:
                                    ! function(e, t, n) {
                                        const r = e.config.storage,
                                            o = J(e);
                                        o(null, t, n), o("_cst", he(), n), "number" == typeof r.refreshInSeconds && o("_last", (new Date).toUTCString(), n)
                                    }(e, o, r);
                                    break;
                                case T:
                                    ! function(e, t, n) {
                                        const r = e.config.storage,
                                            o = e.storageMgr;
                                        o.setDataInLocalStorage(`${r.name}_exp`, n), o.setDataInLocalStorage(`${r.name}_cst`, he()), o.setDataInLocalStorage(r.name, encodeURIComponent(t)), "number" == typeof r.refreshInSeconds && o.setDataInLocalStorage(`${r.name}_last`, (new Date).toUTCString())
                                    }(e, o, r)
                            }
                        })
                    } catch (e) {}
                }
                const Q = ["", "_last", "_cst"];
                const H = ["", "_last", "_exp", "_cst"];

                function V(e) {
                    De(e), e.enabledStorageTypes.forEach(t => {
                        switch (t) {
                            case A:
                                ! function(e) {
                                    const t = J(e, U),
                                        n = new Date(Date.now() - 864e5).toUTCString();
                                    Q.forEach(e => {
                                        try {
                                            t(e, "", n)
                                        } catch (e) {}
                                    })
                                }(e);
                                break;
                            case T:
                                ! function(e) {
                                    H.forEach(t => {
                                        try {
                                            U.removeDataFromLocalStorage(e.config.storage.name + t)
                                        } catch (e) {}
                                    })
                                }(e)
                        }
                    })
                }

                function Y(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0;
                    const n = e.config.storage,
                        r = t ? `${n.name}_${t}` : n.name;
                    let o;
                    try {
                        e.enabledStorageTypes.find(t => {
                            switch (t) {
                                case A:
                                    o = function(e, t) {
                                        return e.storageMgr.getCookie(t)
                                    }(e, r);
                                    break;
                                case T:
                                    o = function(e, t) {
                                        const n = e.storageMgr,
                                            r = e.config.storage,
                                            o = n.getDataFromLocalStorage(`${r.name}_exp`);
                                        return "" === o ? n.getDataFromLocalStorage(t) : o && new Date(o).getTime() - Date.now() > 0 ? decodeURIComponent(n.getDataFromLocalStorage(t)) : void 0
                                    }(e, r)
                            }
                            return !!o
                        }), "string" == typeof o && "{" === o.trim().charAt(0) && (o = JSON.parse(o))
                    } catch (e) {}
                    return o
                }

                function Z(e, t, n) {
                    t = G().fork().startTiming("userId.callbacks.total").stopBefore(t);
                    const r = (0, b.delayExecution)(() => {
                        clearTimeout(void 0), t()
                    }, e.length);
                    e.forEach(function(e) {
                        const t = B(e.submodule.name).startTiming("callback").stopBefore(r);
                        try {
                            e.callback(function(r) {
                                r && (e.config.storage && K(e, r), e.idObj = e.submodule.decode(r, e.config), n.refresh(), ye(n)), t()
                            }, Y.bind(null, e))
                        } catch (e) {
                            t()
                        }
                        e.callback = void 0
                    })
                }

                function X(e, t, n) {
                    const r = {};
                    return e.forEach(e => {
                        const o = n(e),
                            s = function(e) {
                                if (e.primaryIds) return e.primaryIds;
                                const t = Object.keys(e.eids ? ? {});
                                if (t.length > 1) throw new Error(`ID submodule ${e.name} can provide multiple IDs, but does not specify 'primaryIds'`);
                                return t
                            }(o);
                        t(e).forEach(t => {
                            const n = r[t] = r[t] ? ? [],
                                i = F[t] ? .indexOf(o.name) ? ? (s.includes(t) ? 0 : -1),
                                a = n.findIndex(e => {
                                    let [t] = e;
                                    return t < i
                                });
                            n.splice(-1 === a ? n.length : a, 0, [i, e])
                        })
                    }), Object.fromEntries(Object.entries(r).map(e => {
                        let [t, n] = e;
                        return [t, n.map(e => {
                            let [t, n] = e;
                            return n
                        })]
                    }))
                }

                function z() {
                    const e = {
                        submodules: [],
                        global: {},
                        bidder: {},
                        combined: {},
                        refresh() {
                            let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];
                            const n = new Set(t.map(e => e.submodule));
                            e.submodules = e.submodules.filter(e => !n.has(e.submodule)).concat(t),
                                function() {
                                    const t = X(e.submodules, e => Object.keys(e.idObj ? ? {}), e => e.submodule),
                                        n = {},
                                        r = {};

                                    function o(e, t, n) {
                                        return function() {
                                            for (const {
                                                    allowed: r,
                                                    bidders: o,
                                                    module: s
                                                } of n) {
                                                if (!N.isAllowed(D.yl, (0, O.s)(S.fW, s ? .config ? .name, {
                                                        init: !1
                                                    }))) continue;
                                                const n = s.idObj ? .[e];
                                                if (null != n) {
                                                    if (r) return s;
                                                    if (t) {
                                                        return null
                                                    }
                                                    if (null == o) return null
                                                }
                                            }
                                            return null
                                        }
                                    }
                                    Object.entries(t).forEach(e => {
                                        let [t, s] = e, i = !0;
                                        const a = new Set;
                                        s = s.map(e => {
                                            let t = null;
                                            return Array.isArray(e.config.bidders) && e.config.bidders.length > 0 ? (t = e.config.bidders, t.forEach(e => a.add(e))) : i = !1, {
                                                module: e,
                                                bidders: t
                                            }
                                        }), i || (n[t] = o(t, !0, s.map(e => {
                                            let {
                                                bidders: t,
                                                module: n
                                            } = e;
                                            return {
                                                allowed: null == t,
                                                bidders: t,
                                                module: n
                                            }
                                        }))), a.forEach(e => {
                                            r[e] = r[e] ? ? {}, r[e][t] = o(t, !1, s.map(t => {
                                                let {
                                                    bidders: n,
                                                    module: r
                                                } = t;
                                                return {
                                                    allowed: n ? .includes(e),
                                                    bidders: n,
                                                    module: r
                                                }
                                            }))
                                        })
                                    });
                                    const s = Object.values(r).concat([n]).reduce((e, t) => Object.assign(e, t), {});
                                    Object.assign(e, {
                                        global: n,
                                        bidder: r,
                                        combined: s
                                    })
                                }()
                        }
                    };
                    return e
                }

                function ee(e) {
                    let {
                        ortb2Fragments: t
                    } = e;
                    t = t ? ? {
                            global: {},
                            bidder: {}
                        },
                        function(e) {
                            const {
                                global: t,
                                bidder: n
                            } = e, {
                                global: r,
                                bidder: o
                            } = $, s = g(r);
                            s.length > 0 && (0, h.J)(t, "user.ext.eids", (t.user ? .ext ? .eids ? ? []).concat(s)), Object.entries(o).forEach(e => {
                                let [t, r] = e;
                                const o = g(r);
                                o.length > 0 && (0, h.J)(n, `${t}.user.ext.eids`, (n[t] ? .user ? .ext ? .eids ? ? []).concat(o))
                            })
                        }(t)
                }
                const te = {};
                let ne;

                function re() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ce() || [];
                    const t = P && e.find(e => e.source === P);
                    if (t && "string" == typeof t ? .uids ? .[0] ? .id) {
                        const e = t.uids[0].id.replace(/[\W_]/g, "");
                        if (e.length >= 32 && e.length <= 150) return e
                    }
                }
                const oe = (0, w.Ak)("userId", function(e, t) {
                    let {
                        mkDelay: n = y.cb,
                        getIds: r = be
                    } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
                    y.U9.race([r().catch(() => null), n(_)]).then(() => {
                        ee(t), G().join((0, w.BO)(t.metrics), {
                            propagate: !1,
                            includeGroups: !0
                        }), e.call(this, t)
                    })
                });

                function se(e, t) {
                    t.forEach(e => {
                        e.bids.forEach(t => Object.defineProperty(t, "userIdAsEids", {
                            configurable: !0,
                            get: () => e.ortb2.user ? .ext ? .eids ? ? []
                        }))
                    }), e(t)
                }

                function ie(e, t) {
                    const n = {},
                        r = t.getFPD() ? .global ? .user ? .ext ? .eids ? ? [];
                    t.getAdUnits().flatMap(e => e.bids).forEach(e => {
                        const o = null == (s = e.bidder) ? r : (n.hasOwnProperty(s) || (n[s] = (0, b.mergeDeep)({
                            eids: []
                        }, {
                            eids: r
                        }, {
                            eids: t.getFPD() ? .bidder ? .[s] ? .user ? .ext ? .eids ? ? []
                        }).eids), n[s]);
                        var s;
                        o.length > 0 && (e.userIdAsEids = o)
                    }), e(t)
                }

                function ae() {
                    return e = $.combined, Object.fromEntries(Object.entries(e).map(e => {
                        let [t, n] = e;
                        return [t, n() ? .idObj ? .[t]]
                    }).filter(e => {
                        let [t, n] = e;
                        return null != n
                    }));
                    var e
                }

                function ce() {
                    return g($.combined)
                }

                function ue(e) {
                    return ce().filter(t => t.source === e)[0]
                }

                function le(e, t, n) {
                    return ge().then(() => {
                        const r = {};
                        if ((0, l.fp)(n)) {
                            const t = n(e);
                            r[e] = t ? fe(t) : null
                        } else {
                            const n = ue(e);
                            (0, b.isEmpty)(n) || (r[n.source] = !0 === t ? fe(n) : n.uids[0].id)
                        }
                        return r[e]
                    })
                }

                function fe(e) {
                    let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1,
                        n = "";
                    if (1 === t) n = "object" == typeof e ? window.btoa(JSON.stringify(e)) : window.btoa(e);
                    return `${t}||${n}`
                }

                function de() {
                    if (!(0, b.isGptPubadsDefined)()) return;
                    const e = o.$W.getConfig("userSync.encryptedSignalSources");
                    if (e) {
                        const t = e.registerDelay || 0;
                        setTimeout(() => {
                            e.sources && e.sources.forEach(e => {
                                let {
                                    source: t,
                                    encrypt: n,
                                    customFunc: r
                                } = e;
                                t.forEach(e => {
                                    window.googletag.secureSignalProviders.push({
                                        id: e,
                                        collectorFunction: () => le(e, n, r)
                                    })
                                })
                            })
                        }, t)
                    }
                }

                function ge(e) {
                    return ne(e).then(() => ae(), e => e === te ? Promise.resolve().then(be) : y.U9.reject(e))
                }

                function me() {
                    let {
                        submoduleNames: e
                    } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0;
                    return ge({
                        refresh: !0,
                        submoduleNames: e
                    }).then(e => (t && (0, l.fp)(t) && t(), e))
                }

                function be() {
                    return ge()
                }

                function he() {
                    let e = Number(I.SL.hash);
                    const t = [];
                    for (; e > 0;) t.push(String.fromCharCode(255 & e)), e >>>= 8;
                    return btoa(t.join(""))
                }

                function pe(e, t) {
                    const n = I.SL.getConsentData();
                    if (e.config.storage) {
                        let r, o = Y(e),
                            s = !1;
                        if ("number" == typeof e.config.storage.refreshInSeconds) {
                            const t = new Date(Y(e, "last"));
                            s = t && Date.now() - t.getTime() > 1e3 * e.config.storage.refreshInSeconds
                        }
                        if (!o || s || t || function(e) {
                                const t = Y(e, "cst");
                                return !t || t !== he()
                            }(e)) {
                            const t = Object.assign({
                                enabledStorageTypes: e.enabledStorageTypes
                            }, e.config);
                            r = e.submodule.getId(t, n, o)
                        } else "function" == typeof e.submodule.extendId && (r = e.submodule.extendId(e.config, n, o));
                        (0, l.Qd)(r) && (r.id && (K(e, r.id), o = r.id), "function" == typeof r.callback && (e.callback = r.callback)), o && (e.idObj = e.submodule.decode(o, e.config))
                    } else if (e.config.value) e.idObj = e.config.value;
                    else {
                        const t = e.submodule.getId(e.config, n);
                        (0, l.Qd)(t) && ("function" == typeof t.callback && (e.callback = t.callback), t.id && (e.idObj = e.submodule.decode(t.id, e.config)))
                    }
                }

                function ye(e) {
                    const t = g(e.combined);
                    if (t.length && P) {
                        const e = re(t);
                        e && ((0, b.isGptPubadsDefined)() ? window.googletag.pubads().setPublisherProvidedId(e) : (window.googletag = window.googletag || {}, window.googletag.cmd = window.googletag.cmd || [], window.googletag.cmd.push(function() {
                            window.googletag.pubads().setPublisherProvidedId(e)
                        })))
                    }
                }

                function we(e, t) {
                    let n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
                    return G().fork().measureTime("userId.init.modules", function() {
                        if (!t.length) return [];
                        if (t.forEach(e => De(e)), !(t = t.filter(e => (!e.config.storage || !!e.enabledStorageTypes.length) && N.isAllowed(D.yl, (0, O.s)(S.fW, e.config.name)))).length) return [];
                        const r = t.reduce((e, t) => B(t.submodule.name).measureTime("init", () => {
                            try {
                                pe(t, n), e.push(t)
                            } catch (e) {}
                            return e
                        }), []);
                        return e.refresh(r), ye(e), r
                    })
                }

                function ve(e) {
                    return e ? .storage ? .type ? .trim().split(/\s*&\s*/) || []
                }

                function Ie(e) {
                    function t(e) {
                        for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r]
                    }
                    return Array.isArray(e) ? e.filter(e => {
                        if (!e ? .name) return t('must specify "name"', e);
                        if (e.storage) {
                            if (!e.storage.name || !e.storage.type) return t('must specify "storage.name" and "storage.type"', e);
                            if (! function(e) {
                                    return ve(e).every(e => Se.has(e))
                                }(e)) return t('invalid "storage.type"', e);
                            ["expires", "refreshInSeconds"].forEach(n => {
                                let r = e.storage[n];
                                null != r && "number" != typeof r && (r = Number(r), isNaN(r) ? (t(`storage.${n} must be a number and will be ignored`, e), delete e.storage[n]) : e.storage[n] = r)
                            })
                        }
                        return !0
                    }) : (null != e && t("must be an array", e), [])
                }
                const Se = new Set([T, A]);
                const Ee = [1, 2, 3, 4, 7];

                function De(e) {
                    if (e.enabledStorageTypes) return;
                    const t = ve(e.config);
                    e.enabledStorageTypes = t.filter(t => {
                        switch (t) {
                            case T:
                                return H.forEach(t => {
                                        (0, m.p6)("userId", {
                                            type: "web",
                                            identifier: e.config.storage.name + t,
                                            purposes: Ee
                                        })
                                    }),
                                    function(e) {
                                        return !!e.storageMgr.localStorageIsEnabled() && !U.getDataFromLocalStorage(C)
                                    }(e);
                            case A:
                                return Q.forEach(t => {
                                        (0, m.p6)("userId", {
                                            type: "cookie",
                                            identifier: e.config.storage.name + t,
                                            purposes: Ee,
                                            maxAgeSeconds: 24 * (e.config.storage.expires ? ? 0) * 60 * 60,
                                            cookieRefresh: !0
                                        })
                                    }),
                                    function(e) {
                                        return !!e.storageMgr.cookiesAreEnabled() && !U.getCookie(C)
                                    }(e)
                        }
                        return !1
                    })
                }

                function Oe(e) {
                    f.clear(), Object.entries(X(e, e => Object.keys(e.eids || {}), e => e)).forEach(e => {
                        let [t, n] = e;
                        return f.set(t, n[0].eids[t])
                    })
                }

                function ke() {
                    let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                    Oe(W);
                    const t = Ie(q);
                    if (!t.length) return;
                    const n = function(e, t) {
                        let n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : R,
                            r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : W;
                        const {
                            autoRefresh: o,
                            retainConfig: s
                        } = e;
                        return r.reduce((e, r) => {
                            const {
                                name: i,
                                aliasName: a
                            } = r, c = e => [i, a].some(t => t ? .toLowerCase() === e.toLowerCase()), u = t.find(e => c(e.name));
                            if (!u) {
                                if (!s) return e;
                                const t = n.find(e => c(e.config.name));
                                return t ? [...e, t] : e
                            }
                            const l = {
                                submodule: r,
                                config: { ...u,
                                    name: r.name
                                },
                                callback: void 0,
                                idObj: void 0,
                                storageMgr: (0, m.le)({
                                    moduleType: S.fW,
                                    moduleName: u.name,
                                    advertiseKeys: !1
                                })
                            };
                            if (o) {
                                const e = n.find(e => c(e.config.name));
                                l.refreshIds = !e || !(0, b.deepEqual)(l.config, e.config)
                            }
                            return [...e, l]
                        }, [])
                    }(e, t);
                    R.splice(0, R.length), R.push(...n), R.length && (i.gH.getHooks({
                        hook: oe
                    }).length || (i.gH.before(oe, 100), a.Ay.callDataDeletionRequest.before(je), p.Q.after(e => e(re()))))
                }

                function je(e) {
                    for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];
                    R.forEach(e => {
                        if ("function" == typeof e.submodule.onDataDeletionRequest) try {
                            e.submodule.onDataDeletionRequest(e.config, e.idObj, ...n)
                        } catch (e) {}
                        V(e)
                    }), e.apply(this, n)
                }

                function xe(e) {
                    return function() {
                        for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) n[r] = arguments[r];
                        return Promise.resolve(e.apply(this, n))
                    }
                }
                const Ae = (e, t) => n => {
                    if (n[j.Dk] !== S.fW || !n[j.OI]) return;
                    const r = e.find(e => {
                        return t = e.name, n[j.iK] ? .toLowerCase() === t ? .toLowerCase();
                        var t
                    });
                    if (r && r.storage && n[j.Zw] !== r.storage.type) {
                        const e = `${r.name} attempts to store data in ${n[j.Zw]} while configuration allows ${r.storage.type}.`;
                        if (t) return {
                            allow: !1,
                            reason: e
                        }
                    }
                };

                function Te(e) {
                    let t, {
                        mkDelay: n = y.cb
                    } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
                    P = void 0, R = [], q = [], $ = z(), ne = function() {
                        let {
                            mkDelay: e = y.cb
                        } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                        const t = (0, y.v6)(),
                            n = (0, y.v6)();
                        let r, o, i = !1;

                        function a(e) {
                            return o = G().fork(), null != r && r.reject(te), r = (0, y.v6)(), y.U9.race([e, r.promise]).finally(o.startTiming("userId.total"))
                        }
                        const f = $,
                            d = R;

                        function g(e) {
                            return function() {
                                if (f === $ && d === R) return e(...arguments)
                            }
                        }

                        function m() {
                            return I.SL.promise.finally(o.startTiming("userId.init.consent"))
                        }
                        let b = a(y.U9.all([u.Gc, t.promise]).then(m).then(g(() => {
                            we(f, d)
                        })).then(() => n.promise.finally(o.startTiming("userId.callbacks.pending"))).then(g(() => {
                            const e = f.submodules.filter(e => (0, l.fp)(e.callback));
                            if (e.length) return new y.U9(t => Z(e, t, f))
                        })));
                        return function() {
                            let {
                                refresh: r = !1,
                                submoduleNames: o = null,
                                ready: u = !1
                            } = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
                            return u && !i && (i = !0, t.resolve(), _ > 0 ? n.resolve() : s.on(c.qY.AUCTION_END, function t() {
                                s.AU(c.qY.AUCTION_END, t), e(L).then(n.resolve)
                            })), r && i && (b = a(b.catch(() => null).then(m).then(g(() => {
                                const e = we(f, d.filter(e => null == o || o.includes(e.submodule.name)), !0).filter(e => null != e.callback);
                                if (e.length) return new y.U9(t => Z(e, t, f))
                            })))), b
                        }
                    }({
                        mkDelay: n
                    }), null != M && M(), W = [], M = e.getConfig("userSync", e => {
                        const n = e.userSync;
                        if (n && (P = n.ppid, n.userIds)) {
                            const {
                                autoRefresh: e = !1,
                                retainConfig: r = !0,
                                enforceStorageType: o
                            } = n;
                            q = n.userIds, L = (0, l.Et)(n.syncDelay) ? n.syncDelay : k.qh.syncDelay, _ = (0, l.Et)(n.auctionDelay) ? n.auctionDelay : k.qh.auctionDelay, ke({
                                    retainConfig: r,
                                    autoRefresh: e
                                }), t ? .(), t = (0, E.qB)(D.Ue, "enforceStorageTypeRule", Ae(R.map(e => {
                                    let {
                                        config: t
                                    } = e;
                                    return t
                                }), o)),
                                function(e, t) {
                                    if (e) {
                                        const n = {},
                                            r = new Map(t.map(e => e.aliasName ? [e.aliasName, e.name] : []));
                                        Object.keys(e).forEach(t => {
                                            const o = (0, l.cy)(e[t]) ? [...e[t]].reverse() : [];
                                            n[t] = o.map(e => r.has(e) ? r.get(e) : e)
                                        }), F = n
                                    } else F = {};
                                    $.refresh(), Oe(t)
                                }(n.idPriority, W), ne({
                                    ready: !0
                                });
                            const s = R.filter(e => e.refreshIds);
                            s.length && me({
                                submoduleNames: s.map(e => e.submodule.name)
                            })
                        }
                    }), a.Ay.makeBidRequests.after(se), x.NE.before(ie), (0, i.xu)("getUserIds", ae), (0, i.xu)("getUserIdsAsEids", ce), (0, i.xu)("getEncryptedEidsForSource", xe(le)), (0, i.xu)("registerSignalSources", de), (0, i.xu)("refreshUserIds", xe(me)), (0, i.xu)("getUserIdsAsync", xe(be)), (0, i.xu)("getUserIdsAsEidBySource", ue)
                }
                Te(o.$W), (0, u.xG)("userId", function(e) {
                    e.findRootDomain = v.S, (W || []).find(t => t.name === e.name) || (W.push(e), I.o2.register(S.fW, e.name, e.gvlid), ke(), ne({
                        refresh: !0,
                        submoduleNames: [e.name]
                    }))
                }, {
                    postInstallAllowed: !0
                }), (0, r.E)("userId")
            }
        },
        e => {
            e.O(0, [802, 769, 315, 85], () => {
                return t = 7355, e(e.s = t);
                var t
            });
            e.O()
        }
    ]);
})(), avhb.processQueue();