;
! function() {
    try {
        var e = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof global ? global : "undefined" != typeof window ? window : "undefined" != typeof self ? self : {},
            n = (new e.Error).stack;
        n && ((e._debugIds || (e._debugIds = {}))[n] = "d398de7b-ecba-8b44-3e34-253e71252e02")
    } catch (e) {}
}();
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push(["object" == typeof document ? document.currentScript : void 0, 37611, (e, t, n) => {
    var r = Object.prototype.hasOwnProperty;

    function i(e) {
        return "[Throws: " + (e ? e.message : "?") + "]"
    }

    function o(e) {
        var t = [];
        return function e(n) {
            if (null === n || "object" != typeof n) return n;
            if (-1 !== t.indexOf(n)) return "[Circular]";
            if (t.push(n), "function" == typeof n.toJSON) try {
                var o = e(n.toJSON());
                return t.pop(), o
            } catch (e) {
                return i(e)
            }
            if (Array.isArray(n)) {
                var a = n.map(e);
                return t.pop(), a
            }
            var s = Object.keys(n).reduce(function(t, o) {
                return t[o] = e(function(e, t) {
                    if (r.call(e, t)) try {
                        return e[t]
                    } catch (e) {
                        return i(e)
                    }
                    return e[t]
                }(n, o)), t
            }, {});
            return t.pop(), s
        }(e)
    }
    t.exports = function(e, t, n) {
        return JSON.stringify(o(e), t, n)
    }, t.exports.ensureProperties = o
}, 285665, (e, t, n) => {
    "use strict";
    Object.defineProperty(n, "__esModule", {
        value: !0
    }), n.Observable = void 0;
    let r = e => !!Symbol[e],
        i = e => r(e) ? Symbol[e] : "@@" + e,
        o = i("iterator"),
        a = i("observable"),
        s = i("species");

    function u(e, t) {
        let n = e[t];
        if (null != n) {
            if ("function" != typeof n) throw TypeError(n + " is not a function");
            return n
        }
    }

    function c(e) {
        let t = e.constructor;
        return void 0 !== t && null === (t = t[s]) && (t = void 0), void 0 !== t ? t : m
    }

    function l(e) {
        l.log ? l.log(e) : setTimeout(() => {
            throw e
        })
    }

    function d(e) {
        Promise.resolve().then(() => {
            try {
                e()
            } catch (e) {
                l(e)
            }
        })
    }

    function f(e) {
        let t = e._cleanup;
        if (void 0 !== t && (e._cleanup = void 0, t)) try {
            if ("function" == typeof t) t();
            else {
                let e = u(t, "unsubscribe");
                e && e.call(t)
            }
        } catch (e) {
            l(e)
        }
    }

    function p(e) {
        e._observer = void 0, e._queue = void 0, e._state = "closed"
    }

    function g(e, t, n) {
        e._state = "running";
        let r = e._observer;
        try {
            let i = u(r, t);
            switch (t) {
                case "next":
                    i && i.call(r, n);
                    break;
                case "error":
                    if (p(e), i) i.call(r, n);
                    else throw n;
                    break;
                case "complete":
                    p(e), i && i.call(r)
            }
        } catch (e) {
            l(e)
        }
        "closed" === e._state ? f(e) : "running" === e._state && (e._state = "ready")
    }

    function h(e, t, n) {
        if ("closed" !== e._state) {
            if ("buffering" === e._state) return void e._queue.push({
                type: t,
                value: n
            });
            if ("ready" !== e._state) {
                e._state = "buffering", e._queue = [{
                    type: t,
                    value: n
                }], d(() => (function(e) {
                    let t = e._queue;
                    if (t) {
                        e._queue = void 0, e._state = "ready";
                        for (let n = 0; n < t.length && (g(e, t[n].type, t[n].value), "closed" !== e._state); ++n);
                    }
                })(e));
                return
            }
            g(e, t, n)
        }
    }
    class v {
        constructor(e, t) {
            this._cleanup = void 0, this._observer = e, this._queue = void 0, this._state = "initializing";
            let n = this,
                r = {
                    get closed() {
                        return "closed" === n._state
                    },
                    next(e) {
                        h(n, "next", e)
                    },
                    error(e) {
                        h(n, "error", e)
                    },
                    complete() {
                        h(n, "complete")
                    }
                };
            try {
                this._cleanup = t.call(void 0, r)
            } catch (e) {
                r.error(e)
            }
            "initializing" === this._state && (this._state = "ready")
        }
        get closed() {
            return "closed" === this._state
        }
        unsubscribe() {
            "closed" !== this._state && (p(this), f(this))
        }
    }
    class m {
        constructor(e) {
            if (!(this instanceof m)) throw TypeError("Observable cannot be called as a function");
            if ("function" != typeof e) throw TypeError("Observable initializer must be a function");
            this._subscriber = e
        }
        subscribe(e) {
            return ("object" != typeof e || null === e) && (e = {
                next: e,
                error: arguments[1],
                complete: arguments[2]
            }), new v(e, this._subscriber)
        }
        forEach(e) {
            return new Promise((t, n) => {
                if ("function" != typeof e) return void n(TypeError(e + " is not a function"));

                function r() {
                    i.unsubscribe(), t()
                }
                let i = this.subscribe({
                    next(t) {
                        try {
                            e(t, r)
                        } catch (e) {
                            n(e), i.unsubscribe()
                        }
                    },
                    error: n,
                    complete: t
                })
            })
        }
        map(e) {
            if ("function" != typeof e) throw TypeError(e + " is not a function");
            return new(c(this))(t => this.subscribe({
                next(n) {
                    try {
                        n = e(n)
                    } catch (e) {
                        return t.error(e)
                    }
                    t.next(n)
                },
                error(e) {
                    t.error(e)
                },
                complete() {
                    t.complete()
                }
            }))
        }
        filter(e) {
            if ("function" != typeof e) throw TypeError(e + " is not a function");
            return new(c(this))(t => this.subscribe({
                next(n) {
                    try {
                        if (!e(n)) return
                    } catch (e) {
                        return t.error(e)
                    }
                    t.next(n)
                },
                error(e) {
                    t.error(e)
                },
                complete() {
                    t.complete()
                }
            }))
        }
        reduce(e) {
            if ("function" != typeof e) throw TypeError(e + " is not a function");
            let t = c(this),
                n = arguments.length > 1,
                r = !1,
                i = arguments[1],
                o = i;
            return new t(t => this.subscribe({
                next(i) {
                    let a = !r;
                    if (r = !0, !a || n) try {
                        o = e(o, i)
                    } catch (e) {
                        return t.error(e)
                    } else o = i
                },
                error(e) {
                    t.error(e)
                },
                complete() {
                    if (!r && !n) return t.error(TypeError("Cannot reduce an empty sequence"));
                    t.next(o), t.complete()
                }
            }))
        }
        async all() {
            let e = [];
            return await this.forEach(t => e.push(t)), e
        }
        concat(...e) {
            let t = c(this);
            return new t(n => {
                let r, i = 0;
                return ! function o(a) {
                    r = a.subscribe({
                        next(e) {
                            n.next(e)
                        },
                        error(e) {
                            n.error(e)
                        },
                        complete() {
                            i === e.length ? (r = void 0, n.complete()) : o(t.from(e[i++]))
                        }
                    })
                }(this), () => {
                    r && (r.unsubscribe(), r = void 0)
                }
            })
        }
        flatMap(e) {
            if ("function" != typeof e) throw TypeError(e + " is not a function");
            let t = c(this);
            return new t(n => {
                let r = [],
                    i = this.subscribe({
                        next(i) {
                            if (e) try {
                                i = e(i)
                            } catch (e) {
                                return n.error(e)
                            }
                            let a = t.from(i).subscribe({
                                next(e) {
                                    n.next(e)
                                },
                                error(e) {
                                    n.error(e)
                                },
                                complete() {
                                    let e = r.indexOf(a);
                                    e >= 0 && r.splice(e, 1), o()
                                }
                            });
                            r.push(a)
                        },
                        error(e) {
                            n.error(e)
                        },
                        complete() {
                            o()
                        }
                    });

                function o() {
                    i.closed && 0 === r.length && n.complete()
                }
                return () => {
                    r.forEach(e => e.unsubscribe()), i.unsubscribe()
                }
            })
        }[a]() {
            return this
        }
        static from(e) {
            let t = "function" == typeof this ? this : m;
            if (null == e) throw TypeError(e + " is not an object");
            let n = u(e, a);
            if (n) {
                let r = n.call(e);
                if (Object(r) !== r) throw TypeError(r + " is not an object");
                return r instanceof m && r.constructor === t ? r : new t(e => r.subscribe(e))
            }
            if (r("iterator") && (n = u(e, o))) return new t(t => {
                d(() => {
                    if (!t.closed) {
                        for (let r of n.call(e))
                            if (t.next(r), t.closed) return;
                        t.complete()
                    }
                })
            });
            if (Array.isArray(e)) return new t(t => {
                d(() => {
                    if (!t.closed) {
                        for (let n = 0; n < e.length; ++n)
                            if (t.next(e[n]), t.closed) return;
                        t.complete()
                    }
                })
            });
            throw TypeError(e + " is not observable")
        }
        static of (...e) {
            return new("function" == typeof this ? this : m)(t => {
                d(() => {
                    if (!t.closed) {
                        for (let n = 0; n < e.length; ++n)
                            if (t.next(e[n]), t.closed) return;
                        t.complete()
                    }
                })
            })
        }
        static get[s]() {
            return this
        }
    }
    n.Observable = m, Object.defineProperty(m, Symbol("extensions"), {
        value: {
            symbol: a,
            hostReportError: l
        },
        configurable: !0
    })
}, 79815, (e, t, n) => {
    t.exports = e.r(285665).Observable
}, 694231, e => {
    "use strict";
    let t;
    var n, r, i, o, a, s, u, c, l, d, f, p, g, h, v, m, _, y, b, w, E, S, T = e.i(974838),
        k = e.i(274466),
        I = e.i(842183),
        C = e.i(60536),
        A = function(e) {
            if (Object.keys(e).length > 1e3) return !1;
            for (var t in e) {
                var n = e[t];
                if (!P(t, n)) return !1
            }
            return !0
        },
        P = function(e, t) {
            var n, r;
            if ("string" != typeof e) return !1;
            if (Array.isArray(t)) {
                var i = !0;
                try {
                    for (var o = (0, k.__values)(t), a = o.next(); !a.done; a = o.next()) {
                        var s = a.value;
                        if (Array.isArray(s)) return !1;
                        if ("object" == typeof s) i = i && A(s);
                        else if (!["number", "string"].includes(typeof s)) return !1;
                        if (!i) return !1
                    }
                } catch (e) {
                    n = {
                        error: e
                    }
                } finally {
                    try {
                        a && !a.done && (r = o.return) && r.call(o)
                    } finally {
                        if (n) throw n.error
                    }
                }
            } else if (null == t) return !1;
            else if ("object" == typeof t) return A(t);
            else if (!["number", "string", "boolean"].includes(typeof t)) return !1;
            return !0
        },
        x = function() {
            function e() {
                this._propertySet = new Set, this._properties = {}
            }
            return e.prototype.getUserProperties = function() {
                return (0, k.__assign)({}, this._properties)
            }, e.prototype.set = function(e, t) {
                return this._safeSet(f.SET, e, t), this
            }, e.prototype.setOnce = function(e, t) {
                return this._safeSet(f.SET_ONCE, e, t), this
            }, e.prototype.append = function(e, t) {
                return this._safeSet(f.APPEND, e, t), this
            }, e.prototype.prepend = function(e, t) {
                return this._safeSet(f.PREPEND, e, t), this
            }, e.prototype.postInsert = function(e, t) {
                return this._safeSet(f.POSTINSERT, e, t), this
            }, e.prototype.preInsert = function(e, t) {
                return this._safeSet(f.PREINSERT, e, t), this
            }, e.prototype.remove = function(e, t) {
                return this._safeSet(f.REMOVE, e, t), this
            }, e.prototype.add = function(e, t) {
                return this._safeSet(f.ADD, e, t), this
            }, e.prototype.unset = function(e) {
                return this._safeSet(f.UNSET, e, C.UNSET_VALUE), this
            }, e.prototype.clearAll = function() {
                return this._properties = {}, this._properties[f.CLEAR_ALL] = C.UNSET_VALUE, this
            }, e.prototype._safeSet = function(e, t, n) {
                if (this._validate(e, t, n)) {
                    var r = this._properties[e];
                    return void 0 === r && (r = {}, this._properties[e] = r), r[t] = n, this._propertySet.add(t), !0
                }
                return !1
            }, e.prototype._validate = function(e, t, n) {
                return !(void 0 !== this._properties[f.CLEAR_ALL] || this._propertySet.has(t)) && (e === f.ADD ? "number" == typeof n : e === f.UNSET || e === f.REMOVE || P(t, n))
            }, e
        }();
    (n = f || (f = {})).SET = "$set", n.SET_ONCE = "$setOnce", n.ADD = "$add", n.APPEND = "$append", n.PREPEND = "$prepend", n.REMOVE = "$remove", n.PREINSERT = "$preInsert", n.POSTINSERT = "$postInsert", n.UNSET = "$unset", n.CLEAR_ALL = "$clearAll";
    var O = [f.CLEAR_ALL, f.UNSET, f.SET, f.SET_ONCE, f.ADD, f.APPEND, f.PREPEND, f.PREINSERT, f.POSTINSERT, f.REMOVE],
        R = e.i(499875),
        L = function(e, t, n) {
            return void 0 === t && (t = 0), void 0 === n && (n = R.Status.Unknown), {
                event: e,
                code: t,
                message: n
            }
        },
        D = e.i(662778),
        N = function() {
            function e(e) {
                this.client = e, this.queue = [], this.applying = !1, this.plugins = [], this.pluginStatus = new Map, this._optOutListeners = []
            }
            return e.prototype.register = function(e, t) {
                var n, r;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var i;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (void 0 === e.name && (e.name = (0, D.UUID)(), this.loggerProvider.warn("Plugin name is undefined.\n      Generating a random UUID for plugin name: ".concat(e.name, ".\n      Set a name for the plugin to prevent it from being added multiple times."))), i = e.name, this.pluginStatus.has(i)) return this.loggerProvider.warn("Plugin with name ".concat(i, " already exists, skipping registration")), [2];
                                return e.type = null != (n = e.type) ? n : "enrichment", this.pluginStatus.set(i, "locked"), [4, null == (r = e.setup) ? void 0 : r.call(e, t, this.client)];
                            case 1:
                                if (o.sent(), "locked" !== this.pluginStatus.get(i)) return [2];
                                return this.plugins.push(e), this.pluginStatus.set(i, "installed"), [2]
                        }
                    })
                })
            }, e.prototype.deregister = function(e, t) {
                var n;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var r, i;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (this.pluginStatus.delete(e), -1 === (r = this.plugins.findIndex(function(t) {
                                        return t.name === e
                                    }))) return t.loggerProvider.warn("Plugin with name ".concat(e, " does not exist, skipping deregistration")), [2];
                                return i = this.plugins[r], this.plugins.splice(r, 1), [4, null == (n = i.teardown) ? void 0 : n.call(i)];
                            case 1:
                                return o.sent(), [2]
                        }
                    })
                })
            }, e.prototype.reset = function(e) {
                this._clearOptOutListeners(), this.applying = !1, this.plugins.map(function(e) {
                    var t;
                    return null == (t = e.teardown) ? void 0 : t.call(e)
                }), this.plugins = [], this.pluginStatus.clear(), this.client = e
            }, e.prototype.push = function(e) {
                var t = this;
                return new Promise(function(n) {
                    t.queue.push([e, n]), t.scheduleApply(0)
                })
            }, e.prototype.scheduleApply = function(e) {
                var t = this;
                this.applying || (this.applying = !0, setTimeout(function() {
                    t.apply(t.queue.shift()).then(function() {
                        t.applying = !1, t.queue.length > 0 && t.scheduleApply(0)
                    })
                }, e))
            }, e.prototype.apply = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i, o, a, s, u, c, l, d, f, p, g, h;
                    return (0, k.__generator)(this, function(v) {
                        switch (v.label) {
                            case 0:
                                if (!e) return [2];
                                t = (0, k.__read)(e, 1)[0], n = (0, k.__read)(e, 2)[1], this.loggerProvider.log("Timeline.apply: Initial event", t), r = this.plugins.filter(function(e) {
                                    return "before" === e.type
                                }), v.label = 1;
                            case 1:
                                v.trys.push([1, 6, 7, 8]), o = (i = (0, k.__values)(r)).next(), v.label = 2;
                            case 2:
                                if (o.done) return [3, 5];
                                if (!(a = o.value).execute) return [3, 4];
                                return [4, a.execute((0, k.__assign)({}, t))];
                            case 3:
                                if (null === (s = v.sent())) return this.loggerProvider.log("Timeline.apply: Event filtered out by before plugin '".concat(String(a.name), "', event: ").concat(JSON.stringify(t))), n({
                                    event: t,
                                    code: 0,
                                    message: ""
                                }), [2];
                                t = s, this.loggerProvider.log("Timeline.apply: Event after before plugin '".concat(String(a.name), "', event: ").concat(JSON.stringify(t))), v.label = 4;
                            case 4:
                                return o = i.next(), [3, 2];
                            case 5:
                                return [3, 8];
                            case 6:
                                return f = {
                                    error: v.sent()
                                }, [3, 8];
                            case 7:
                                try {
                                    o && !o.done && (p = i.return) && p.call(i)
                                } finally {
                                    if (f) throw f.error
                                }
                                return [7];
                            case 8:
                                u = this.plugins.filter(function(e) {
                                    return "enrichment" === e.type || void 0 === e.type
                                }), v.label = 9;
                            case 9:
                                v.trys.push([9, 14, 15, 16]), l = (c = (0, k.__values)(u)).next(), v.label = 10;
                            case 10:
                                if (l.done) return [3, 13];
                                if (!(a = l.value).execute) return [3, 12];
                                return [4, a.execute((0, k.__assign)({}, t))];
                            case 11:
                                if (null === (s = v.sent())) return this.loggerProvider.log("Timeline.apply: Event filtered out by enrichment plugin '".concat(String(a.name), "', event: ").concat(JSON.stringify(t))), n({
                                    event: t,
                                    code: 0,
                                    message: ""
                                }), [2];
                                t = s, this.loggerProvider.log("Timeline.apply: Event after enrichment plugin '".concat(String(a.name), "', event: ").concat(JSON.stringify(t))), v.label = 12;
                            case 12:
                                return l = c.next(), [3, 10];
                            case 13:
                                return [3, 16];
                            case 14:
                                return g = {
                                    error: v.sent()
                                }, [3, 16];
                            case 15:
                                try {
                                    l && !l.done && (h = c.return) && h.call(c)
                                } finally {
                                    if (g) throw g.error
                                }
                                return [7];
                            case 16:
                                return d = this.plugins.filter(function(e) {
                                    return "destination" === e.type
                                }), this.loggerProvider.log("Timeline.apply: Final event before destinations, event: ".concat(JSON.stringify(t))), Promise.all(d.map(function(e) {
                                    var n = (0, k.__assign)({}, t);
                                    return e.execute(n).catch(function(e) {
                                        return L(n, 0, String(e))
                                    })
                                })).then(function(e) {
                                    var r = (0, k.__read)(e, 1)[0] || L(t, 100, "Event not tracked, no destination plugins on the instance");
                                    n(r)
                                }), [2]
                        }
                    })
                })
            }, e.prototype.flush = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e, t = this;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                return e = this.queue, this.queue = [], [4, Promise.all(e.map(function(e) {
                                    return t.apply(e)
                                }))];
                            case 1:
                                return n.sent(), [4, Promise.all(this.plugins.filter(function(e) {
                                    return "destination" === e.type
                                }).map(function(e) {
                                    return e.flush && e.flush()
                                }))];
                            case 2:
                                return n.sent(), [2]
                        }
                    })
                })
            }, e.prototype.addOptOutListener = function(e) {
                this._optOutListeners.push(e)
            }, e.prototype._clearOptOutListeners = function() {
                this._optOutListeners = []
            }, e.prototype.onIdentityChanged = function(e) {
                this.plugins.forEach(function(t) {
                    var n;
                    null == (n = t.onIdentityChanged) || n.call(t, e)
                })
            }, e.prototype.onSessionIdChanged = function(e) {
                this.plugins.forEach(function(t) {
                    var n;
                    null == (n = t.onSessionIdChanged) || n.call(t, e)
                })
            }, e.prototype.onOptOutChanged = function(e) {
                this.plugins.forEach(function(t) {
                    var n;
                    null == (n = t.onOptOutChanged) || n.call(t, e)
                }), this._callOptOutListeners(e)
            }, e.prototype._callOptOutListeners = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i, o, a;
                    return (0, k.__generator)(this, function(s) {
                        switch (s.label) {
                            case 0:
                                s.trys.push([0, 7, 8, 9]), n = (t = (0, k.__values)(this._optOutListeners)).next(), s.label = 1;
                            case 1:
                                if (n.done) return [3, 6];
                                r = n.value, s.label = 2;
                            case 2:
                                return s.trys.push([2, 4, , 5]), [4, r(e)];
                            case 3:
                                return s.sent(), [3, 5];
                            case 4:
                                return i = s.sent(), this.loggerProvider.error("Error calling optOut listener", i), [3, 5];
                            case 5:
                                return n = t.next(), [3, 1];
                            case 6:
                                return [3, 9];
                            case 7:
                                return o = {
                                    error: s.sent()
                                }, [3, 9];
                            case 8:
                                try {
                                    n && !n.done && (a = t.return) && a.call(t)
                                } finally {
                                    if (o) throw o.error
                                }
                                return [7];
                            case 9:
                                return [2]
                        }
                    })
                })
            }, e.prototype.onReset = function() {
                this.plugins.forEach(function(e) {
                    var t;
                    null == (t = e.onReset) || t.call(e)
                })
            }, e
        }(),
        M = function(e, t) {
            return (0, k.__assign)((0, k.__assign)({}, t), {
                event_type: I.SpecialEventType.IDENTIFY,
                user_properties: e.getUserProperties()
            })
        },
        U = function(e, t, n, r) {
            var i;
            return (0, k.__assign)((0, k.__assign)({}, r), {
                event_type: I.SpecialEventType.GROUP_IDENTIFY,
                group_properties: n.getUserProperties(),
                groups: ((i = {})[e] = t, i)
            })
        },
        j = function(e, t, n) {
            var r, i = new x;
            return i.set(e, t), (0, k.__assign)((0, k.__assign)({}, n), {
                event_type: I.SpecialEventType.IDENTIFY,
                user_properties: i.getUserProperties(),
                groups: ((r = {})[e] = t, r)
            })
        },
        F = e.i(400475),
        q = function() {
            function e(e) {
                void 0 === e && (e = "$default"), this.initializing = !1, this.isReady = !1, this.q = [], this.dispatchQ = [], this.logEvent = this.track.bind(this), this.timeline = new N(this), this.name = e
            }
            return e.prototype._init = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        switch (t.label) {
                            case 0:
                                return this.config = e, this.timeline.reset(this), this.timeline.loggerProvider = this.config.loggerProvider, [4, this.runQueuedFunctions("q")];
                            case 1:
                                return t.sent(), this.isReady = !0, [2]
                        }
                    })
                })
            }, e.prototype.runQueuedFunctions = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i, o, a;
                    return (0, k.__generator)(this, function(s) {
                        switch (s.label) {
                            case 0:
                                t = this[e], this[e] = [], s.label = 1;
                            case 1:
                                s.trys.push([1, 8, 9, 10]), r = (n = (0, k.__values)(t)).next(), s.label = 2;
                            case 2:
                                if (r.done) return [3, 7];
                                if (!((i = (0, r.value)()) && "promise" in i)) return [3, 4];
                                return [4, i.promise];
                            case 3:
                                return s.sent(), [3, 6];
                            case 4:
                                return [4, i];
                            case 5:
                                s.sent(), s.label = 6;
                            case 6:
                                return r = n.next(), [3, 2];
                            case 7:
                                return [3, 10];
                            case 8:
                                return o = {
                                    error: s.sent()
                                }, [3, 10];
                            case 9:
                                try {
                                    r && !r.done && (a = n.return) && a.call(n)
                                } finally {
                                    if (o) throw o.error
                                }
                                return [7];
                            case 10:
                                if (!this[e].length) return [3, 12];
                                return [4, this.runQueuedFunctions(e)];
                            case 11:
                                s.sent(), s.label = 12;
                            case 12:
                                return [2]
                        }
                    })
                })
            }, e.prototype.track = function(e, t, n) {
                var r = (0, k.__assign)((0, k.__assign)((0, k.__assign)({}, "string" == typeof e ? {
                    event_type: e
                } : e), n), t && {
                    event_properties: t
                });
                return this.userProperties = this.getOperationAppliedUserProperties(r.user_properties), (0, F.returnWrapper)(this.dispatch(r))
            }, e.prototype.identify = function(e, t) {
                var n = M(e, t);
                return this.userProperties = this.getOperationAppliedUserProperties(n.user_properties), (0, F.returnWrapper)(this.dispatch(n))
            }, e.prototype.groupIdentify = function(e, t, n, r) {
                var i = U(e, t, n, r);
                return (0, F.returnWrapper)(this.dispatch(i))
            }, e.prototype.setGroup = function(e, t, n) {
                var r = j(e, t, n);
                return this.userProperties = this.getOperationAppliedUserProperties(r.user_properties), (0, F.returnWrapper)(this.dispatch(r))
            }, e.prototype.revenue = function(e, t) {
                var n = (0, k.__assign)((0, k.__assign)({}, t), {
                    event_type: I.SpecialEventType.REVENUE,
                    event_properties: e.getEventProperties()
                });
                return (0, F.returnWrapper)(this.dispatch(n))
            }, e.prototype.add = function(e) {
                return this.isReady ? this._addPlugin(e) : (this.q.push(this._addPlugin.bind(this, e)), (0, F.returnWrapper)())
            }, e.prototype._addPlugin = function(e) {
                return (0, F.returnWrapper)(this.timeline.register(e, this.config))
            }, e.prototype.remove = function(e) {
                return this.isReady ? this._removePlugin(e) : (this.q.push(this._removePlugin.bind(this, e)), (0, F.returnWrapper)())
            }, e.prototype._removePlugin = function(e) {
                return (0, F.returnWrapper)(this.timeline.deregister(e, this.config))
            }, e.prototype.dispatchWithCallback = function(e, t) {
                if (!this.isReady) return t(L(e, 0, "Client not initialized"));
                this.process(e).then(t)
            }, e.prototype.dispatch = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t = this;
                    return (0, k.__generator)(this, function(n) {
                        return this.isReady ? [2, this.process(e)] : [2, new Promise(function(n) {
                            t.dispatchQ.push(t.dispatchWithCallback.bind(t, e, n))
                        })]
                    })
                })
            }, e.prototype.getOperationAppliedUserProperties = function(e) {
                var t, n = null != (t = this.userProperties) ? t : {},
                    r = (0, k.__assign)({}, n);
                if (void 0 === e) return r;
                var i = {};
                return Object.keys(e).forEach(function(t) {
                    Object.values(I.IdentifyOperation).includes(t) || (i[t] = e[t])
                }), O.forEach(function(t) {
                    if (Object.keys(e).includes(t)) {
                        var n = e[t];
                        switch (t) {
                            case I.IdentifyOperation.CLEAR_ALL:
                                Object.keys(r).forEach(function(e) {
                                    delete r[e]
                                });
                                break;
                            case I.IdentifyOperation.UNSET:
                                Object.keys(n).forEach(function(e) {
                                    delete r[e]
                                });
                                break;
                            case I.IdentifyOperation.SET:
                                Object.assign(r, n)
                        }
                    }
                }), Object.assign(r, i), r
            }, e.prototype.process = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n;
                    return (0, k.__generator)(this, function(r) {
                        switch (r.label) {
                            case 0:
                                if (r.trys.push([0, 2, , 3]), this.config.optOut) return [2, L(e, 0, "Event skipped due to optOut config")];
                                return e.event_type === I.SpecialEventType.IDENTIFY && this.timeline.onIdentityChanged({
                                    userProperties: this.userProperties
                                }), [4, this.timeline.push(e)];
                            case 1:
                                return 200 === (t = r.sent()).code ? this.config.loggerProvider.log(t.message) : 100 === t.code ? this.config.loggerProvider.warn(t.message) : this.config.loggerProvider.error(t.message), [2, t];
                            case 2:
                                return n = String(r.sent()), this.config.loggerProvider.error(n), [2, t = L(e, 0, n)];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.setOptOut = function(e) {
                this.isReady ? this._setOptOut(e) : this.q.push(this._setOptOut.bind(this, !!e))
            }, e.prototype._setOptOut = function(e) {
                this.config.optOut !== e && (this.config.optOut = !!e, this.timeline.onOptOutChanged(e))
            }, e.prototype.flush = function() {
                return (0, F.returnWrapper)(this.timeline.flush())
            }, e.prototype.plugin = function(e) {
                var t = this.timeline.plugins.find(function(t) {
                    return t.name === e
                });
                return void 0 === t ? void this.config.loggerProvider.debug("Cannot find plugin with name ".concat(e)) : t
            }, e.prototype.plugins = function(e) {
                return this.timeline.plugins.filter(function(t) {
                    return t instanceof e
                })
            }, e
        }(),
        B = function(e, t) {
            var n = Math.max(t, 1);
            return e.reduce(function(e, t, r) {
                var i = Math.floor(r / n);
                return e[i] || (e[i] = []), e[i].push(t), e
            }, [])
        },
        W = e.i(536323),
        V = e.i(321480),
        H = new Set([C.AMPLITUDE_SERVER_URL, C.EU_AMPLITUDE_SERVER_URL, C.AMPLITUDE_BATCH_SERVER_URL, C.EU_AMPLITUDE_BATCH_SERVER_URL]);

    function G(e) {
        var t = "";
        try {
            "body" in e && (t = JSON.stringify(e.body, null, 2))
        } catch (e) {}
        return t
    }
    var z = function() {
            function e(e) {
                this.name = "amplitude", this.type = "destination", this.retryTimeout = 1e3, this.throttleTimeout = 3e4, this.storageKey = "", this.scheduleId = null, this.scheduledTimeout = 0, this.flushId = null, this.queue = [], this.diagnosticsClient = null == e ? void 0 : e.diagnosticsClient
            }
            return e.prototype.setup = function(e) {
                var t;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var n, r = this;
                    return (0, k.__generator)(this, function(i) {
                        switch (i.label) {
                            case 0:
                                return this.config = e, this.storageKey = "".concat(C.STORAGE_PREFIX, "_").concat(this.config.apiKey.substring(0, 10)), [4, null == (t = this.config.storageProvider) ? void 0 : t.get(this.storageKey)];
                            case 1:
                                return (n = i.sent()) && n.length > 0 && Promise.all(n.map(function(e) {
                                    return r.execute(e)
                                })).catch(), [2, Promise.resolve(void 0)]
                        }
                    })
                })
            }, e.prototype.execute = function(e) {
                var t = this;
                return e.insert_id || (e.insert_id = (0, D.UUID)()), new Promise(function(n) {
                    t.queue.push({
                        event: e,
                        attempts: 0,
                        callback: function(e) {
                            return n(e)
                        },
                        timeout: 0
                    }), t.schedule(t.config.flushIntervalMillis), t.saveEvents()
                })
            }, e.prototype.removeEventsExceedFlushMaxRetries = function(e) {
                var t = this;
                return e.filter(function(e) {
                    return e.attempts += 1, e.attempts < t.config.flushMaxRetries || (t.fulfillRequest([e], 500, "Event rejected due to exceeded retry count"), !1)
                })
            }, e.prototype.scheduleEvents = function(e) {
                var t = this;
                e.forEach(function(e) {
                    t.schedule(0 === e.timeout ? t.config.flushIntervalMillis : e.timeout)
                })
            }, e.prototype.schedule = function(e) {
                var t = this;
                if (!this.config.offline && (null === this.scheduleId || this.scheduleId && e > this.scheduledTimeout)) {
                    this.scheduleId && clearTimeout(this.scheduleId), this.scheduledTimeout = e, this.scheduleId = setTimeout(function() {
                        t.queue = t.queue.map(function(e) {
                            return e.timeout = 0, e
                        }), t.flush(!0)
                    }, e);
                    return
                }
            }, e.prototype.resetSchedule = function() {
                this.scheduleId = null, this.scheduledTimeout = 0
            }, e.prototype.flush = function(e) {
                return void 0 === e && (e = !1), (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r = this;
                    return (0, k.__generator)(this, function(i) {
                        switch (i.label) {
                            case 0:
                                if (this.config.offline) return this.resetSchedule(), this.config.loggerProvider.debug("Skipping flush while offline."), [2];
                                if (this.flushId) return this.resetSchedule(), this.config.loggerProvider.debug("Skipping flush because previous flush has not resolved."), [2];
                                return this.flushId = this.scheduleId, this.resetSchedule(), t = [], n = [], this.queue.forEach(function(e) {
                                    return 0 === e.timeout ? t.push(e) : n.push(e)
                                }), [4, B(t, this.config.flushQueueSize).reduce(function(t, n) {
                                    return (0, k.__awaiter)(r, void 0, void 0, function() {
                                        return (0, k.__generator)(this, function(r) {
                                            switch (r.label) {
                                                case 0:
                                                    return [4, t];
                                                case 1:
                                                    return r.sent(), [4, this.send(n, e)];
                                                case 2:
                                                    return [2, r.sent()]
                                            }
                                        })
                                    })
                                }, Promise.resolve())];
                            case 1:
                                return i.sent(), this.flushId = null, this.scheduleEvents(this.queue), [2]
                        }
                    })
                })
            }, e.prototype.send = function(e, t) {
                var n;
                return void 0 === t && (t = !0), (0, k.__awaiter)(this, void 0, void 0, function() {
                    var r, i, o, a, s;
                    return (0, k.__generator)(this, function(u) {
                        var c, l, d;
                        switch (u.label) {
                            case 0:
                                if (!this.config.apiKey) return [2, this.fulfillRequest(e, 400, "Event rejected due to missing API key")];
                                r = {
                                    api_key: this.config.apiKey,
                                    events: e.map(function(e) {
                                        var t = e.event;
                                        return t.extra, (0, k.__rest)(t, ["extra"])
                                    }),
                                    options: {
                                        min_id_length: this.config.minIdLength
                                    },
                                    client_upload_time: new Date().toISOString(),
                                    request_metadata: this.config.requestMetadata
                                }, this.config.requestMetadata = new W.RequestMetadata, u.label = 1;
                            case 1:
                                return u.trys.push([1, 3, , 4]), c = i = (0, W.createServerConfig)(this.config.serverUrl, this.config.serverZone, this.config.useBatch).serverUrl, void 0 === (l = this.config.enableRequestBodyCompression) && (l = !1), o = !!H.has(c) || l, [4, this.config.transportProvider.send(i, r, o)];
                            case 2:
                                if (null === (a = u.sent())) return this.fulfillRequest(e, 0, "Unexpected error occurred"), [2];
                                if (!t) return "body" in a ? this.fulfillRequest(e, a.statusCode, "".concat(a.status, ": ").concat(G(a))) : this.fulfillRequest(e, a.statusCode, a.status), [2];
                                return this.handleResponse(a, e), [3, 4];
                            case 3:
                                return s = (d = u.sent()) instanceof Error ? d.message : String(d), this.config.loggerProvider.error(s), null == (n = this.diagnosticsClient) || n.recordEvent("analytics.events.unsuccessful.from.catch.error", {
                                    events: e.map(function(e) {
                                        return e.event.event_type
                                    }),
                                    message: s,
                                    stack_trace: (0, T.getStacktrace)()
                                }), this.handleResponse({
                                    status: R.Status.Failed,
                                    statusCode: 0
                                }, e), [3, 4];
                            case 4:
                                return [2]
                        }
                    })
                })
            }, e.prototype.handleResponse = function(e, t) {
                (0, V.isSuccessStatusCode)(e.statusCode) || null == (n = this.diagnosticsClient) || n.recordEvent("analytics.events.unsuccessful", {
                    events: t.map(function(e) {
                        return e.event.event_type
                    }),
                    code: e.statusCode,
                    status: e.status,
                    body: G(e),
                    stack_trace: (0, T.getStacktrace)()
                });
                var n, r = e.status;
                switch (r) {
                    case R.Status.Success:
                        this.handleSuccessResponse(e, t);
                        break;
                    case R.Status.Invalid:
                        this.handleInvalidResponse(e, t);
                        break;
                    case R.Status.PayloadTooLarge:
                        this.handlePayloadTooLargeResponse(e, t);
                        break;
                    case R.Status.RateLimit:
                        this.handleRateLimitResponse(e, t);
                        break;
                    default:
                        this.config.loggerProvider.warn("{code: 0, error: \"Status '".concat(r, "' provided for ").concat(t.length, ' events"}')), this.handleOtherResponse(t)
                }
            }, e.prototype.handleSuccessResponse = function(e, t) {
                this.fulfillRequest(t, e.statusCode, "Event tracked successfully")
            }, e.prototype.handleInvalidResponse = function(e, t) {
                var n = this;
                if (e.body.missingField || e.body.error.startsWith("Invalid API key")) return void this.fulfillRequest(t, e.statusCode, e.body.error);
                var r = new Set((0, k.__spreadArray)((0, k.__spreadArray)((0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(Object.values(e.body.eventsWithInvalidFields)), !1), (0, k.__read)(Object.values(e.body.eventsWithMissingFields)), !1), (0, k.__read)(Object.values(e.body.eventsWithInvalidIdLengths)), !1), (0, k.__read)(e.body.silencedEvents), !1).flat()),
                    i = t.filter(function(t, i) {
                        return !r.has(i) || void n.fulfillRequest([t], e.statusCode, e.body.error)
                    });
                i.length > 0 && this.config.loggerProvider.warn(G(e));
                var o = this.removeEventsExceedFlushMaxRetries(i);
                this.scheduleEvents(o)
            }, e.prototype.handlePayloadTooLargeResponse = function(e, t) {
                if (1 === t.length) return void this.fulfillRequest(t, e.statusCode, e.body.error);
                this.config.loggerProvider.warn(G(e)), this.config.flushQueueSize /= 2;
                var n = this.removeEventsExceedFlushMaxRetries(t);
                this.scheduleEvents(n)
            }, e.prototype.handleRateLimitResponse = function(e, t) {
                var n = this,
                    r = Object.keys(e.body.exceededDailyQuotaUsers),
                    i = Object.keys(e.body.exceededDailyQuotaDevices),
                    o = e.body.throttledEvents,
                    a = new Set(r),
                    s = new Set(i),
                    u = new Set(o),
                    c = t.filter(function(t, r) {
                        return t.event.user_id && a.has(t.event.user_id) || t.event.device_id && s.has(t.event.device_id) ? void n.fulfillRequest([t], e.statusCode, e.body.error) : (u.has(r) && (t.timeout = n.throttleTimeout), !0)
                    });
                c.length > 0 && this.config.loggerProvider.warn(G(e));
                var l = this.removeEventsExceedFlushMaxRetries(c);
                this.scheduleEvents(l)
            }, e.prototype.handleOtherResponse = function(e) {
                var t = this,
                    n = e.map(function(e) {
                        return e.timeout = e.attempts * t.retryTimeout, e
                    }),
                    r = this.removeEventsExceedFlushMaxRetries(n);
                this.scheduleEvents(r)
            }, e.prototype.fulfillRequest = function(e, t, n) {
                var r, i, o;
                (0, V.isSuccessStatusCode)(t) ? null == (o = this.diagnosticsClient) || o.increment("analytics.events.sent", e.length): (null == (r = this.diagnosticsClient) || r.increment("analytics.events.dropped", e.length), null == (i = this.diagnosticsClient) || i.recordEvent("analytics.events.dropped", {
                    events: e.map(function(e) {
                        return e.event.event_type
                    }),
                    code: t,
                    message: n,
                    stack_trace: (0, T.getStacktrace)()
                })), this.removeEvents(e), e.forEach(function(e) {
                    return e.callback(L(e.event, t, n))
                })
            }, e.prototype.saveEvents = function() {
                if (this.config.storageProvider) {
                    var e = this.queue.map(function(e) {
                        return e.event
                    });
                    this.config.storageProvider.set(this.storageKey, e)
                }
            }, e.prototype.removeEvents = function(e) {
                this.queue = this.queue.filter(function(t) {
                    return !e.some(function(e) {
                        return e.event.insert_id === t.event.insert_id
                    })
                }), this.saveEvents()
            }, e
        }(),
        K = function() {
            function e() {
                this.productId = "", this.quantity = 1, this.price = 0
            }
            return e.prototype.setProductId = function(e) {
                return this.productId = e, this
            }, e.prototype.setQuantity = function(e) {
                return e > 0 && (this.quantity = e), this
            }, e.prototype.setPrice = function(e) {
                return this.price = e, this
            }, e.prototype.setRevenueType = function(e) {
                return this.revenueType = e, this
            }, e.prototype.setCurrency = function(e) {
                return this.currency = e, this
            }, e.prototype.setRevenue = function(e) {
                return this.revenue = e, this
            }, e.prototype.setReceipt = function(e) {
                return this.receipt = e, this
            }, e.prototype.setReceiptSig = function(e) {
                return this.receiptSig = e, this
            }, e.prototype.setEventProperties = function(e) {
                try {
                    var t = JSON.parse(JSON.stringify(e));
                    A(t) && (this.properties = t)
                } catch (e) {}
                return this
            }, e.prototype.getEventProperties = function() {
                var e = this.properties ? (0, k.__assign)({}, this.properties) : {};
                return e[p.REVENUE_PRODUCT_ID] = this.productId, e[p.REVENUE_QUANTITY] = this.quantity, e[p.REVENUE_PRICE] = this.price, e[p.REVENUE_TYPE] = this.revenueType, e[p.REVENUE_CURRENCY] = this.currency, e[p.REVENUE] = this.revenue, e[p.RECEIPT] = this.receipt, e[p.RECEIPT_SIG] = this.receiptSig, e
            }, e
        }();
    (r = p || (p = {})).REVENUE_PRODUCT_ID = "$productId", r.REVENUE_QUANTITY = "$quantity", r.REVENUE_PRICE = "$price", r.REVENUE_TYPE = "$revenueType", r.REVENUE_CURRENCY = "$currency", r.REVENUE = "$revenue", r.RECEIPT = "$receipt", r.RECEIPT_SIG = "$receiptSig";
    var J = e.i(173625),
        $ = function(e, t) {
            return void 0 === t && (t = Date.now()), Date.now() - t > e
        },
        X = function() {
            function e() {
                this.name = "identity", this.type = "before", this.identityStore = (0, J.getAnalyticsConnector)().identityStore
            }
            return e.prototype.execute = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t;
                    return (0, k.__generator)(this, function(n) {
                        return (t = e.user_properties) && this.identityStore.editIdentity().updateUserProperties(t).commit(), [2, e]
                    })
                })
            }, e.prototype.setup = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        return e.instanceName && (this.identityStore = (0, J.getAnalyticsConnector)(e.instanceName).identityStore), [2]
                    })
                })
            }, e
        }(),
        Y = e.i(423129),
        Q = function() {
            var e, t = (0, Y.getGlobalScope)();
            return (null == (e = null == t ? void 0 : t.location) ? void 0 : e.search) ? t.location.search.substring(1).split("&").filter(Boolean).reduce(function(e, t) {
                var n = t.split("=", 2),
                    r = Z(n[0]),
                    i = Z(n[1]);
                return i && (e[r] = i), e
            }, {}) : {}
        },
        Z = function(e) {
            void 0 === e && (e = "");
            try {
                return decodeURIComponent(e)
            } catch (e) {
                return ""
            }
        },
        ee = e.i(820222),
        et = "tags",
        en = "counters",
        er = "histograms",
        ei = "events",
        eo = "internal",
        ea = "last_flush_timestamp",
        es = function() {
            function e(e, t) {
                this.dbPromise = null, this.logger = t, this.dbName = "AMP_diagnostics_".concat(e.substring(0, 10))
            }
            return e.isSupported = function() {
                var e;
                return (null == (e = (0, Y.getGlobalScope)()) ? void 0 : e.indexedDB) !== void 0
            }, e.prototype.getDB = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        return this.dbPromise || (this.dbPromise = this.openDB()), [2, this.dbPromise]
                    })
                })
            }, e.prototype.openDB = function() {
                var e = this;
                return new Promise(function(t, n) {
                    var r = indexedDB.open(e.dbName, 1);
                    r.onerror = function() {
                        e.dbPromise = null, n(Error("Failed to open IndexedDB"))
                    }, r.onsuccess = function() {
                        var n = r.result;
                        n.onclose = function() {
                            e.dbPromise = null, e.logger.debug("DiagnosticsStorage: DB connection closed.")
                        }, n.onerror = function(t) {
                            e.logger.debug("DiagnosticsStorage: A global database error occurred.", t), n.close()
                        }, t(n)
                    }, r.onupgradeneeded = function(t) {
                        var n = t.target.result;
                        e.createTables(n)
                    }
                })
            }, e.prototype.createTables = function(e) {
                e.objectStoreNames.contains(et) || e.createObjectStore(et, {
                    keyPath: "key"
                }), e.objectStoreNames.contains(en) || e.createObjectStore(en, {
                    keyPath: "key"
                }), e.objectStoreNames.contains(er) || e.createObjectStore(er, {
                    keyPath: "key"
                }), e.objectStoreNames.contains(ei) || e.createObjectStore(ei, {
                    keyPath: "id",
                    autoIncrement: !0
                }).createIndex("time_idx", "time", {
                    unique: !1
                }), e.objectStoreNames.contains(eo) || e.createObjectStore(eo, {
                    keyPath: "key"
                })
            }, e.prototype.setTags = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i = this;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (o.trys.push([0, 2, , 3]), 0 === Object.entries(e).length) return [2];
                                return [4, this.getDB()];
                            case 1:
                                return n = (t = o.sent().transaction([et], "readwrite")).objectStore(et), [2, new Promise(function(r) {
                                    var o = Object.entries(e);
                                    t.oncomplete = function() {
                                        r()
                                    }, t.onabort = function(e) {
                                        i.logger.debug("DiagnosticsStorage: Failed to set tags", e), r()
                                    }, o.forEach(function(e) {
                                        var t = (0, k.__read)(e, 2),
                                            r = t[0],
                                            o = t[1];
                                        n.put({
                                            key: r,
                                            value: o
                                        }).onerror = function(e) {
                                            i.logger.debug("DiagnosticsStorage: Failed to set tag", r, o, e)
                                        }
                                    })
                                })];
                            case 2:
                                return r = o.sent(), this.logger.debug("DiagnosticsStorage: Failed to set tags", r), [3, 3];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.incrementCounters = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i = this;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (o.trys.push([0, 2, , 3]), 0 === Object.entries(e).length) return [2];
                                return [4, this.getDB()];
                            case 1:
                                return n = (t = o.sent().transaction([en], "readwrite")).objectStore(en), [2, new Promise(function(r) {
                                    var o = Object.entries(e);
                                    t.oncomplete = function() {
                                        r()
                                    }, t.onabort = function(e) {
                                        i.logger.debug("DiagnosticsStorage: Failed to increment counters", e), r()
                                    }, o.forEach(function(e) {
                                        var t = (0, k.__read)(e, 2),
                                            r = t[0],
                                            o = t[1],
                                            a = n.get(r);
                                        a.onsuccess = function() {
                                            var e = a.result,
                                                t = e ? e.value : 0;
                                            n.put({
                                                key: r,
                                                value: t + o
                                            }).onerror = function(e) {
                                                i.logger.debug("DiagnosticsStorage: Failed to update counter", r, e)
                                            }
                                        }, a.onerror = function(e) {
                                            i.logger.debug("DiagnosticsStorage: Failed to read existing counter", r, e)
                                        }
                                    })
                                })];
                            case 2:
                                return r = o.sent(), this.logger.debug("DiagnosticsStorage: Failed to increment counters", r), [3, 3];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.setHistogramStats = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i = this;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (o.trys.push([0, 2, , 3]), 0 === Object.entries(e).length) return [2];
                                return [4, this.getDB()];
                            case 1:
                                return n = (t = o.sent().transaction([er], "readwrite")).objectStore(er), [2, new Promise(function(r) {
                                    var o = Object.entries(e);
                                    t.oncomplete = function() {
                                        r()
                                    }, t.onabort = function(e) {
                                        i.logger.debug("DiagnosticsStorage: Failed to set histogram stats", e), r()
                                    }, o.forEach(function(e) {
                                        var t = (0, k.__read)(e, 2),
                                            r = t[0],
                                            o = t[1],
                                            a = n.get(r);
                                        a.onsuccess = function() {
                                            var e, t = a.result;
                                            e = t ? {
                                                key: r,
                                                count: t.count + o.count,
                                                min: Math.min(t.min, o.min),
                                                max: Math.max(t.max, o.max),
                                                sum: t.sum + o.sum
                                            } : {
                                                key: r,
                                                count: o.count,
                                                min: o.min,
                                                max: o.max,
                                                sum: o.sum
                                            }, n.put(e).onerror = function(e) {
                                                i.logger.debug("DiagnosticsStorage: Failed to set histogram stats", r, e)
                                            }
                                        }, a.onerror = function(e) {
                                            i.logger.debug("DiagnosticsStorage: Failed to read existing histogram stats", r, e)
                                        }
                                    })
                                })];
                            case 2:
                                return r = o.sent(), this.logger.debug("DiagnosticsStorage: Failed to set histogram stats", r), [3, 3];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.addEventRecords = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i = this;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (o.trys.push([0, 2, , 3]), 0 === e.length) return [2];
                                return [4, this.getDB()];
                            case 1:
                                return n = (t = o.sent().transaction([ei], "readwrite")).objectStore(ei), [2, new Promise(function(r) {
                                    t.oncomplete = function() {
                                        r()
                                    }, t.onabort = function(e) {
                                        i.logger.debug("DiagnosticsStorage: Failed to add event records", e), r()
                                    };
                                    var o = n.count();
                                    o.onsuccess = function() {
                                        var t = Math.max(0, 10 - o.result);
                                        t < e.length && i.logger.debug("DiagnosticsStorage: Only added ".concat(t, " of ").concat(e.length, " events due to storage limit")), e.slice(0, t).forEach(function(e) {
                                            n.add(e).onerror = function(e) {
                                                i.logger.debug("DiagnosticsStorage: Failed to add event record", e)
                                            }
                                        })
                                    }, o.onerror = function(e) {
                                        i.logger.debug("DiagnosticsStorage: Failed to count existing events", e)
                                    }
                                })];
                            case 2:
                                return r = o.sent(), this.logger.debug("DiagnosticsStorage: Failed to add event records", r), [3, 3];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.setInternal = function(e, t) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var n, r, i;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                return o.trys.push([0, 2, , 3]), [4, this.getDB()];
                            case 1:
                                return r = (n = o.sent().transaction([eo], "readwrite")).objectStore(eo), [2, new Promise(function(i, o) {
                                    n.onabort = function() {
                                        return o(Error("Failed to set internal value"))
                                    };
                                    var a = r.put({
                                        key: e,
                                        value: t
                                    });
                                    a.onsuccess = function() {
                                        return i()
                                    }, a.onerror = function() {
                                        return o(Error("Failed to set internal value"))
                                    }
                                })];
                            case 2:
                                return i = o.sent(), this.logger.debug("DiagnosticsStorage: Failed to set internal value", i), [3, 3];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.getInternal = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r;
                    return (0, k.__generator)(this, function(i) {
                        switch (i.label) {
                            case 0:
                                return i.trys.push([0, 2, , 3]), [4, this.getDB()];
                            case 1:
                                return n = (t = i.sent().transaction([eo], "readonly")).objectStore(eo), [2, new Promise(function(r, i) {
                                    t.onabort = function() {
                                        return i(Error("Failed to get internal value"))
                                    };
                                    var o = n.get(e);
                                    o.onsuccess = function() {
                                        return r(o.result)
                                    }, o.onerror = function() {
                                        return i(Error("Failed to get internal value"))
                                    }
                                })];
                            case 2:
                                return r = i.sent(), this.logger.debug("DiagnosticsStorage: Failed to get internal value", r), [2, void 0];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.getLastFlushTimestamp = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e, t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                return n.trys.push([0, 2, , 3]), [4, this.getInternal(ea)];
                            case 1:
                                return [2, (e = n.sent()) ? parseInt(e.value, 10) : void 0];
                            case 2:
                                return t = n.sent(), this.logger.debug("DiagnosticsStorage: Failed to get last flush timestamp", t), [2, void 0];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.setLastFlushTimestamp = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                return n.trys.push([0, 2, , 3]), [4, this.setInternal(ea, e.toString())];
                            case 1:
                                return n.sent(), [3, 3];
                            case 2:
                                return t = n.sent(), this.logger.debug("DiagnosticsStorage: Failed to set last flush timestamp", t), [3, 3];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.clearTable = function(e, t) {
                return new Promise(function(n, r) {
                    var i = e.objectStore(t).clear();
                    i.onsuccess = function() {
                        return n()
                    }, i.onerror = function() {
                        return r(Error("Failed to clear table ".concat(t)))
                    }
                })
            }, e.prototype.getAllAndClear = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e, t, n, r, i, o, a;
                    return (0, k.__generator)(this, function(s) {
                        switch (s.label) {
                            case 0:
                                return s.trys.push([0, 4, , 5]), [4, this.getDB()];
                            case 1:
                                return e = s.sent().transaction([et, en, er, ei], "readwrite"), [4, Promise.all([this.getAllFromStore(e, et), this.getAllFromStore(e, en), this.getAllFromStore(e, er), this.getAllFromStore(e, ei)])];
                            case 2:
                                return n = (t = k.__read.apply(void 0, [s.sent(), 4]))[0], r = t[1], i = t[2], o = t[3], [4, Promise.all([this.clearTable(e, en), this.clearTable(e, er), this.clearTable(e, ei)])];
                            case 3:
                                return s.sent(), [2, {
                                    tags: n,
                                    counters: r,
                                    histogramStats: i,
                                    events: o
                                }];
                            case 4:
                                return a = s.sent(), this.logger.debug("DiagnosticsStorage: Failed to get all and clear data", a), [2, {
                                    tags: [],
                                    counters: [],
                                    histogramStats: [],
                                    events: []
                                }];
                            case 5:
                                return [2]
                        }
                    })
                })
            }, e.prototype.getAllFromStore = function(e, t) {
                return new Promise(function(n, r) {
                    var i = e.objectStore(t).getAll();
                    i.onsuccess = function() {
                        return n(i.result)
                    }, i.onerror = function() {
                        return r(Error("Failed to get all from ".concat(t)))
                    }
                })
            }, e
        }(),
        eu = e.i(891307),
        ec = function() {
            var e = (0, Y.getGlobalScope)();
            if (!e) return [];
            var t = e.__AMPLITUDE_SCRIPT_URL__;
            return Array.isArray(t) ? t : "string" == typeof t ? [t] : []
        },
        el = function(e) {
            var t = (0, Y.getGlobalScope)();
            if (t && "function" == typeof t.addEventListener) {
                var n = function(t) {
                    e.recordEvent("sdk.error.uncaught", (0, k.__assign)({
                        type: t.type,
                        message: t.message,
                        filename: t.filename,
                        error_name: t.errorName,
                        stack: t.stack
                    }, t.metadata))
                };
                t.addEventListener("error", function(e) {
                    var t = e.error instanceof Error ? e.error : void 0,
                        r = null == t ? void 0 : t.stack,
                        i = ed({
                            filename: e.filename,
                            stack: r
                        });
                    i && n({
                        type: "error",
                        message: e.message,
                        stack: r,
                        filename: e.filename,
                        errorName: null == t ? void 0 : t.name,
                        metadata: {
                            colno: e.colno,
                            lineno: e.lineno,
                            isTrusted: e.isTrusted,
                            matchReason: i
                        }
                    })
                }, !0), t.addEventListener("unhandledrejection", function(e) {
                    var t, r = e.reason instanceof Error ? e.reason : void 0,
                        i = null == r ? void 0 : r.stack,
                        o = ef(i),
                        a = ed({
                            filename: o,
                            stack: i
                        });
                    a && n({
                        type: "unhandledrejection",
                        message: null != (t = null == r ? void 0 : r.message) ? t : ep(e.reason),
                        stack: i,
                        filename: o,
                        errorName: null == r ? void 0 : r.name,
                        metadata: {
                            isTrusted: e.isTrusted,
                            matchReason: a
                        }
                    })
                }, !0)
            }
        },
        ed = function(e) {
            var t, n, r = ec();
            if (0 !== r.length) try {
                for (var i = (0, k.__values)(r), o = i.next(); !o.done; o = i.next()) {
                    var a = o.value;
                    if (e.filename && e.filename.includes(a)) return "filename";
                    if (e.stack && e.stack.includes(a)) return "stack"
                }
            } catch (e) {
                t = {
                    error: e
                }
            } finally {
                try {
                    o && !o.done && (n = i.return) && n.call(i)
                } finally {
                    if (t) throw t.error
                }
            }
        },
        ef = function(e) {
            if (e) {
                var t = e.match(/(https?:\/\/\S+?)(?=[)\s]|$)/);
                return t ? t[1] : void 0
            }
        },
        ep = function(e) {
            if ("string" == typeof e) return e;
            try {
                return JSON.stringify(e)
            } catch (e) {
                return "[object Object]"
            }
        },
        eg = function() {
            function e(e, t, n, r) {
                void 0 === n && (n = "US"), this.inMemoryTags = {}, this.inMemoryCounters = {}, this.inMemoryHistograms = {}, this.inMemoryEvents = [], this.saveTimer = null, this.flushTimer = null, this.apiKey = e, this.logger = t, this.serverUrl = "US" === n ? "https://diagnostics.prod.us-west-2.amplitude.com/v1/capture" : "https://diagnostics.prod.eu-central-1.amplitude.com/v1/capture", this.logger.debug("DiagnosticsClient: Initializing with options", JSON.stringify(r, null, 2)), this.config = (0, k.__assign)({
                    enabled: !0,
                    sampleRate: 0
                }, r), this.startTimestamp = Date.now(), this.shouldTrack = (0, eu.isTimestampInSampleTemp)(this.startTimestamp, this.config.sampleRate) && this.config.enabled, es.isSupported() ? this.storage = new es(e, t) : this.logger.debug("DiagnosticsClient: IndexedDB is not supported"), this.initializeFlushInterval(), this.shouldTrack && (this.increment("sdk.diagnostics.sampled.in.and.enabled"), el(this))
            }
            return e.prototype.isStorageAndTrackEnabled = function() {
                return !!this.storage && !!this.shouldTrack
            }, e.prototype.setTag = function(e, t) {
                if (this.isStorageAndTrackEnabled()) {
                    if (Object.keys(this.inMemoryTags).length >= 1e4) return void this.logger.debug("DiagnosticsClient: Early return setTags as reaching memory limit");
                    this.inMemoryTags[e] = t, this.startTimersIfNeeded()
                }
            }, e.prototype.increment = function(e, t) {
                if (void 0 === t && (t = 1), this.isStorageAndTrackEnabled()) {
                    if (Object.keys(this.inMemoryCounters).length >= 1e4) return void this.logger.debug("DiagnosticsClient: Early return increment as reaching memory limit");
                    this.inMemoryCounters[e] = (this.inMemoryCounters[e] || 0) + t, this.startTimersIfNeeded()
                }
            }, e.prototype.recordHistogram = function(e, t) {
                if (this.isStorageAndTrackEnabled()) {
                    if (Object.keys(this.inMemoryHistograms).length >= 1e4) return void this.logger.debug("DiagnosticsClient: Early return recordHistogram as reaching memory limit");
                    var n = this.inMemoryHistograms[e];
                    n ? (n.count += 1, n.min = Math.min(n.min, t), n.max = Math.max(n.max, t), n.sum += t) : this.inMemoryHistograms[e] = {
                        count: 1,
                        min: t,
                        max: t,
                        sum: t
                    }, this.startTimersIfNeeded()
                }
            }, e.prototype.recordEvent = function(e, t) {
                if (this.isStorageAndTrackEnabled()) {
                    if (this.inMemoryEvents.length >= 10) return void this.logger.debug("DiagnosticsClient: Early return recordEvent as reaching memory limit");
                    this.inMemoryEvents.push({
                        event_name: e,
                        time: Date.now(),
                        event_properties: t
                    }), this.startTimersIfNeeded()
                }
            }, e.prototype.startTimersIfNeeded = function() {
                var e = this;
                this.saveTimer || (this.saveTimer = setTimeout(function() {
                    e.saveAllDataToStorage().catch(function(t) {
                        e.logger.debug("DiagnosticsClient: Failed to save all data to storage", t)
                    }).finally(function() {
                        e.saveTimer = null
                    })
                }, 1e3)), this.flushTimer || (this.flushTimer = setTimeout(function() {
                    e._flush().catch(function(t) {
                        e.logger.debug("DiagnosticsClient: Failed to flush", t)
                    }).finally(function() {
                        e.flushTimer = null
                    })
                }, 3e5))
            }, e.prototype.saveAllDataToStorage = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e, t, n, r;
                    return (0, k.__generator)(this, function(i) {
                        switch (i.label) {
                            case 0:
                                if (!this.storage) return [2];
                                return e = (0, k.__assign)({}, this.inMemoryTags), t = (0, k.__assign)({}, this.inMemoryCounters), n = (0, k.__assign)({}, this.inMemoryHistograms), r = (0, k.__spreadArray)([], (0, k.__read)(this.inMemoryEvents), !1), this.inMemoryEvents = [], this.inMemoryTags = {}, this.inMemoryCounters = {}, this.inMemoryHistograms = {}, [4, Promise.all([this.storage.setTags(e), this.storage.incrementCounters(t), this.storage.setHistogramStats(n), this.storage.addEventRecords(r)])];
                            case 1:
                                return i.sent(), [2]
                        }
                    })
                })
            }, e.prototype._flush = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e, t, n, r, i, o, a, s, u, c;
                    return (0, k.__generator)(this, function(l) {
                        switch (l.label) {
                            case 0:
                                if (!this.storage) return [2];
                                return [4, this.saveAllDataToStorage()];
                            case 1:
                                return l.sent(), this.saveTimer = null, this.flushTimer = null, [4, this.storage.getAllAndClear()];
                            case 2:
                                if (t = (e = l.sent()).tags, n = e.counters, r = e.histogramStats, i = e.events, this.storage.setLastFlushTimestamp(Date.now()), o = {}, t.forEach(function(e) {
                                        o[e.key] = e.value
                                    }), a = {}, n.forEach(function(e) {
                                        a[e.key] = e.value
                                    }), s = {}, r.forEach(function(e) {
                                        s[e.key] = {
                                            count: e.count,
                                            min: e.min,
                                            max: e.max,
                                            avg: Math.round(e.sum / e.count * 100) / 100
                                        }
                                    }), u = i.map(function(e) {
                                        return {
                                            event_name: e.event_name,
                                            time: e.time,
                                            event_properties: e.event_properties
                                        }
                                    }), 0 === Object.keys(a).length && 0 === Object.keys(s).length && 0 === u.length) return [2];
                                return c = {
                                    tags: o,
                                    histogram: s,
                                    counters: a,
                                    events: u
                                }, this.fetch(c), [2]
                        }
                    })
                })
            }, e.prototype.fetch = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                if (n.trys.push([0, 2, , 3]), !(0, Y.getGlobalScope)()) throw Error("DiagnosticsClient: Fetch is not supported");
                                return [4, fetch(this.serverUrl, {
                                    method: "POST",
                                    headers: {
                                        "X-ApiKey": this.apiKey,
                                        "Content-Type": "application/json"
                                    },
                                    body: JSON.stringify(e)
                                })];
                            case 1:
                                if (!n.sent().ok) return this.logger.debug("DiagnosticsClient: Failed to send diagnostics data."), [2];
                                return this.logger.debug("DiagnosticsClient: Successfully sent diagnostics data"), [3, 3];
                            case 2:
                                return t = n.sent(), this.logger.debug("DiagnosticsClient: Failed to send diagnostics data. ", t), [3, 3];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.initializeFlushInterval = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e, t, n;
                    return (0, k.__generator)(this, function(r) {
                        switch (r.label) {
                            case 0:
                                if (!this.storage) return [2];
                                return e = Date.now(), [4, this.storage.getLastFlushTimestamp()];
                            case 1:
                                if (-1 === (t = r.sent() || -1)) return this.storage.setLastFlushTimestamp(e), this._setFlushTimer(3e5), [2];
                                return (n = e - t) >= 3e5 ? this._flush() : this._setFlushTimer(3e5 - n), [2]
                        }
                    })
                })
            }, e.prototype._setFlushTimer = function(e) {
                var t = this;
                this.flushTimer = setTimeout(function() {
                    t._flush().catch(function(e) {
                        t.logger.debug("DiagnosticsClient: Failed to flush", e)
                    }).finally(function() {
                        t.flushTimer = null
                    })
                }, e)
            }, e.prototype._setSampleRate = function(e) {
                this.logger.debug("DiagnosticsClient: Setting sample rate to", e), this.config.sampleRate = e, this.shouldTrack = (0, eu.isTimestampInSampleTemp)(this.startTimestamp, this.config.sampleRate) && this.config.enabled, this.logger.debug("DiagnosticsClient: Should track is", this.shouldTrack)
            }, e
        }(),
        eh = e.i(115059),
        ev = e.i(37611),
        em = ev.default || ev,
        e_ = e.i(735886),
        ey = function(e, t) {
            var n, r, i;
            return "boolean" == typeof e ? e : (null == e ? void 0 : e[t]) !== !1 && ("string" != typeof(null == (r = null == (n = null == (i = (0, Y.getGlobalScope)()) ? void 0 : i.chrome) ? void 0 : n.runtime) ? void 0 : r.id) || !!(null == e ? void 0 : e[t]))
        },
        eb = function(e) {
            return ey(e, "attribution")
        },
        ew = function(e) {
            return ey(e, "formInteractions")
        },
        eE = function(e) {
            return ey(e, "pageViews")
        },
        eS = function(e) {
            return ey(e, "sessions")
        },
        eT = function(e) {
            return "boolean" == typeof e ? e : "object" == typeof e && (!0 === e.networkTracking || "object" == typeof e.networkTracking)
        },
        ek = function(e) {
            return "boolean" == typeof e ? e : "object" == typeof e && (!0 === e.elementInteractions || "object" == typeof e.elementInteractions)
        },
        eI = function(e) {
            return "boolean" == typeof e ? e : "object" == typeof e && (!0 === e.frustrationInteractions || "object" == typeof e.frustrationInteractions)
        },
        eC = function(e) {
            if ("object" == typeof e.autocapture) {
                var t = e.autocapture.performanceTracking;
                if (!0 === t) return {
                    mainThreadBlock: !0
                };
                if ("object" == typeof t && null !== t) return t
            }
        },
        eA = function(e) {
            if (ek(e.autocapture) && "object" == typeof e.autocapture && "object" == typeof e.autocapture.elementInteractions) return e.autocapture.elementInteractions
        },
        eP = function(e) {
            if (eI(e.autocapture) && "object" == typeof e.autocapture && "object" == typeof e.autocapture.frustrationInteractions) return e.autocapture.frustrationInteractions
        },
        ex = function(e) {
            var t;
            if (eT(e.autocapture)) {
                var n = void 0;
                return "object" == typeof e.autocapture && "object" == typeof e.autocapture.networkTracking ? n = e.autocapture.networkTracking : e.networkTrackingOptions && (n = e.networkTrackingOptions), (0, k.__assign)((0, k.__assign)({}, n), {
                    captureRules: null == (t = null == n ? void 0 : n.captureRules) ? void 0 : t.map(function(t) {
                        var n, r, i;
                        if ((null == (n = t.urls) ? void 0 : n.length) && (null == (r = t.hosts) ? void 0 : r.length)) {
                            var o = JSON.stringify(t.hosts),
                                a = JSON.stringify(t.urls);
                            return null == (i = e.loggerProvider) || i.warn("Found network capture rule with both urls='".concat(a, "' and hosts='").concat(o, "' set. ") + "Definition of urls takes precedence over hosts, so ignoring hosts."), (0, k.__assign)((0, k.__assign)({}, t), {
                                hosts: void 0
                            })
                        }
                        return t
                    })
                })
            }
        },
        eO = function(e) {
            var t, n = function() {
                    return !1
                },
                r = void 0,
                i = e.pageCounter;
            return eE(e.defaultTracking) && (n = void 0, t = void 0, e.defaultTracking && "object" == typeof e.defaultTracking && e.defaultTracking.pageViews && "object" == typeof e.defaultTracking.pageViews && ("trackOn" in e.defaultTracking.pageViews && (n = e.defaultTracking.pageViews.trackOn), "trackHistoryChanges" in e.defaultTracking.pageViews && (r = e.defaultTracking.pageViews.trackHistoryChanges), "eventType" in e.defaultTracking.pageViews && e.defaultTracking.pageViews.eventType && (t = e.defaultTracking.pageViews.eventType))), {
                trackOn: n,
                trackHistoryChanges: r,
                eventType: t,
                pageCounter: i
            }
        },
        eR = function(e) {
            if (ew(e.defaultTracking) && e.defaultTracking && "object" == typeof e.defaultTracking && "object" == typeof e.defaultTracking.formInteractions) return e.defaultTracking.formInteractions
        },
        eL = function(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n],
                    i = r.name,
                    o = r.args,
                    a = r.resolve,
                    s = e && e[i];
                if ("function" == typeof s) {
                    var u = s.apply(e, o);
                    "function" == typeof a && a(null == u ? void 0 : u.promise)
                }
            }
            return e
        },
        eD = function(e) {
            return e && void 0 !== e._q
        },
        eN = function() {
            if ("u" < typeof navigator) return "";
            var e, t, n, r, i = navigator.userLanguage;
            return null != (r = null != (n = null != (t = null == (e = navigator.languages) ? void 0 : e[0]) ? t : navigator.language) ? n : i) ? r : ""
        },
        eM = "2.42.2",
        eU = "amplitude-ts",
        ej = function() {
            function e() {
                this.name = "@amplitude/plugin-context-browser", this.type = "before", this.library = "".concat(eU, "/").concat(eM), "u" > typeof navigator && (this.userAgent = navigator.userAgent)
            }
            return e.prototype.setup = function(e) {
                return this.config = e, Promise.resolve(void 0)
            }, e.prototype.execute = function(e) {
                var t, n;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var r, i, o;
                    return (0, k.__generator)(this, function(a) {
                        return r = new Date().getTime(), i = null != (t = this.config.lastEventId) ? t : -1, o = null != (n = e.event_id) ? n : i + 1, this.config.lastEventId = o, e.time || (this.config.lastEventTime = r), [2, (0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)({
                            user_id: this.config.userId,
                            device_id: this.config.deviceId,
                            session_id: this.config.sessionId,
                            time: r
                        }, this.config.appVersion && {
                            app_version: this.config.appVersion
                        }), this.config.trackingOptions.platform && {
                            platform: "Web"
                        }), this.config.trackingOptions.language && {
                            language: eN()
                        }), this.config.trackingOptions.ipAddress && {
                            ip: "$remote"
                        }), {
                            insert_id: (0, D.UUID)(),
                            partner_id: this.config.partnerId,
                            plan: this.config.plan
                        }), this.config.ingestionMetadata && {
                            ingestion_metadata: {
                                source_name: this.config.ingestionMetadata.sourceName,
                                source_version: this.config.ingestionMetadata.sourceVersion
                            }
                        }), e), {
                            event_id: o,
                            library: this.library,
                            user_agent: this.userAgent
                        })]
                    })
                })
            }, e
        }(),
        eF = function() {
            function e() {
                this.memoryStorage = new Map
            }
            return e.prototype.isEnabled = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        return [2, !0]
                    })
                })
            }, e.prototype.get = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        return [2, this.memoryStorage.get(e)]
                    })
                })
            }, e.prototype.getRaw = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                return [4, this.get(e)];
                            case 1:
                                return [2, (t = n.sent()) ? JSON.stringify(t) : void 0]
                        }
                    })
                })
            }, e.prototype.set = function(e, t) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        return this.memoryStorage.set(e, t), [2]
                    })
                })
            }, e.prototype.remove = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        return this.memoryStorage.delete(e), [2]
                    })
                })
            }, e.prototype.reset = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        return this.memoryStorage.clear(), [2]
                    })
                })
            }, e
        }(),
        eq = function() {
            var e, t = (0, Y.getGlobalScope)();
            return null == (e = null == t ? void 0 : t.navigator) ? void 0 : e.locks
        },
        eB = function() {
            function e(e, t) {
                void 0 === t && (t = {}), this.options = (0, k.__assign)({}, e), this.config = t
            }
            return e.prototype.isEnabled = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r, i = this;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                return t = "AMP_TEST", n = new e((0, k.__assign)({}, this.options)), r = String(Date.now()), [4, n.transaction(t, function(e) {
                                    var n, o;
                                    try {
                                        e.set(r);
                                        var a = e.get() === r;
                                        return !a && i.config.diagnosticsClient && (null == (n = i.config.diagnosticsClient) || n.recordEvent("cookies.isEnabled.failure", {
                                            reason: "Test Value mismatch",
                                            testKey: t,
                                            testValue: r,
                                            sync: !0
                                        })), a
                                    } catch (e) {
                                        if (i.config.diagnosticsClient) {
                                            var s = e instanceof Error ? e.message : String(e);
                                            null == (o = i.config.diagnosticsClient) || o.recordEvent("cookies.isEnabled.failure", {
                                                reason: "Cookie getter/setter failed",
                                                testKey: t,
                                                testValue: r,
                                                error: s,
                                                sync: !0
                                            })
                                        }
                                        return !1
                                    } finally {
                                        e.set(null)
                                    }
                                })];
                            case 1:
                                return [2, o.sent()]
                        }
                    })
                })
            }, e.prototype.get = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                return [4, this.getRaw(e)];
                            case 1:
                                return t = n.sent(), [2, this.decodeCookieValue(e, t)]
                        }
                    })
                })
            }, e.prototype.decodeCookieValue = function(e, t) {
                if (t) try {
                    var n = eH(t);
                    if (void 0 === n) return void console.error("Amplitude Logger [Error]: Failed to decode cookie value for key: ".concat(e, ", value: ").concat(t));
                    return JSON.parse(n)
                } catch (n) {
                    console.error("Amplitude Logger [Error]: Failed to parse cookie value for key: ".concat(e, ", value: ").concat(t));
                    return
                }
            }, e.prototype.getSync = function(e) {
                var t = this.getRawSync(e);
                return this.decodeCookieValue(e, t)
            }, e.prototype.getRaw = function(e) {
                var t, n;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var r, i, o, a, s, u, c, l;
                    return (0, k.__generator)(this, function(d) {
                        switch (d.label) {
                            case 0:
                                r = (0, Y.getGlobalScope)(), d.label = 1;
                            case 1:
                                if (d.trys.push([1, 4, , 5]), !(i = null == r ? void 0 : r.cookieStore)) return [3, 3];
                                return [4, i.getAll(e)];
                            case 2:
                                if (o = d.sent()) {
                                    o.length > 1 && (null == (t = this.config.diagnosticsClient) || t.recordEvent("cookies.duplicate", {
                                        cookies: o.map(function(e) {
                                            return e.domain
                                        })
                                    }), null == (n = this.config.diagnosticsClient) || n.increment("cookies.duplicate.occurrence.cookieStore"));
                                    try {
                                        for (s = (a = (0, k.__values)(o)).next(); !s.done; s = a.next())
                                            if (u = s.value, eG(u.domain, this.options.domain)) return [2, u.value]
                                    } catch (e) {
                                        c = {
                                            error: e
                                        }
                                    } finally {
                                        try {
                                            s && !s.done && (l = a.return) && l.call(a)
                                        } finally {
                                            if (c) throw c.error
                                        }
                                    }
                                }
                                d.label = 3;
                            case 3:
                                return [3, 5];
                            case 4:
                                return d.sent(), [3, 5];
                            case 5:
                                return [2, this.getRawSync(e)]
                        }
                    })
                })
            }, e.prototype.getRawSync = function(e) {
                var t, n, r = this,
                    i = (0, Y.getGlobalScope)(),
                    o = (null != (n = null == (t = null == i ? void 0 : i.document) ? void 0 : t.cookie.split("; ")) ? n : []).filter(function(t) {
                        return 0 === t.indexOf(e + "=")
                    }),
                    a = void 0,
                    s = this.config.duplicateResolverFn;
                if ("function" == typeof s && o.length > 1 && (a = o.find(function(t) {
                        var n;
                        try {
                            var i = s(t.substring(e.length + 1));
                            return i || null == (n = r.config.diagnosticsClient) || n.increment("cookies.duplicate.occurrence.document.cookie"), i
                        } catch (e) {
                            return !1
                        }
                    })), a || (a = o[0]), a) return a.substring(e.length + 1)
            }, e.prototype.set = function(e, t) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        return this.setSync(e, t), [2]
                    })
                })
            }, e.prototype.setSync = function(e, t) {
                var n;
                try {
                    var r = null != (n = this.options.expirationDays) ? n : 0,
                        i = null !== t ? r : -1,
                        o = void 0;
                    if (i) {
                        var a = new Date;
                        a.setTime(a.getTime() + 24 * i * 36e5), o = a
                    }
                    var s = "".concat(e, "=").concat(btoa(encodeURIComponent(JSON.stringify(t))));
                    o && (s += "; expires=".concat(o.toUTCString())), s += "; path=/", this.options.domain && (s += "; domain=".concat(this.options.domain)), this.options.secure && (s += "; Secure"), this.options.sameSite && (s += "; SameSite=".concat(this.options.sameSite));
                    var u = (0, Y.getGlobalScope)();
                    (null == u ? void 0 : u.document) && (u.document.cookie = s)
                } catch (t) {
                    var c = t instanceof Error ? t.message : String(t);
                    console.error("Amplitude Logger [Error]: Failed to set cookie for key: ".concat(e, ". Error: ").concat(c))
                }
            }, e.prototype.remove = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        switch (t.label) {
                            case 0:
                                return [4, this.set(e, null)];
                            case 1:
                                return t.sent(), [2]
                        }
                    })
                })
            }, e.prototype.reset = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        return [2]
                    })
                })
            }, e.isDomainWritable = function(t) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var n, r;
                    return (0, k.__generator)(this, function(i) {
                        switch (i.label) {
                            case 0:
                                if (e.cachedTlds[t]) return [2, !0];
                                n = "AMP_TLDTEST", r = new e({
                                    domain: "." + t
                                }), i.label = 1;
                            case 1:
                                return i.trys.push([1, 3, , 4]), [4, r.transaction(n, function(n) {
                                    if (e.cachedTlds[t]) return !0;
                                    try {
                                        n.set(1);
                                        var r = !!n.get();
                                        return r && (e.cachedTlds[t] = !0), r
                                    } finally {
                                        n.set(null)
                                    }
                                })];
                            case 2:
                                return [2, !!i.sent()];
                            case 3:
                                return i.sent(), [2, !1];
                            case 4:
                                return [2]
                        }
                    })
                })
            }, e.prototype.transaction = function(e, t) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var n, r, i = this;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (n = eq(), r = function() {
                                        return t({
                                            get: function() {
                                                return i.getSync(e)
                                            },
                                            set: function(t) {
                                                return i.setSync(e, t)
                                            }
                                        })
                                    }, !n) return [2, r()];
                                o.label = 1;
                            case 1:
                                return o.trys.push([1, 3, , 4]), [4, n.request("com.amplitude:cookie-lock:".concat(e), r)];
                            case 2:
                                return [2, o.sent()];
                            case 3:
                                return o.sent(), [2, r()];
                            case 4:
                                return [2]
                        }
                    })
                })
            }, e.cachedTlds = {}, e
        }(),
        eW = function(e) {
            try {
                return decodeURIComponent(atob(e))
            } catch (e) {
                return
            }
        },
        eV = function(e) {
            try {
                return decodeURIComponent(atob(decodeURIComponent(e)))
            } catch (e) {
                return
            }
        },
        eH = function(e) {
            var t;
            return null != (t = eW(e)) ? t : eV(e)
        },
        eG = function(e, t) {
            if ("" === e && "" === t) return !0;
            if (!e || !t) return !1;
            var n = e.startsWith(".") ? e.substring(1) : e,
                r = t.startsWith(".") ? t.substring(1) : t;
            return n.toLowerCase() === r.toLowerCase()
        },
        ez = function(e, t, n) {
            return void 0 === t && (t = ""), void 0 === n && (n = 10), [C.AMPLITUDE_PREFIX, t, e.substring(0, n)].filter(Boolean).join("_")
        },
        eK = function() {
            function e(e) {
                this.storage = e
            }
            return e.prototype.isEnabled = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r;
                    return (0, k.__generator)(this, function(i) {
                        switch (i.label) {
                            case 0:
                                if (!this.storage) return [2, !1];
                                t = String(Date.now()), n = new e(this.storage), r = "AMP_TEST", i.label = 1;
                            case 1:
                                return i.trys.push([1, 4, 5, 7]), [4, n.set(r, t)];
                            case 2:
                                return i.sent(), [4, n.get(r)];
                            case 3:
                                return [2, i.sent() === t];
                            case 4:
                                return i.sent(), [2, !1];
                            case 5:
                                return [4, n.remove(r)];
                            case 6:
                                return i.sent(), [7];
                            case 7:
                                return [2]
                        }
                    })
                })
            }, e.prototype.get = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                return n.trys.push([0, 2, , 3]), [4, this.getRaw(e)];
                            case 1:
                                if (!(t = n.sent())) return [2, void 0];
                                return [2, JSON.parse(t)];
                            case 2:
                                return n.sent(), console.error("[Amplitude] Error: Could not get value from storage"), [2, void 0];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.getRaw = function(e) {
                var t;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        return [2, (null == (t = this.storage) ? void 0 : t.getItem(e)) || void 0]
                    })
                })
            }, e.prototype.set = function(e, t) {
                var n;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(r) {
                        try {
                            null == (n = this.storage) || n.setItem(e, JSON.stringify(t))
                        } catch (e) {}
                        return [2]
                    })
                })
            }, e.prototype.remove = function(e) {
                var t;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        try {
                            null == (t = this.storage) || t.removeItem(e)
                        } catch (e) {}
                        return [2]
                    })
                })
            }, e.prototype.reset = function() {
                var e;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        try {
                            null == (e = this.storage) || e.clear()
                        } catch (e) {}
                        return [2]
                    })
                })
            }, e
        }(),
        eJ = function(e) {
            function t(t) {
                var n, r, i, o = this;
                try {
                    i = null == (n = (0, Y.getGlobalScope)()) ? void 0 : n.localStorage
                } catch (e) {
                    null == (r = null == t ? void 0 : t.loggerProvider) || r.debug("Failed to access localStorage. error=".concat(JSON.stringify(e))), i = void 0
                }
                return (o = e.call(this, i) || this).loggerProvider = null == t ? void 0 : t.loggerProvider, o
            }
            return (0, k.__extends)(t, e), t.prototype.set = function(t, n) {
                var r;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var i;
                    return (0, k.__generator)(this, function(o) {
                        switch (o.label) {
                            case 0:
                                if (!(Array.isArray(n) && n.length > 1e3)) return [3, 2];
                                return i = n.length - 1e3, [4, e.prototype.set.call(this, t, n.slice(0, 1e3))];
                            case 1:
                                return o.sent(), null == (r = this.loggerProvider) || r.error("Failed to save ".concat(i, " events because the queue length exceeded ").concat(1e3, ".")), [3, 4];
                            case 2:
                                return [4, e.prototype.set.call(this, t, n)];
                            case 3:
                                o.sent(), o.label = 4;
                            case 4:
                                return [2]
                        }
                    })
                })
            }, t
        }(eK),
        e$ = function(e) {
            function t() {
                var t;
                return e.call(this, null == (t = (0, Y.getGlobalScope)()) ? void 0 : t.sessionStorage) || this
            }
            return (0, k.__extends)(t, e), t
        }(eK),
        eX = e.i(119253);

    function eY() {
        return "u" > typeof CompressionStream
    }

    function eQ(e) {
        return (0, k.__awaiter)(this, void 0, void 0, function() {
            var t;
            return (0, k.__generator)(this, function(n) {
                switch (n.label) {
                    case 0:
                        if (void 0 === (t = CompressionStream)) return [2, void 0];
                        n.label = 1;
                    case 1:
                        return n.trys.push([1, 3, , 4]), [4, new Response(new Blob([e]).stream().pipeThrough(new t("gzip"))).arrayBuffer()];
                    case 2:
                        return [2, n.sent()];
                    case 3:
                        return n.sent(), [2, void 0];
                    case 4:
                        return [2]
                }
            })
        })
    }
    var eZ = function(e) {
            function t(t) {
                void 0 === t && (t = {});
                var n = e.call(this) || this;
                return n.state = {
                    done: 4
                }, n.customHeaders = t, n
            }
            return (0, k.__extends)(t, e), t.prototype.send = function(e, t, n) {
                return void 0 === n && (n = !1), (0, k.__awaiter)(this, void 0, void 0, function() {
                    var r = this;
                    return (0, k.__generator)(this, function(i) {
                        return [2, new Promise(function(i, o) {
                            "u" < typeof XMLHttpRequest && o(Error("XHRTransport is not supported."));
                            var a = new XMLHttpRequest;
                            a.open("POST", e, !0), a.onreadystatechange = function() {
                                if (a.readyState === r.state.done) {
                                    var e = a.responseText;
                                    try {
                                        i(r.buildResponse(JSON.parse(e)))
                                    } catch (e) {
                                        i(r.buildResponse({
                                            code: a.status
                                        }))
                                    }
                                }
                            };
                            var s = {
                                    "Content-Type": "application/json",
                                    Accept: "*/*"
                                },
                                u = JSON.stringify(t),
                                c = n && u.length >= 2048 && eY(),
                                l = function(e) {
                                    var t, n;
                                    s = (0, k.__assign)((0, k.__assign)({}, r.customHeaders), s);
                                    try {
                                        for (var i = (0, k.__values)(Object.entries(s)), o = i.next(); !o.done; o = i.next()) {
                                            var u = (0, k.__read)(o.value, 2),
                                                c = u[0],
                                                l = u[1];
                                            a.setRequestHeader(c, l)
                                        }
                                    } catch (e) {
                                        t = {
                                            error: e
                                        }
                                    } finally {
                                        try {
                                            o && !o.done && (n = i.return) && n.call(i)
                                        } finally {
                                            if (t) throw t.error
                                        }
                                    }
                                    a.send(e)
                                };
                            (0, k.__awaiter)(r, void 0, void 0, function() {
                                var e;
                                return (0, k.__generator)(this, function(t) {
                                    switch (t.label) {
                                        case 0:
                                            if (!c) return [3, 2];
                                            return [4, eQ(u)];
                                        case 1:
                                            return (e = t.sent()) ? (s["Content-Encoding"] = "gzip", l(e)) : l(u), [3, 3];
                                        case 2:
                                            l(u), t.label = 3;
                                        case 3:
                                            return [2]
                                    }
                                })
                            }).catch(o)
                        })]
                    })
                })
            }, t
        }(eX.BaseTransport),
        e0 = function(e) {
            function t(t) {
                void 0 === t && (t = {});
                var n = e.call(this) || this;
                return n.customHeaders = t, n
            }
            return (0, k.__extends)(t, e), t.prototype.send = function(e, t, n) {
                return void 0 === n && (n = !1), (0, k.__awaiter)(this, void 0, void 0, function() {
                    var r, i, o, a, s, u, c;
                    return (0, k.__generator)(this, function(l) {
                        switch (l.label) {
                            case 0:
                                if ("u" < typeof fetch) throw Error("FetchTransport is not supported");
                                if (r = JSON.stringify(t), i = n && r.length >= 2048 && eY(), o = r, a = {
                                        "Content-Type": "application/json",
                                        Accept: "*/*"
                                    }, !i) return [3, 2];
                                return [4, eQ(r)];
                            case 1:
                                (s = l.sent()) && (a["Content-Encoding"] = "gzip", o = s), l.label = 2;
                            case 2:
                                return [4, fetch(e, {
                                    headers: a = (0, k.__assign)((0, k.__assign)({}, this.customHeaders), a),
                                    body: o,
                                    method: "POST"
                                })];
                            case 3:
                                return [4, (u = l.sent()).text()];
                            case 4:
                                c = l.sent();
                                try {
                                    return [2, this.buildResponse(JSON.parse(c))]
                                } catch (e) {
                                    return [2, this.buildResponse({
                                        code: u.status
                                    })]
                                }
                        }
                    })
                })
            }, t
        }(eX.BaseTransport),
        e1 = function(e) {
            function t() {
                return e.call(this) || this
            }
            return (0, k.__extends)(t, e), t.prototype.send = function(e, t, n) {
                return void 0 === n && (n = !1), (0, k.__awaiter)(this, void 0, void 0, function() {
                    var n = this;
                    return (0, k.__generator)(this, function(r) {
                        return [2, new Promise(function(r, i) {
                            var o = (0, Y.getGlobalScope)();
                            if (!(null == o ? void 0 : o.navigator.sendBeacon)) throw Error("SendBeaconTransport is not supported");
                            try {
                                var a = JSON.stringify(t);
                                if (o.navigator.sendBeacon(e, a)) return r(n.buildResponse({
                                    code: 200,
                                    events_ingested: t.events.length,
                                    payload_size_bytes: a.length,
                                    server_upload_time: Date.now()
                                }));
                                return r(n.buildResponse({
                                    code: 500
                                }))
                            } catch (e) {
                                i(e)
                            }
                        })]
                    })
                })
            }, t
        }(eX.BaseTransport),
        e2 = function(e) {
            var t = parseInt(e, 32);
            if (!isNaN(t)) return t
        },
        e3 = function(e) {
            if (atob && escape && e) try {
                return decodeURIComponent(escape(atob(e)))
            } catch (e) {
                return
            }
        },
        e4 = "[Amplitude]",
        e5 = "".concat(e4, " Form Started"),
        e6 = "".concat(e4, " Form Submitted"),
        e8 = "".concat(e4, " File Downloaded"),
        e7 = "session_start",
        e9 = "session_end",
        te = "".concat(e4, " File Extension"),
        tt = "".concat(e4, " File Name"),
        tn = "".concat(e4, " Link ID"),
        tr = "".concat(e4, " Link Text"),
        ti = "".concat(e4, " Link URL"),
        to = "".concat(e4, " Form ID"),
        ta = "".concat(e4, " Form Name"),
        ts = "".concat(e4, " Form Destination"),
        tu = "cookie",
        tc = {
            always: "always",
            ifEmptyCampaign: "ifEmptyCampaign"
        },
        tl = function(e) {
            var t = e.split(".");
            return t.length <= 2 ? e : t.slice(t.length - 2, t.length).join(".")
        },
        td = function(e, t, n, r, i, o) {
            void 0 === i && (i = !0), e.referrer;
            var a = e.referring_domain,
                s = (0, k.__rest)(e, ["referrer", "referring_domain"]),
                u = t || {},
                c = (u.referrer, u.referring_domain),
                l = (0, k.__rest)(u, ["referrer", "referring_domain"]),
                d = n.excludeInternalReferrers;
            if (d) {
                var f = th(d, r);
                if (!(f instanceof TypeError) && e.referring_domain && ty(e.referring_domain, o)) {
                    if ("always" === f) return tv(f, e.referring_domain, r), !1;
                    else if ("ifEmptyCampaign" === f && Object.values((0, k.__assign)((0, k.__assign)({}, e), {
                            referring_domain: void 0,
                            referrer: void 0
                        })).every(function(e) {
                            return !e
                        })) return tv(f, e.referring_domain, r), !1
                }
            }
            if (tf(n.excludeReferrers, e.referring_domain)) return r.debug("This is not a new campaign because ".concat(e.referring_domain, " is in the exclude referrer list.")), !1;
            if (!i && Object.values(e).every(function(e) {
                    return !e
                }) && t) return r.debug("This is not a new campaign because this is a direct traffic in the same session."), !1;
            var p = JSON.stringify(s) !== JSON.stringify(l),
                g = tl(a || "") !== tl(c || ""),
                h = !t || p || g;
            return h ? r.debug("This is a new campaign. An $identify event will be sent.") : r.debug("This is not a new campaign because it's the same as the previous one."), h
        },
        tf = function(e, t) {
            return void 0 === e && (e = []), void 0 === t && (t = ""), e.some(function(e) {
                return e instanceof RegExp ? e.test(t) : e === t
            })
        },
        tp = function(e, t) {
            var n = t.startsWith(".") ? t : ".".concat(t);
            return !!(e.startsWith(".") ? e : ".".concat(e)).endsWith(n)
        },
        tg = function(e) {
            var t = e;
            return t ? (t.startsWith(".") && (t = t.substring(1)), [new RegExp("".concat(t.replace(".", "\\."), "$"))]) : []
        },
        th = function(e, t) {
            if (!0 === e) return tc.always;
            if ("object" == typeof e) {
                var n = e.condition;
                if ("string" == typeof n && Object.keys(tc).includes(n)) return n;
                if (void 0 === n) return tc.always
            }
            var r = "Invalid configuration provided for attribution.excludeInternalReferrers: ".concat(JSON.stringify(e));
            return t.error(r), TypeError(r)
        };

    function tv(e, t, n) {
        var r = "This is not a new campaign because referring_domain=".concat(t, " is on the same domain as the current page and it is configured to exclude internal referrers");
        "always" === e ? n.debug(r) : "ifEmptyCampaign" === e && n.debug("".concat(r, " with empty campaign parameters"))
    }
    var tm = ["ac.in", "ac.jp", "ac.kr", "ac.th", "ac.uk", "ac.za", "appspot.com", "asn.au", "azurewebsites.net", "cloudfront.net", "myshopify.com", "blogspot.com", "co.ca", "co.in", "co.jp", "co.kr", "co.nz", "co.th", "co.uk", "co.za", "com.ar", "com.au", "com.br", "com.cn", "com.hk", "com.in", "com.jp", "com.kr", "com.mx", "com.pl", "com.sg", "com.tr", "com.tw", "ed.jp", "edu.au", "edu.br", "edu.cn", "edu.hk", "edu.sg", "edu.th", "edu.tr", "edu.tw", "firebaseapp.com", "fly.dev", "gc.ca", "geek.nz", "github.io", "gitlab.io", "go.jp", "go.kr", "go.th", "gob.ar", "gob.mx", "gov.au", "gov.br", "gov.cn", "gov.hk", "gov.in", "gov.pl", "gov.sg", "gov.tr", "gov.tw", "gov.uk", "gov.za", "govt.nz", "gr.jp", "herokuapp.com", "id.au", "idv.hk", "iwi.nz", "lg.jp", "ltd.uk", "maori.nz", "me.uk", "mil.kr", "ne.jp", "ne.kr", "net.au", "net.br", "net.cn", "net.hk", "net.in", "net.nz", "net.pl", "net.sg", "net.tr", "net.tw", "net.za", "onrender.com", "or.jp", "or.kr", "or.th", "org.ar", "org.au", "org.br", "org.cn", "org.hk", "org.in", "org.mx", "org.nz", "org.pl", "org.sg", "org.tw", "org.uk", "org.za", "pages.dev", "pe.kr", "plc.uk", "re.kr", "res.in", "sch.uk", "vercel.app", "netlify.app", "workers.dev"],
        t_ = function(e) {
            var t, n, r = e || (null == (n = null == (t = (0, Y.getGlobalScope)()) ? void 0 : t.location) ? void 0 : n.hostname);
            if (!r) return "";
            var i = r.split("."),
                o = i[i.length - 1],
                a = i[i.length - 2];
            return (tm.find(function(e) {
                return r.endsWith(".".concat(e))
            }) && (o = i[i.length - 2] + "." + i[i.length - 1], a = i[i.length - 3]), a) ? "".concat(a, ".").concat(o) : o
        },
        ty = function(e, t) {
            var n = (0, Y.getGlobalScope)();
            return !!n && tp(e, (t || "").trim() || t_(n.location.hostname))
        },
        tb = function(e) {
            function t(t, n, r, i, o, a, s, u, c, l, d, f, p, g, h, v, m, _, y, b, w, E, S, T, k, I, C, A, P, x, O, R, L, D, N, M, U, j, F, q, B, W, V, H) {
                void 0 === r && (r = new eF), void 0 === i && (i = {
                    domain: "",
                    expiration: 365,
                    sameSite: "Lax",
                    secure: !1,
                    upgrade: !0
                }), void 0 === u && (u = 1e3), void 0 === c && (c = 5), void 0 === l && (l = 30), void 0 === d && (d = tu), void 0 === v && (v = new eh.Logger), void 0 === m && (m = e_.LogLevel.Warn), void 0 === y && (y = !1), void 0 === b && (b = !1), void 0 === S && (S = ""), void 0 === T && (T = "US"), void 0 === C && (C = 18e5), void 0 === A && (A = new eJ({
                    loggerProvider: v
                })), void 0 === P && (P = {
                    ipAddress: !0,
                    language: !0,
                    platform: !0
                }), void 0 === x && (x = "fetch"), void 0 === O && (O = !1), void 0 === R && (R = !0), void 0 === j && (j = !0), void 0 === F && (F = 0), void 0 === V && (V = !1);
                var G, z = this;
                (z = e.call(this, {
                    apiKey: t,
                    storageProvider: A,
                    transportProvider: tS(x)
                }) || this).apiKey = t, z.appVersion = n, z.cookieOptions = i, z.defaultTracking = o, z.autocapture = a, z.flushIntervalMillis = u, z.flushMaxRetries = c, z.flushQueueSize = l, z.identityStorage = d, z.ingestionMetadata = f, z.instanceName = p, z.loggerProvider = v, z.logLevel = m, z.minIdLength = _, z.offline = y, z.partnerId = w, z.plan = E, z.serverUrl = S, z.serverZone = T, z.sessionTimeout = C, z.storageProvider = A, z.trackingOptions = P, z.transport = x, z.useBatch = O, z.fetchRemoteConfig = R, z.networkTrackingOptions = M, z.identify = U, z.enableDiagnostics = j, z.diagnosticsSampleRate = F, z.diagnosticsClient = q, z.remoteConfig = B, z.topLevelDomain = W, z.enableRequestBodyCompression = V, z.customEnrichment = H, z.version = eM, z._optOut = !1, z._cookieStorage = r, z.deviceId = s, z.lastEventId = g, z.lastEventTime = h, z.optOut = b, z.deferredSessionId = I, z.sessionId = k, z.pageCounter = D, z.userId = L, z.debugLogsEnabled = N, z.loggerProvider.enable(N ? e_.LogLevel.Debug : z.logLevel), z.networkTrackingOptions = M, z.identify = U, z.enableDiagnostics = j, z.diagnosticsSampleRate = F, z.diagnosticsClient = q;
                var K = null != (G = null == B ? void 0 : B.fetchRemoteConfig) ? G : R;
                return z.remoteConfig = z.remoteConfig || {}, z.remoteConfig.fetchRemoteConfig = K, z.fetchRemoteConfig = K, z.topLevelDomain = W || t_(), z
            }
            return (0, k.__extends)(t, e), Object.defineProperty(t.prototype, "cookieStorage", {
                get: function() {
                    return this._cookieStorage
                },
                set: function(e) {
                    this._cookieStorage !== e && (this._cookieStorage = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "deviceId", {
                get: function() {
                    return this._deviceId
                },
                set: function(e) {
                    this._deviceId !== e && (this._deviceId = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "userId", {
                get: function() {
                    return this._userId
                },
                set: function(e) {
                    this._userId !== e && (this._userId = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "sessionId", {
                get: function() {
                    return this._sessionId
                },
                set: function(e) {
                    this._sessionId !== e && (this._sessionId = e, void 0 !== e && void 0 !== this._deferredSessionId && (this._deferredSessionId = void 0), this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "deferredSessionId", {
                get: function() {
                    return this._deferredSessionId
                },
                set: function(e) {
                    this._deferredSessionId !== e && e !== this.sessionId && (this._deferredSessionId = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "optOut", {
                get: function() {
                    return this._optOut
                },
                set: function(e) {
                    this._optOut !== e && (this._optOut = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "lastEventTime", {
                get: function() {
                    return this._lastEventTime
                },
                set: function(e) {
                    this._lastEventTime !== e && (this._lastEventTime = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "lastEventId", {
                get: function() {
                    return this._lastEventId
                },
                set: function(e) {
                    this._lastEventId !== e && (this._lastEventId = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "pageCounter", {
                get: function() {
                    return this._pageCounter
                },
                set: function(e) {
                    this._pageCounter !== e && (this._pageCounter = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(t.prototype, "debugLogsEnabled", {
                set: function(e) {
                    this._debugLogsEnabled !== e && (this._debugLogsEnabled = e, this.updateStorage())
                },
                enumerable: !1,
                configurable: !0
            }), t.prototype.updateStorage = function() {
                var e = {
                    deviceId: this._deviceId,
                    userId: this._userId,
                    sessionId: this._sessionId,
                    deferredSessionId: this._deferredSessionId,
                    optOut: this._optOut,
                    lastEventTime: this._lastEventTime,
                    lastEventId: this._lastEventId,
                    pageCounter: this._pageCounter,
                    debugLogsEnabled: this._debugLogsEnabled,
                    cookieDomain: void 0
                };
                this.cookieStorage instanceof eB && (e.cookieDomain = this.cookieStorage.options.domain), this.cookieStorage.set(ez(this.apiKey), e)
            }, t
        }(W.Config),
        tw = function(e, t, n) {
            switch (void 0 === e && (e = tu), void 0 === t && (t = {}), e) {
                case "localStorage":
                    return new eJ;
                case "sessionStorage":
                    return new e$;
                case "none":
                    return new eF;
                default:
                    return new eB((0, k.__assign)((0, k.__assign)({}, t), {
                        expirationDays: t.expiration
                    }), n)
            }
        },
        tE = function(e) {
            var t, n;
            return void 0 === e && (e = {}), (null == (t = e.remoteConfig) ? void 0 : t.fetchRemoteConfig) === !0 || (null == (n = e.remoteConfig) ? void 0 : n.fetchRemoteConfig) !== !1 && !1 !== e.fetchRemoteConfig
        },
        tS = function(e) {
            var t = "object" == typeof e ? e.type : e,
                n = "object" == typeof e ? e.headers : void 0;
            return "xhr" === t ? new eZ(n) : "beacon" === t ? new e1 : new e0(n)
        },
        tT = "*****",
        tk = /\b(?:\d[ -]*?){13,16}\b/,
        tI = /(\d{3}-?\d{2}-?\d{4})/g,
        tC = /[^\s@]+@[^\s@.]+\.[^\s@]+/g,
        tA = function(e, t) {
            if (void 0 === t && (t = []), "string" != typeof e) return "";
            var n, r, i = e;
            i = (i = (i = i.replace(tk, tT)).replace(tI, tT)).replace(tC, tT);
            try {
                for (var o = (0, k.__values)(t), a = o.next(); !a.done; a = o.next()) {
                    var s = a.value;
                    try {
                        i = i.replace(s, tT)
                    } catch (e) {}
                }
            } catch (e) {
                n = {
                    error: e
                }
            } finally {
                try {
                    a && !a.done && (r = o.return) && r.call(o)
                } finally {
                    if (n) throw n.error
                }
            }
            return i
        },
        tP = function(e) {
            if ("u" < typeof document || !document.title) return "";
            var t = document.querySelector("title");
            return t && t.hasAttribute("data-amp-mask") ? tT : e ? e(document.title) : document.title
        };
    (i = g || (g = {})).SET = "$set", i.SET_ONCE = "$setOnce", i.ADD = "$add", i.APPEND = "$append", i.PREPEND = "$prepend", i.REMOVE = "$remove", i.PREINSERT = "$preInsert", i.POSTINSERT = "$postInsert", i.UNSET = "$unset", i.CLEAR_ALL = "$clearAll", (o = h || (h = {})).IDENTIFY = "$identify", o.GROUP_IDENTIFY = "$groupidentify", o.REVENUE = "revenue_amount";
    var tx = function() {
            var t = "ampIntegrationContext";
            return "u" > typeof globalThis && void 0 !== globalThis[t] ? globalThis[t] : "u" > typeof globalThis ? globalThis : "u" > typeof window ? window : "u" > typeof self ? self : e.g
        },
        tO = function() {
            var e, t = tx();
            return (null == (e = null == t ? void 0 : t.location) ? void 0 : e.search) ? t.location.search.substring(1).split("&").filter(Boolean).reduce(function(e, t) {
                var n = t.split("=", 2),
                    r = tR(n[0]),
                    i = tR(n[1]);
                return i && (e[r] = i), e
            }, {}) : {}
        },
        tR = function(e) {
            void 0 === e && (e = "");
            try {
                return decodeURIComponent(e)
            } catch (e) {
                return ""
            }
        },
        tL = "dclid",
        tD = "fbclid",
        tN = "gbraid",
        tM = "gclid",
        tU = "ko_click_id",
        tj = "li_fat_id",
        tF = "msclkid",
        tq = "rdt_cid",
        tB = "ttclid",
        tW = "twclid",
        tV = "wbraid",
        tH = {
            utm_campaign: void 0,
            utm_content: void 0,
            utm_id: void 0,
            utm_medium: void 0,
            utm_source: void 0,
            utm_term: void 0,
            referrer: void 0,
            referring_domain: void 0,
            dclid: void 0,
            gbraid: void 0,
            gclid: void 0,
            fbclid: void 0,
            ko_click_id: void 0,
            li_fat_id: void 0,
            msclkid: void 0,
            rdt_cid: void 0,
            ttclid: void 0,
            twclid: void 0,
            wbraid: void 0
        },
        tG = ["access-control-allow-origin", "access-control-allow-credentials", "access-control-expose-headers", "access-control-max-age", "access-control-allow-methods", "access-control-allow-headers", "accept-patch", "accept-ranges", "age", "allow", "alt-svc", "cache-control", "connection", "content-disposition", "content-encoding", "content-language", "content-length", "content-location", "content-md5", "content-range", "content-type", "date", "delta-base", "etag", "expires", "im", "last-modified", "link", "location", "permanent", "p3p", "pragma", "proxy-authenticate", "public-key-pins", "retry-after", "server", "status", "strict-transport-security", "trailer", "transfer-encoding", "tk", "upgrade", "vary", "via", "warning", "www-authenticate", "x-b3-traceid", "x-frame-options"],
        tz = ["authorization", "cookie", "set-cookie"],
        tK = function() {
            function e() {}
            return e.prototype.parse = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        return [2, (0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)({}, tH), this.getUtmParam()), this.getReferrer()), this.getClickIds())]
                    })
                })
            }, e.prototype.getUtmParam = function() {
                var e = tO();
                return {
                    utm_campaign: e.utm_campaign,
                    utm_content: e.utm_content,
                    utm_id: e.utm_id,
                    utm_medium: e.utm_medium,
                    utm_source: e.utm_source,
                    utm_term: e.utm_term
                }
            }, e.prototype.getReferrer = function() {
                var e, t, n = {
                    referrer: void 0,
                    referring_domain: void 0
                };
                try {
                    n.referrer = document.referrer || void 0, n.referring_domain = null != (t = null == (e = n.referrer) ? void 0 : e.split("/")[2]) ? t : void 0
                } catch (e) {}
                return n
            }, e.prototype.getClickIds = function() {
                var e, t = tO();
                return (e = {})[tL] = t[tL], e[tD] = t[tD], e[tN] = t[tN], e[tM] = t[tM], e[tU] = t[tU], e[tj] = t[tj], e[tF] = t[tF], e[tq] = t[tq], e[tB] = t[tB], e[tW] = t[tW], e[tV] = t[tV], e
            }, e
        }(),
        tJ = function() {
            function e(e) {
                this.storage = e
            }
            return e.prototype.isEnabled = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t, n, r;
                    return (0, k.__generator)(this, function(i) {
                        switch (i.label) {
                            case 0:
                                if (!this.storage) return [2, !1];
                                t = String(Date.now()), n = new e(this.storage), r = "AMP_TEST", i.label = 1;
                            case 1:
                                return i.trys.push([1, 4, 5, 7]), [4, n.set(r, t)];
                            case 2:
                                return i.sent(), [4, n.get(r)];
                            case 3:
                                return [2, i.sent() === t];
                            case 4:
                                return i.sent(), [2, !1];
                            case 5:
                                return [4, n.remove(r)];
                            case 6:
                                return i.sent(), [7];
                            case 7:
                                return [2]
                        }
                    })
                })
            }, e.prototype.get = function(e) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                return n.trys.push([0, 2, , 3]), [4, this.getRaw(e)];
                            case 1:
                                if (!(t = n.sent())) return [2, void 0];
                                return [2, JSON.parse(t)];
                            case 2:
                                return n.sent(), console.error("[Amplitude] Error: Could not get value from storage"), [2, void 0];
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.getRaw = function(e) {
                var t;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        return [2, (null == (t = this.storage) ? void 0 : t.getItem(e)) || void 0]
                    })
                })
            }, e.prototype.set = function(e, t) {
                var n;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(r) {
                        try {
                            null == (n = this.storage) || n.setItem(e, JSON.stringify(t))
                        } catch (e) {}
                        return [2]
                    })
                })
            }, e.prototype.remove = function(e) {
                var t;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        try {
                            null == (t = this.storage) || t.removeItem(e)
                        } catch (e) {}
                        return [2]
                    })
                })
            }, e.prototype.reset = function() {
                var e;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        try {
                            null == (e = this.storage) || e.clear()
                        } catch (e) {}
                        return [2]
                    })
                })
            }, e
        }(),
        t$ = (0, k.__spreadArray)([], (0, k.__read)(Array(256).keys()), !1).map(function(e) {
            return e.toString(16).padStart(2, "0")
        }),
        tX = function(e) {
            var t, n = tx();
            if (!(null == (t = null == n ? void 0 : n.crypto) ? void 0 : t.getRandomValues)) return e ? (e ^ 16 * Math.random() >> e / 4).toString(16) : (String(1e7) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(/[018]/g, tX);
            var r = n.crypto.getRandomValues(new Uint8Array(16));
            return r[6] = 15 & r[6] | 64, r[8] = 63 & r[8] | 128, (0, k.__spreadArray)([], (0, k.__read)(r.entries()), !1).map(function(e) {
                var t = (0, k.__read)(e, 2),
                    n = t[0],
                    r = t[1];
                return [4, 6, 8, 10].includes(n) ? "-".concat(t$[r]) : t$[r]
            }).join("")
        },
        tY = function(e) {
            var t = {};
            for (var n in e) {
                var r = e[n];
                r && (t[n] = r)
            }
            return t
        },
        tQ = "AMP_PAGE_VIEW",
        tZ = function(e) {
            void 0 === e && (e = {});
            var t, n, r, i = tx(),
                o = void 0,
                a = !1,
                s = e.trackOn,
                u = e.trackHistoryChanges,
                c = e.eventType,
                l = void 0 === c ? "[Amplitude] Page Viewed" : c,
                d = function(e) {
                    var t = e;
                    try {
                        t = decodeURI(e)
                    } catch (e) {
                        null == o || o.error("Malformed URI sequence: ", e)
                    }
                    return t
                },
                f = function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var t, n, r;
                        return (0, k.__generator)(this, function(i) {
                            switch (i.label) {
                                case 0:
                                    return t = d("u" > typeof location && location.href || ""), r = {
                                        event_type: l
                                    }, n = [{}], [4, t0()];
                                case 1:
                                    return [2, (r.event_properties = k.__assign.apply(void 0, [k.__assign.apply(void 0, n.concat([i.sent()])), {
                                        "[Amplitude] Page Domain": "u" > typeof location && location.hostname || "",
                                        "[Amplitude] Page Location": t,
                                        "[Amplitude] Page Path": "u" > typeof location && d(location.pathname) || "",
                                        "[Amplitude] Page Title": tP(tA),
                                        "[Amplitude] Page URL": t.split("?")[0],
                                        "[Amplitude] Page View ID": e
                                    }]), r)]
                            }
                        })
                    })
                },
                p = function() {
                    return void 0 === s || "function" == typeof s && s()
                },
                g = "u" > typeof location ? location.href : null,
                h = function() {
                    (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var e, n, i, a, s;
                        return (0, k.__generator)(this, function(c) {
                            switch (c.label) {
                                case 0:
                                    if (n = t2(u, e = location.href, g || "") && p(), g = e, !n) return [3, 4];
                                    if (i = void 0, r && (i = tX(), r.set(tQ, {
                                            pageViewId: i
                                        })), null == o || o.log("Tracking page view event"), null != t) return [3, 1];
                                    return [3, 3];
                                case 1:
                                    return s = (a = t).track, [4, f(i)];
                                case 2:
                                    s.apply(a, [c.sent()]), c.label = 3;
                                case 3:
                                    c.label = 4;
                                case 4:
                                    return [2]
                            }
                        })
                    })
                };
            return {
                name: "@amplitude/plugin-page-view-tracking-browser",
                type: "enrichment",
                setup: function(e, s) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var u, c, l;
                        return (0, k.__generator)(this, function(d) {
                            switch (d.label) {
                                case 0:
                                    if (t = s, n = e, (o = e.loggerProvider).log("Installing @amplitude/plugin-page-view-tracking-browser"), a = !0, i) {
                                        try {
                                            r = new tJ(i.sessionStorage)
                                        } catch (e) {
                                            null == o || o.debug("sessionStorage is not available in this environment.")
                                        }
                                        i.addEventListener("popstate", h), i.history.pushState = new Proxy(i.history.pushState, {
                                            apply: function(e, t, n) {
                                                var r = (0, k.__read)(n, 3),
                                                    i = r[0],
                                                    o = r[1],
                                                    s = r[2];
                                                e.apply(t, [i, o, s]), a && h()
                                            }
                                        })
                                    }
                                    if (!p()) return [3, 2];
                                    return o.log("Tracking page view event"), u = void 0, r && (u = tX(), r.set(tQ, {
                                        pageViewId: u
                                    })), l = (c = t).track, [4, f(u)];
                                case 1:
                                    l.apply(c, [d.sent()]), d.label = 2;
                                case 2:
                                    return [2]
                            }
                        })
                    })
                },
                execute: function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var t, i, a;
                        return (0, k.__generator)(this, function(u) {
                            switch (u.label) {
                                case 0:
                                    if (!("attribution" === s && t1(e))) return [3, 4];
                                    if (null == o || o.log("Enriching campaign event to page view event with campaign parameters"), t = void 0, !r) return [3, 2];
                                    return [4, r.get(tQ)];
                                case 1:
                                    t = null == (i = u.sent()) ? void 0 : i.pageViewId, u.label = 2;
                                case 2:
                                    return [4, f(t)];
                                case 3:
                                    e.event_type = (a = u.sent()).event_type, e.event_properties = (0, k.__assign)((0, k.__assign)({}, e.event_properties), a.event_properties), u.label = 4;
                                case 4:
                                    return n && e.event_type === l && (n.pageCounter = n.pageCounter ? n.pageCounter + 1 : 1, e.event_properties = (0, k.__assign)((0, k.__assign)({}, e.event_properties), {
                                        "[Amplitude] Page Counter": n.pageCounter
                                    })), [2, e]
                            }
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(e) {
                            return i && (i.removeEventListener("popstate", h), a = !1), [2]
                        })
                    })
                }
            }
        },
        t0 = function() {
            return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                var e;
                return (0, k.__generator)(this, function(t) {
                    switch (t.label) {
                        case 0:
                            return e = tY, [4, new tK().parse()];
                        case 1:
                            return [2, e.apply(void 0, [t.sent()])]
                    }
                })
            })
        },
        t1 = function(e) {
            if ("$identify" === e.event_type && e.user_properties) {
                var t = e.user_properties,
                    n = t[g.SET] || {},
                    r = t[g.UNSET] || {},
                    i = (0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(Object.keys(n)), !1), (0, k.__read)(Object.keys(r)), !1);
                return Object.keys(tH).every(function(e) {
                    return i.includes(e)
                })
            }
            return !1
        },
        t2 = function(e, t, n) {
            if ("pathOnly" !== e) return t !== n;
            if ("" == n) return !0;
            var r = new URL(t),
                i = new URL(n);
            return r.origin + r.pathname !== i.origin + i.pathname
        },
        t3 = function() {
            var e, t, n = [],
                r = function(e, t, r) {
                    e.addEventListener(t, r), n.push({
                        element: e,
                        type: t,
                        handler: r
                    })
                },
                i = function() {
                    n.forEach(function(e) {
                        var t = e.element,
                            n = e.type,
                            r = e.handler;
                        null == t || t.removeEventListener(n, r)
                    }), n = []
                };
            return {
                name: "@amplitude/plugin-form-interaction-tracking-browser",
                type: "enrichment",
                setup: function(n, i) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var o, a;
                        return (0, k.__generator)(this, function(s) {
                            return t = eR(n), o = function() {
                                if (!i) return void n.loggerProvider.warn("Form interaction tracking requires a later version of @amplitude/analytics-browser. Form interaction events are not tracked.");
                                if ("u" > typeof document) {
                                    var o = new WeakSet,
                                        a = function(e) {
                                            if (!o.has(e)) {
                                                o.add(e);
                                                var a = !1;
                                                r(e, "change", function() {
                                                    var t, n = t5(e);
                                                    a || i.track(e5, ((t = {})[to] = t4(e.id), t[ta] = t4(e.name), t[ts] = n, t)), a = !0
                                                }), r(e, "submit", function(r) {
                                                    var o, s, u = t5(e);
                                                    if (a || i.track(e5, ((o = {})[to] = t4(e.id), o[ta] = t4(e.name), o[ts] = u, o)), a = !0, (null == t ? void 0 : t.shouldTrackSubmit) !== void 0)
                                                        if ("function" == typeof t.shouldTrackSubmit && "u" > typeof SubmitEvent && r instanceof SubmitEvent) try {
                                                            if (!t.shouldTrackSubmit(r)) return
                                                        } catch (e) {
                                                            n.loggerProvider.warn("shouldTrackSubmit callback threw an error, proceeding with tracking.")
                                                        } else n.loggerProvider.warn("shouldTrackSubmit is ignored because it is not a function or event is not a SubmitEvent.");
                                                    i.track(e6, ((s = {})[to] = t4(e.id), s[ta] = t4(e.name), s[ts] = u, s)), a = !1
                                                })
                                            }
                                        };
                                    Array.from(document.getElementsByTagName("form")).forEach(a), "u" > typeof MutationObserver && (e = new MutationObserver(function(e) {
                                        e.forEach(function(e) {
                                            e.addedNodes.forEach(function(e) {
                                                "FORM" === e.nodeName && a(e), "querySelectorAll" in e && "function" == typeof e.querySelectorAll && Array.from(e.querySelectorAll("form")).map(a)
                                            })
                                        })
                                    })).observe(document.body, {
                                        subtree: !0,
                                        childList: !0
                                    })
                                }
                            }, "complete" === document.readyState ? o() : (a = (0, Y.getGlobalScope)()) ? a.addEventListener("load", o) : n.loggerProvider.debug("Form interaction tracking is not installed because global is undefined."), [2]
                        })
                    })
                },
                execute: function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return [2, e]
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return null == e || e.disconnect(), i(), [2]
                        })
                    })
                }
            }
        },
        t4 = function(e) {
            if ("string" == typeof e) return e
        },
        t5 = function(e) {
            var t = e.getAttribute("action");
            try {
                t = new URL(encodeURI(null != t ? t : ""), window.location.href).href
            } catch (e) {}
            return t
        },
        t6 = function() {
            var e, t = [],
                n = function(e, n, r) {
                    e.addEventListener(n, r), t.push({
                        element: e,
                        type: n,
                        handler: r
                    })
                },
                r = function() {
                    t.forEach(function(e) {
                        var t = e.element,
                            n = e.type,
                            r = e.handler;
                        null == t || t.removeEventListener(n, r)
                    }), t = []
                };
            return {
                name: "@amplitude/plugin-file-download-tracking-browser",
                type: "enrichment",
                setup: function(t, r) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var i, o;
                        return (0, k.__generator)(this, function(a) {
                            return i = function() {
                                if (!r) return void t.loggerProvider.warn("File download tracking requires a later version of @amplitude/analytics-browser. File download events are not tracked.");
                                if ("u" > typeof document) {
                                    var i = function(e) {
                                            try {
                                                t = new URL(e.href, window.location.href)
                                            } catch (e) {
                                                return
                                            }
                                            var t, i = o.exec(t.href),
                                                a = null == i ? void 0 : i[1];
                                            a && n(e, "click", function() {
                                                var n;
                                                a && r.track(e8, ((n = {})[te] = a, n[tt] = t.pathname, n[tn] = e.id, n[tr] = e.text, n[ti] = e.href, n))
                                            })
                                        },
                                        o = /\.(pdf|xlsx?|docx?|txt|rtf|csv|exe|key|pp(s|t|tx)|7z|pkg|rar|gz|zip|avi|mov|mp4|mpe?g|wmv|midi?|mp3|wav|wma)(\?.+)?$/;
                                    Array.from(document.getElementsByTagName("a")).forEach(i), "u" > typeof MutationObserver && (e = new MutationObserver(function(e) {
                                        e.forEach(function(e) {
                                            e.addedNodes.forEach(function(e) {
                                                "A" === e.nodeName && i(e), "querySelectorAll" in e && "function" == typeof e.querySelectorAll && Array.from(e.querySelectorAll("a")).map(i)
                                            })
                                        })
                                    })).observe(document.body, {
                                        subtree: !0,
                                        childList: !0
                                    })
                                }
                            }, "complete" === document.readyState ? i() : (o = (0, Y.getGlobalScope)()) ? o.addEventListener("load", i) : t.loggerProvider.debug("File download tracking is not installed because global is undefined."), [2]
                        })
                    })
                },
                execute: function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return [2, e]
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return null == e || e.disconnect(), r(), [2]
                        })
                    })
                }
            }
        },
        t8 = !1,
        t7 = function(e) {
            t8 || void 0 !== e.defaultTracking || (e.loggerProvider.warn("`options.defaultTracking` is set to undefined. This implicitly configures your Amplitude instance to track Page Views, Sessions, File Downloads, and Form Interactions. You can suppress this warning by explicitly setting a value to `options.defaultTracking`. The value must either be a boolean, to enable and disable all default events, or an object, for advanced configuration. For example:\n\namplitude.init(<YOUR_API_KEY>, {\n  defaultTracking: true,\n});\n\nVisit https://www.docs.developers.amplitude.com/data/sdks/browser-2/#tracking-default-events for more details."), t8 = !0)
        },
        t9 = function() {
            var e = (0, Y.getGlobalScope)(),
                t = [],
                n = function(n, r) {
                    (null == e ? void 0 : e.addEventListener) && (null == e || e.addEventListener(n, r), t.push({
                        type: n,
                        handler: r
                    }))
                },
                r = function() {
                    t.forEach(function(t) {
                        var n = t.type,
                            r = t.handler;
                        null == e || e.removeEventListener(n, r)
                    }), t = []
                };
            return {
                name: "@amplitude/plugin-network-checker-browser",
                type: "before",
                setup: function(e, t) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(r) {
                            return "u" < typeof navigator ? (e.loggerProvider.debug("Network connectivity checker plugin is disabled because navigator is not available."), e.offline = !1) : (e.offline = !navigator.onLine, n("online", function() {
                                e.loggerProvider.debug("Network connectivity changed to online."), e.offline = !1, setTimeout(function() {
                                    t.flush()
                                }, e.flushIntervalMillis)
                            }), n("offline", function() {
                                e.loggerProvider.debug("Network connectivity changed to offline."), e.offline = !0
                            })), [2]
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(e) {
                            return r(), [2]
                        })
                    })
                }
            }
        };

    function ne(e, t, n) {
        var r, i, o = [];
        try {
            for (var a = (0, k.__values)(null != t ? t : []), s = a.next(); !s.done; s = a.next()) {
                var u = s.value;
                try {
                    o.push(new RegExp(u))
                } catch (e) {
                    n.loggerProvider.warn("Invalid regex pattern: ".concat(u), e)
                }
            }
        } catch (e) {
            r = {
                error: e
            }
        } finally {
            try {
                s && !s.done && (i = a.return) && i.call(a)
            } finally {
                if (r) throw r.error
            }
        }
        return e.concat(o)
    }
    var nt = ["a", "button", "input", "select", "textarea", "label", "video", "audio", '[contenteditable="true" i]', "[data-amp-default-track]", ".amp-default-track"],
        nn = "data-amp-track-",
        nr = ["div", "span", "h1", "h2", "h3", "h4", "h5", "h6"],
        ni = e.i(491279),
        no = e.i(941073),
        na = e.i(79815);

    function ns(e, t) {
        return new na.default(function(n) {
            e.subscribe({
                next: function(e) {
                    t(e).then(function(e) {
                        return n.next(e)
                    }).catch(function(e) {
                        return n.error(e)
                    })
                },
                error: function(e) {
                    n.error(e)
                },
                complete: function() {
                    n.complete()
                }
            })
        })
    }

    function nu(e, t) {
        return new na.default(function(n) {
            var r = !1,
                i = new Set,
                o = function() {
                    var e, t;
                    r = !0;
                    try {
                        for (var n = (0, k.__values)(i), o = n.next(); !o.done; o = n.next()) {
                            var a = o.value;
                            try {
                                a.unsubscribe()
                            } catch (e) {}
                        }
                    } catch (t) {
                        e = {
                            error: t
                        }
                    } finally {
                        try {
                            o && !o.done && (t = n.return) && t.call(n)
                        } finally {
                            if (e) throw e.error
                        }
                    }
                    i.clear()
                },
                a = function(e) {
                    var t = e.subscribe({
                        next: function(e) {
                            r || n.next(e)
                        },
                        error: function(e) {
                            r || (r = !0, n.error(e), o())
                        },
                        complete: function() {
                            i.delete(t), r || 0 !== i.size || (n.complete(), o(), r = !0)
                        }
                    });
                    i.add(t)
                };
            return a(e), a(t), o
        })
    }

    function nc(e) {
        var t = new Set,
            n = null;

        function r() {
            null == n || n.unsubscribe(), n = null, t.clear()
        }
        return new na.default(function(i) {
            return t.add(i), null === n && (n = e.subscribe({
                    next: function(e) {
                        try {
                            for (var n, r, i, o = (0, k.__values)(t), a = o.next(); !a.done; a = o.next()) {
                                var s = a.value;
                                null == (i = s.next) || i.call(s, e)
                            }
                        } catch (e) {
                            n = {
                                error: e
                            }
                        } finally {
                            try {
                                a && !a.done && (r = o.return) && r.call(o)
                            } finally {
                                if (n) throw n.error
                            }
                        }
                    },
                    error: function(e) {
                        try {
                            for (var n, i, o, a = (0, k.__values)(t), s = a.next(); !s.done; s = a.next()) {
                                var u = s.value;
                                null == (o = u.error) || o.call(u, e)
                            }
                        } catch (e) {
                            n = {
                                error: e
                            }
                        } finally {
                            try {
                                s && !s.done && (i = a.return) && i.call(a)
                            } finally {
                                if (n) throw n.error
                            }
                        }
                        r()
                    },
                    complete: function() {
                        try {
                            for (var e, n, i, o = (0, k.__values)(t), a = o.next(); !a.done; a = o.next()) {
                                var s = a.value;
                                null == (i = s.complete) || i.call(s)
                            }
                        } catch (t) {
                            e = {
                                error: t
                            }
                        } finally {
                            try {
                                a && !a.done && (n = o.return) && n.call(o)
                            } finally {
                                if (e) throw e.error
                            }
                        }
                        r()
                    }
                })),
                function() {
                    t.delete(i), 0 === t.size && n && (n.unsubscribe(), n = null)
                }
        })
    }
    var nl = "1.27.1",
        nd = "[Amplitude] Element Clicked",
        nf = "[Amplitude] Element Tag",
        np = "[Amplitude] Element Text",
        ng = "[Amplitude] Page URL",
        nh = "[Amplitude] Viewport Height",
        nv = "[Amplitude] Viewport Width",
        nm = "[Amplitude] Page View ID",
        n_ = "data-amp-mask-attributes",
        ny = e.i(269774),
        nb = function(e, t) {
            return !t || !t.length || t.some(function(t) {
                return "string" == typeof t ? e === t : e.match(t)
            })
        },
        nw = function(e, t) {
            var n = e;
            try {
                n = decodeURI(e)
            } catch (e) {
                null == t || t.error("Malformed URI sequence: ", e)
            }
            return n
        },
        nE = ["input", "select", "textarea"],
        nS = function(e, t) {
            var n, r = null == (n = null == window ? void 0 : window.getComputedStyle) ? void 0 : n.call(window, e);
            return (null == r ? void 0 : r.getPropertyValue("cursor")) === "pointer" && "click" === t
        },
        nT = function(e) {
            var t = e.pageUrlAllowlist,
                n = e.pageUrlExcludelist;
            return !(n && n.length > 0 && nb(window.location.href, n)) && !!nb(window.location.href, t)
        },
        nk = function(e, t, n) {
            return void 0 === n && (n = !1),
                function(r, i) {
                    var o, a, s = e.shouldTrackEventResolver,
                        u = null == (a = null == (o = null == i ? void 0 : i.tagName) ? void 0 : o.toLowerCase) ? void 0 : a.call(o);
                    if (!u) return !1;
                    if (s) return s(r, i);
                    if (!nT(e)) return !1;
                    var c = String(null == i ? void 0 : i.getAttribute("type")) || "";
                    if ("string" == typeof c) switch (c.toLowerCase()) {
                        case "hidden":
                        case "password":
                            return !1
                    }
                    var l = nS(i, r);
                    if (n && l) return !0;
                    if (t && !t.some(function(e) {
                            var t;
                            return !!(null == (t = null == i ? void 0 : i.matches) ? void 0 : t.call(i, e))
                        })) return !1;
                    switch (u) {
                        case "input":
                        case "select":
                        case "textarea":
                            return "change" === r || "click" === r;
                        default:
                            if (l) return !0;
                            return "click" === r
                    }
                }
        },
        nI = function(e) {
            var t, n, r, i = null == (n = null == (t = null == e ? void 0 : e.tagName) ? void 0 : t.toLowerCase) ? void 0 : n.call(t),
                o = e instanceof HTMLElement && (null == (r = e.getAttribute("contenteditable")) ? void 0 : r.toLowerCase()) === "true";
            return !nE.includes(i) && !o
        },
        nC = function(e) {
            return Object.keys(e).reduce(function(t, n) {
                var r = e[n];
                return null != r && ("object" != typeof r || 0 !== Object.keys(r).length) && ("string" != typeof r || 0 !== r.trim().length) && (t[n] = r), t
            }, {})
        },
        nA = function() {
            var e;
            try {
                var t = (0, Y.getGlobalScope)(),
                    n = null == (e = null == t ? void 0 : t.sessionStorage) ? void 0 : e.getItem("AMP_PAGE_VIEW");
                if (!n) return;
                var r = JSON.parse(n);
                if ("string" == typeof r.pageViewId) return r.pageViewId
            } catch (e) {}
        },
        nP = function(e, t) {
            return e ? t.some(function(t) {
                var n;
                return null == (n = null == e ? void 0 : e.matches) ? void 0 : n.call(e, t)
            }) ? e : nP(null == e ? void 0 : e.parentElement, t) : null
        },
        nx = function(e) {
            return null !== e.event.target && !!e.closestTrackedAncestor
        };
    (a = v || (v = {}))[a.LEFT_OR_TOUCH_CONTACT = 0] = "LEFT_OR_TOUCH_CONTACT", a[a.MIDDLE = 1] = "MIDDLE", a[a.RIGHT = 2] = "RIGHT";
    var nO = "__AMPLITUDE_VISUAL_TAGGING__",
        nR = na,
        nL = (0, Y.getGlobalScope)(),
        nD = null == nL ? void 0 : nL.console,
        nN = {},
        nM = {},
        nU = !1,
        nj = function(e, t) {
            if (!nD || "function" != typeof nD[e] || !nM[e] && (nM[e] = nD[e], nD[e] = function() {
                    for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n];
                    try {
                        if (nN[e] && !nU) {
                            nU = !0;
                            var r = nN[e];
                            r && r.forEach(function(n) {
                                try {
                                    n(e, t)
                                } catch (e) {}
                            })
                        }
                    } catch (e) {}
                    return nU = !1, nM[e].apply(nD, t)
                }, 0)) return Error("Console override failed");
            nN[e] ? nN[e].push(t) : nN[e] = [t]
        },
        nF = function(e) {
            var t, n;
            try {
                for (var r = (0, k.__values)(Object.values(nN)), i = r.next(); !i.done; i = r.next())
                    for (var o = i.value, a = o.length - 1; a >= 0; a--)
                        if (o[a] === e) {
                            o.splice(a, 1);
                            break
                        }
            } catch (e) {
                t = {
                    error: e
                }
            } finally {
                try {
                    i && !i.done && (n = r.return) && n.call(r)
                } finally {
                    if (t) throw t.error
                }
            }
        },
        nq = (0, Y.getGlobalScope)(),
        nB = function() {
            return new nR.default(function(e) {
                var t = new MutationObserver(function(t) {
                    e.next(t)
                });
                return document.body && t.observe(document.body, {
                        childList: !0,
                        attributes: !0,
                        characterData: !0,
                        subtree: !0
                    }),
                    function() {
                        return t.disconnect()
                    }
            })
        },
        nW = function(e) {
            return void 0 === e && (e = "click"), new nR.default(function(t) {
                var n, r = function(e) {
                    t.next(e)
                };
                return null == (n = (0, Y.getGlobalScope)()) || n.document.addEventListener(e, r, {
                        capture: !0
                    }),
                    function() {
                        var t;
                        null == (t = (0, Y.getGlobalScope)()) || t.document.removeEventListener(e, r, {
                            capture: !0
                        })
                    }
            })
        },
        nV = function() {
            var e = nu(new nR.default(function(e) {
                var t = function(t) {
                    if (t instanceof ErrorEvent) {
                        var n = {
                            kind: "error"
                        };
                        t.error instanceof Error || t.error instanceof DOMException ? n = (0, k.__assign)((0, k.__assign)({}, n), {
                            message: t.error.message,
                            stack: t.error.stack,
                            filename: t.filename,
                            lineNumber: t.lineno,
                            columnNumber: t.colno
                        }) : "string" == typeof t.error && (n.message = t.error), e.next(n)
                    }
                };
                return nq.addEventListener("error", t),
                    function() {
                        nq.removeEventListener("error", t)
                    }
            }), new nR.default(function(e) {
                var t = function(t) {
                    var n = {
                        kind: "unhandledrejection"
                    };
                    t.reason instanceof Error || t.reason instanceof DOMException ? (n.message = t.reason.message, n.stack = t.reason.stack) : "string" == typeof t.reason && (n.message = t.reason), e.next(n)
                };
                return nq.addEventListener("unhandledrejection", t),
                    function() {
                        nq.removeEventListener("unhandledrejection", t)
                    }
            }));
            return nu(e, new nR.default(function(e) {
                var t = function(t) {
                    for (var n = [], r = 1; r < arguments.length; r++) n[r - 1] = arguments[r];
                    var i = void 0;
                    Array.isArray(n[0]) && "string" == typeof n[0][0] && (i = n[0][0]), e.next({
                        kind: "console",
                        message: i
                    })
                };
                return nj("error", t),
                    function() {
                        nF(t)
                    }
            }))
        },
        nH = function(e, t) {
            try {
                if ("[Amplitude] Element Text" === t.subprop_key) return "is" === t.subprop_op && t.subprop_value.includes(e.targetElementProperties["[Amplitude] Element Text"]);
                if ("[Amplitude] Element Hierarchy" === t.subprop_key) return "autotrack css match" === t.subprop_op && !!e.closestTrackedAncestor.closest(t.subprop_value.toString())
            } catch (e) {
                console.error("Error matching event to filter", e)
            }
            return !1
        },
        nG = function(e, t) {
            try {
                if ("DOM_ELEMENT" === e.sourceType) {
                    var n = document.documentElement;
                    if (e.scope && t && (n = t.closest(e.scope)), n && e.selector) return n.querySelector(e.selector);
                    return n
                }
            } catch (e) {}
        },
        nz = function(e, t, n) {
            e.forEach(function(e) {
                if ("string" != typeof e && "ATTACH_EVENT_PROPERTY" === e.actionType) {
                    var r = n.extractDataFromDataSource(e.dataSource, t.closestTrackedAncestor);
                    t.targetElementProperties[e.destinationKey] = r
                }
            })
        },
        nK = {
            "[Amplitude] Element Clicked": "click",
            "[Amplitude] Element Changed": "change"
        },
        nJ = function(e) {
            var t, n, r, i, o = Object.values(nK).reduce(function(e, t) {
                return e[t] = new Set, e
            }, {});
            if (!e) return o;
            try {
                for (var a = (0, k.__values)(e), s = a.next(); !s.done; s = a.next()) {
                    var u = s.value;
                    try {
                        try {
                            for (var c = (r = void 0, (0, k.__values)(u.definition)), l = c.next(); !l.done; l = c.next()) {
                                var d = nK[l.value.event_type];
                                d && o[d].add(u.id)
                            }
                        } catch (e) {
                            r = {
                                error: e
                            }
                        } finally {
                            try {
                                l && !l.done && (i = c.return) && i.call(c)
                            } finally {
                                if (r) throw r.error
                            }
                        }
                    } catch (e) {
                        console.warn("Skipping Labeled Event due to malformed definition", null == u ? void 0 : u.id, e)
                    }
                }
            } catch (e) {
                t = {
                    error: e
                }
            } finally {
                try {
                    s && !s.done && (n = a.return) && n.call(a)
                } finally {
                    if (t) throw t.error
                }
            }
            return o
        },
        n$ = function(e) {
            var t, n, r, i, o = new Map;
            try {
                for (var a = (0, k.__values)(e), s = a.next(); !s.done; s = a.next()) {
                    var u = s.value;
                    try {
                        for (var c = (r = void 0, (0, k.__values)(u.conditions)), l = c.next(); !l.done; l = c.next()) {
                            var d = l.value;
                            if ("LABELED_EVENT" === d.type) {
                                var f = d.match.eventId,
                                    p = o.get(f);
                                p || (p = [], o.set(f, p)), p.push(u)
                            }
                        }
                    } catch (e) {
                        r = {
                            error: e
                        }
                    } finally {
                        try {
                            l && !l.done && (i = c.return) && i.call(c)
                        } finally {
                            if (r) throw r.error
                        }
                    }
                }
            } catch (e) {
                t = {
                    error: e
                }
            } finally {
                try {
                    s && !s.done && (n = a.return) && n.call(a)
                } finally {
                    if (t) throw t.error
                }
            }
            return o
        },
        nX = function(e, t) {
            var n, r, i, o, a = new Set;
            try {
                for (var s = (0, k.__values)(e), u = s.next(); !u.done; u = s.next()) {
                    var c = u.value,
                        l = t.get(c.id);
                    if (l) try {
                        for (var d = (i = void 0, (0, k.__values)(l)), f = d.next(); !f.done; f = d.next()) {
                            var p = f.value;
                            a.add(p)
                        }
                    } catch (e) {
                        i = {
                            error: e
                        }
                    } finally {
                        try {
                            f && !f.done && (o = d.return) && o.call(d)
                        } finally {
                            if (i) throw i.error
                        }
                    }
                }
            } catch (e) {
                n = {
                    error: e
                }
            } finally {
                try {
                    u && !u.done && (r = s.return) && r.call(s)
                } finally {
                    if (n) throw n.error
                }
            }
            return Array.from(a)
        },
        nY = function() {
            function e(e, t, n, r) {
                this.groupedLabeledEvents = e, this.labeledEventToTriggerMap = t, this.dataExtractor = n, this.options = r
            }
            return e.prototype.evaluate = function(e) {
                var t, n, r = this.options.pageActions;
                if (!r) return e;
                var i = nX(Array.from(this.groupedLabeledEvents[e.type]).map(function(e) {
                    return r.labeledEvents[e]
                }).filter(function(t) {
                    return t.definition.some(function(t) {
                        return nK[t.event_type] === e.type && t.filters.every(function(t) {
                            return nH(e, t)
                        })
                    })
                }), this.labeledEventToTriggerMap);
                try {
                    for (var o = (0, k.__values)(i), a = o.next(); !a.done; a = o.next()) {
                        var s = a.value;
                        nz(s.actions, e, this.dataExtractor)
                    }
                } catch (e) {
                    t = {
                        error: e
                    }
                } finally {
                    try {
                        a && !a.done && (n = o.return) && n.call(o)
                    } finally {
                        if (t) throw t.error
                    }
                }
                return e
            }, e.prototype.update = function(e, t, n) {
                this.groupedLabeledEvents = e, this.labeledEventToTriggerMap = t, this.options = n
            }, e
        }(),
        nQ = "data-amp-mask",
        nZ = "*****",
        n0 = /\b(?:\d[ -]*?){13,16}\b/,
        n1 = /(\d{3}-?\d{2}-?\d{4})/g,
        n2 = /[^\s@]+@[^\s@.]+\.[^\s@]+/g,
        n3 = function(e, t) {
            if (void 0 === t && (t = []), "string" != typeof e) return "";
            var n, r, i = e;
            i = (i = (i = i.replace(n0, nZ)).replace(n1, nZ)).replace(n2, nZ);
            try {
                for (var o = (0, k.__values)(t), a = o.next(); !a.done; a = o.next()) {
                    var s = a.value;
                    try {
                        i = i.replace(s, nZ)
                    } catch (e) {}
                }
            } catch (e) {
                n = {
                    error: e
                }
            } finally {
                try {
                    a && !a.done && (r = o.return) && r.call(o)
                } finally {
                    if (n) throw n.error
                }
            }
            return i
        },
        n4 = function(e) {
            if ("u" < typeof document || !document.title) return "";
            var t = document.querySelector("title");
            return t && t.hasAttribute(nQ) ? nZ : e ? e(document.title) : document.title
        },
        n5 = new Set(["id", "class", "style", "value", "onclick", "onchange", "oninput", "onblur", "onsubmit", "onfocus", "onkeydown", "onkeyup", "onkeypress", "data-reactid", "data-react-checksum", "data-reactroot", n_, nQ]),
        n6 = ["type"],
        n8 = ["svg", "path", "g"],
        n7 = ["password", "hidden"],
        n9 = function() {
            function e(e, t) {
                this.value = e, this.optimized = t
            }
            return e.prototype.toString = function() {
                return this.value
            }, e
        }(),
        re = function(e, t) {
            if (e.nodeType !== Node.ELEMENT_NODE) return "";
            for (var n = [], r = e; r;) {
                var i = rt(r, !!t, r === e);
                if (!i || (n.push(i), i.optimized)) break;
                r = r.parentElement
            }
            return n.reverse(), n.join(" > ")
        },
        rt = function(e, t, n) {
            if (e.nodeType !== Node.ELEMENT_NODE) return null;
            var r, i, o = e.getAttribute("id");
            if (t) {
                if (o) return new n9(l(o), !0);
                var a = e.tagName.toLowerCase();
                if ("body" === a || "head" === a || "html" === a) return new n9(a, !0)
            }
            var s = e.tagName.toLowerCase();
            if (o) return new n9(s + l(o), !0);
            var u = e.parentNode;
            if (!u || u.nodeType === Node.DOCUMENT_NODE) return new n9(s, !0);

            function c(e) {
                var t = e.getAttribute("class");
                return t ? t.split(/\s+/g).filter(Boolean).map(function(e) {
                    return "$" + e
                }) : []
            }

            function l(e) {
                return "#" + CSS.escape(e)
            }
            for (var d = c(e), f = !1, p = !1, g = -1, h = -1, v = u.children, m = 0; v && (-1 === g || !p) && m < v.length; ++m) {
                var _ = v[m];
                if (_.nodeType === Node.ELEMENT_NODE) {
                    if (h += 1, _ === e) {
                        g = h;
                        continue
                    }
                    if (!p && _.tagName.toLowerCase() === s) {
                        f = !0;
                        var y = new Set(d);
                        if (!y.size) {
                            p = !0;
                            continue
                        }
                        for (var b = c(_), w = 0; w < b.length; ++w) {
                            var E = b[w];
                            if (y.has(E) && (y.delete(E), !y.size)) {
                                p = !0;
                                break
                            }
                        }
                    }
                }
            }
            var S = s;
            if (n && "input" === s.toLowerCase() && e.getAttribute("type") && !e.getAttribute("id") && !e.getAttribute("class") && (S += "[type=" + CSS.escape(e.getAttribute("type") || "") + "]"), p) S += ":nth-child(" + String(g + 1) + ")";
            else if (f) try {
                for (var T = (0, k.__values)(d), I = T.next(); !I.done; I = T.next()) {
                    var C = I.value;
                    S += "." + CSS.escape(C.slice(1))
                }
            } catch (e) {
                r = {
                    error: e
                }
            } finally {
                try {
                    I && !I.done && (i = T.return) && i.call(T)
                } finally {
                    if (r) throw r.error
                }
            }
            return new n9(S, !1)
        },
        rn = function(e, t) {
            var n, r, i, o = this;
            this.replaceSensitiveString = function(e) {
                return n3(e, o.additionalMaskTextPatterns)
            }, this.getHierarchy = function(e) {
                var t, n, r, i, a = performance.now(),
                    s = [];
                if (!e) return [];
                for (var u = function(e) {
                        var t = [];
                        if (!e) return t;
                        t.push(e);
                        for (var n = e.parentElement; n && "HTML" !== n.tagName;) t.push(n), n = n.parentElement;
                        return t
                    }(e), c = new Map, l = u.length - 1; l >= 0; l--) {
                    var d = u[l];
                    if (d) {
                        var f, p = (f = d.getAttribute(n_)) ? f.split(",").map(function(e) {
                                return e.trim()
                            }).filter(function(e) {
                                return e.length > 0 && "id" !== e && "class" !== e
                            }) : [],
                            g = l === u.length - 1 ? [] : null != (r = c.get(u[l + 1])) ? r : new Set,
                            h = new Set((0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(g), !1), (0, k.__read)(p), !1));
                        c.set(d, h)
                    }
                }
                s = u.map(function(e) {
                    var t;
                    return function(e, t) {
                        if (null === e) return null;
                        var n, r, i, o, a, s, u = String(e.tagName).toLowerCase(),
                            c = {
                                tag: u
                            },
                            l = Array.from(null != (o = null == (i = e.parentElement) ? void 0 : i.children) ? o : []);
                        l.length && (c.index = l.indexOf(e), c.indexOfType = l.filter(function(t) {
                            return t.tagName === e.tagName
                        }).indexOf(e));
                        var d = null == (s = null == (a = e.previousElementSibling) ? void 0 : a.tagName) ? void 0 : s.toLowerCase();
                        d && (c.prevSib = String(d));
                        var f = e.getAttribute("id");
                        f && (c.id = String(f));
                        var p = Array.from(e.classList);
                        p.length && (c.classes = p);
                        var g = {},
                            h = Array.from(e.attributes).filter(function(e) {
                                return !n5.has(e.name)
                            }),
                            v = !nI(e);
                        if (!n7.includes(String(e.getAttribute("type"))) && !n8.includes(u)) try {
                            for (var m = (0, k.__values)(h), _ = m.next(); !_.done; _ = m.next()) {
                                var y = _.value;
                                if (!v || n6.includes(y.name)) {
                                    if (t.has(y.name)) {
                                        g[y.name] = nZ;
                                        continue
                                    }
                                    g[y.name] = String(y.value).substring(0, 128)
                                }
                            }
                        } catch (e) {
                            n = {
                                error: e
                            }
                        } finally {
                            try {
                                _ && !_.done && (r = m.return) && r.call(m)
                            } finally {
                                if (n) throw n.error
                            }
                        }
                        return Object.keys(g).length && (c.attrs = g), c
                    }(e, null != (t = c.get(e)) ? t : new Set)
                });
                var v = function(e) {
                    (null == e ? void 0 : e.attrs) && Object.entries(e.attrs).forEach(function(t) {
                        var n = (0, k.__read)(t, 2),
                            r = n[0],
                            i = n[1];
                        e.attrs && (e.attrs[r] = o.replaceSensitiveString(i))
                    })
                };
                try {
                    for (var m = (0, k.__values)(s), _ = m.next(); !_.done; _ = m.next()) {
                        var y = _.value;
                        v(y)
                    }
                } catch (e) {
                    t = {
                        error: e
                    }
                } finally {
                    try {
                        _ && !_.done && (n = m.return) && n.call(m)
                    } finally {
                        if (t) throw t.error
                    }
                }
                var b = performance.now();
                return null == (i = o.diagnosticsClient) || i.recordHistogram("autocapturePlugin.getHierarchy", b - a), s
            }, this.getNearestLabel = function(e) {
                var t, n = e.parentElement;
                if (!n) return "";
                try {
                    t = n.querySelector(":scope>span,h1,h2,h3,h4,h5,h6")
                } catch (e) {
                    t = null
                }
                return t ? o.getText(t) : o.getNearestLabel(n)
            }, this.getElementPath = function(e) {
                if (!e) return "";
                var t, n = performance.now(),
                    r = re(e),
                    i = performance.now();
                return null == (t = o.diagnosticsClient) || t.recordHistogram("autocapturePlugin.getElementPath", i - n), r
            }, this.getEventProperties = function(e, t, n) {
                var r, i, a, s, u = null == (a = null == (i = null == t ? void 0 : t.tagName) ? void 0 : i.toLowerCase) ? void 0 : a.call(i),
                    c = "function" == typeof t.getBoundingClientRect ? t.getBoundingClientRect() : {
                        left: null,
                        top: null
                    },
                    l = o.getHierarchy(t),
                    d = null == (s = l[0]) ? void 0 : s.attrs,
                    f = o.getNearestLabel(t),
                    p = Object.entries(null != d ? d : {}).reduce(function(e, t) {
                        var r = (0, k.__read)(t, 2),
                            i = r[0],
                            o = r[1];
                        if (i.startsWith(n)) {
                            var a = i.replace(n, "");
                            a && (e[a] = o || "")
                        }
                        return e
                    }, {}),
                    g = ((r = {})["[Amplitude] Element Hierarchy"] = l, r[nf] = u, r[np] = o.getText(t), r["[Amplitude] Element Position Left"] = null == c.left ? null : Math.round(c.left), r["[Amplitude] Element Position Top"] = null == c.top ? null : Math.round(c.top), r["[Amplitude] Element Attributes"] = p, r["[Amplitude] Element Path"] = o.getElementPath(t), r["[Amplitude] Element Parent Label"] = f, r[ng] = nw(window.location.href.split("?")[0]), r["[Amplitude] Page Title"] = n4(o.replaceSensitiveString), r[nh] = window.innerHeight, r[nv] = window.innerWidth, r),
                    h = nA();
                if (h && (g[nm] = h), g["[Amplitude] Element ID"] = t.getAttribute("id") || "", g["[Amplitude] Element Class"] = t.getAttribute("class"), g["[Amplitude] Element Aria Label"] = null == d ? void 0 : d["aria-label"], "a" === u && "click" === e && t instanceof HTMLAnchorElement) {
                    var v = t.href.substring(0, 128);
                    g["[Amplitude] Element Href"] = o.replaceSensitiveString(v)
                }
                return nC(g)
            }, this.addTypeAndTimestamp = function(e, t) {
                return {
                    event: e,
                    timestamp: Date.now(),
                    type: t
                }
            }, this.addAdditionalEventProperties = function(e, t, n, r, i) {
                void 0 === i && (i = !1);
                var a = o.addTypeAndTimestamp(e, t);
                if (("click" === a.type || "change" === a.type) && null !== a.event.target) {
                    if (i && nS(a.event.target, a.type)) return a.closestTrackedAncestor = a.event.target, a.targetElementProperties = o.getEventProperties(a.type, a.closestTrackedAncestor, r), a;
                    var s = nP(a.event.target, n);
                    s && (a.closestTrackedAncestor = s, a.targetElementProperties = o.getEventProperties(a.type, s, r))
                }
                return a
            }, this.extractDataFromDataSource = function(e, t) {
                if ("DOM_ELEMENT" === e.sourceType) {
                    var n = nG(e, t);
                    if (n) {
                        if ("TEXT" === e.elementExtractType) return o.getText(n);
                        if ("ATTRIBUTE" === e.elementExtractType && e.attribute) return n.getAttribute(e.attribute)
                    }
                }
            }, this.getTextWithMaskedDescendants = function(e) {
                var t, n, r = "[".concat(nQ, "], [contenteditable]");
                if (!e.querySelector(r)) return e.innerText;
                var i = "",
                    a = Array.from(e.childNodes);
                try {
                    for (var s = (0, k.__values)(a), u = s.next(); !u.done; u = s.next()) {
                        var c = u.value;
                        if (c.nodeType === Node.TEXT_NODE) {
                            i += c.textContent || "";
                            continue
                        }
                        if (c instanceof Element) {
                            if (c.hasAttribute(nQ) || c.hasAttribute("contenteditable")) {
                                i += nZ;
                                continue
                            }
                            i += o.getTextWithMaskedDescendants(c)
                        }
                    }
                } catch (e) {
                    t = {
                        error: e
                    }
                } finally {
                    try {
                        u && !u.done && (n = s.return) && n.call(s)
                    } finally {
                        if (t) throw t.error
                    }
                }
                return i
            }, this.getText = function(e) {
                if (null !== e.closest("[".concat(nQ, "]"))) return nZ;
                var t = "";
                return t = e.querySelector("[".concat(nQ, "], [contenteditable]")) ? o.getTextWithMaskedDescendants(e) : e.innerText || "", o.replaceSensitiveString(t.substring(0, 255)).replace(/\s+/g, " ").trim()
            }, this.getEventTagProps = function(e) {
                if (!e) return {};
                var t, n, r, i = null == (r = null == (n = null == e ? void 0 : e.tagName) ? void 0 : n.toLowerCase) ? void 0 : r.call(n);
                return nC(((t = {})[nf] = i, t[np] = o.getText(e), t[ng] = window.location.href.split("?")[0], t))
            }, this.diagnosticsClient = null == t ? void 0 : t.diagnosticsClient;
            var a = null != (i = e.maskTextRegex) ? i : [],
                s = [];
            try {
                for (var u = (0, k.__values)(a), c = u.next(); !c.done; c = u.next()) {
                    var l = c.value;
                    if (s.length >= 25) break;
                    if (l instanceof RegExp) s.push(l);
                    else if ("pattern" in l && "string" == typeof l.pattern) try {
                        s.push(RegExp(l.pattern, "i"))
                    } catch (e) {}
                }
            } catch (e) {
                n = {
                    error: e
                }
            } finally {
                try {
                    c && !c.done && (r = u.return) && r.call(u)
                } finally {
                    if (n) throw n.error
                }
            }
            this.additionalMaskTextPatterns = s
        },
        nR = na;
    (s = m || (m = {})).ClickObservable = "clickObservable", s.ChangeObservable = "changeObservable", s.NavigateObservable = "navigateObservable", s.MutationObservable = "mutationObservable", s.ScrollObservable = "scrollObservable", s.ExposureObservable = "exposureObservable", s.BrowserErrorObservable = "browserErrorObservable", s.SelectionObservable = "selectionObservable", s.MouseMoveObservable = "mouseMoveObservable";
    var rr = function(e, t) {
            void 0 === e && (e = {}), null == t || t.diagnosticsClient.setTag("plugin.autocapture.version", nl);
            var n, r, i, o, a, s, u, c, l, d, f, p, g, h = e.dataAttributePrefix,
                v = void 0 === h ? nn : h,
                _ = e.visualTaggingOptions,
                y = void 0 === _ ? {
                    enabled: !0
                } : _;
            e.cssSelectorAllowlist = null != (n = e.cssSelectorAllowlist) ? n : nt, e.actionClickAllowlist = null != (r = e.actionClickAllowlist) ? r : nr, e.debounceTime = null != (i = e.debounceTime) ? i : 0;
            var b = (null == (o = e.viewportContentUpdated) ? void 0 : o.enabled) !== !1,
                w = null != (u = null != (s = null == (a = e.viewportContentUpdated) ? void 0 : a.exposureDuration) ? s : e.exposureDuration) ? u : 150;
            e.viewportContentUpdated = (0, k.__assign)((0, k.__assign)({}, e.viewportContentUpdated), {
                exposureDuration: w
            }), e.pageUrlExcludelist = null == (c = e.pageUrlExcludelist) ? void 0 : c.reduce(function(e, t) {
                if ("string" == typeof t && e.push(t), t instanceof RegExp && e.push(t), "object" == typeof t && null !== t && "pattern" in t) try {
                    e.push(new RegExp(t.pattern))
                } catch (e) {
                    console.warn("Invalid regex pattern: ".concat(t.pattern), e)
                }
                return e
            }, []);
            var E = "@amplitude/plugin-autocapture-browser",
                S = [],
                T = new rn(e, t),
                I = new Set,
                C = new Set,
                A = function() {
                    var t, n, r, i = nc(nW().map(function(t) {
                            return T.addAdditionalEventProperties(t, "click", e.cssSelectorAllowlist, v)
                        })),
                        o = nc(new nR.default(function(t) {
                            var n, r = function(n) {
                                var r = T.addAdditionalEventProperties(n, "change", e.cssSelectorAllowlist, v);
                                t.next(r)
                            };
                            return null == (n = (0, Y.getGlobalScope)()) || n.document.addEventListener("change", r, {
                                    capture: !0
                                }),
                                function() {
                                    var e;
                                    return null == (e = (0, Y.getGlobalScope)()) ? void 0 : e.document.removeEventListener("change", r)
                                }
                        }));
                    window.navigation && (r = nc(new nR.default(function(t) {
                        var n = function(n) {
                            var r = T.addAdditionalEventProperties(n, "navigate", e.cssSelectorAllowlist, v);
                            t.next(r)
                        };
                        return window.navigation.addEventListener("navigate", n),
                            function() {
                                window.navigation.removeEventListener("navigate", n)
                            }
                    })));
                    var a = nc(nB().map(function(t) {
                            return T.addAdditionalEventProperties(t, "mutation", e.cssSelectorAllowlist, v)
                        })),
                        s = new nR.default(function(e) {
                            var t, n = function(t) {
                                e.next(t)
                            };
                            return null == (t = (0, Y.getGlobalScope)()) || t.addEventListener("scroll", n),
                                function() {
                                    var e;
                                    null == (e = (0, Y.getGlobalScope)()) || e.removeEventListener("scroll", n)
                                }
                        }),
                        u = (t = e.cssSelectorAllowlist, new nR.default(function(e) {
                            var n, r = (0, Y.getGlobalScope)();
                            if (!(null == r ? void 0 : r.IntersectionObserver)) return function() {};
                            var i = new IntersectionObserver(function(t) {
                                    t.forEach(function(t) {
                                        e.next(t)
                                    })
                                }, {
                                    root: null,
                                    rootMargin: "0px",
                                    threshold: 1
                                }),
                                o = t.join(",");
                            (null != (n = null == r ? void 0 : r.document.querySelectorAll(o)) ? n : []).forEach(function(e) {
                                i.observe(e)
                            });
                            var s = a.subscribe(function(e) {
                                return e.event.forEach(function(e) {
                                    return e.addedNodes.forEach(function(e) {
                                        e instanceof Element && (e.matches(o) && i.observe(e), e.querySelectorAll(o).forEach(function(e) {
                                            i.observe(e)
                                        }))
                                    })
                                })
                            });
                            return function() {
                                s.unsubscribe(), i.disconnect()
                            }
                        }));
                    return (n = {})[m.ChangeObservable] = o, n[m.ClickObservable] = i, n[m.MutationObservable] = a, n[m.NavigateObservable] = r, n[m.ScrollObservable] = s, n[m.ExposureObservable] = u, n
                },
                P = nJ(Object.values(null != (d = null == (l = e.pageActions) ? void 0 : l.labeledEvents) ? d : {})),
                x = n$(null != (p = null == (f = e.pageActions) ? void 0 : f.triggers) ? p : []),
                O = new nY(P, x, T, e),
                R = function(t) {
                    var n, r;
                    t && (e.pageActions = (0, k.__assign)((0, k.__assign)({}, e.pageActions), t), P = nJ(Object.values(null != (n = e.pageActions.labeledEvents) ? n : {})), x = n$(null != (r = e.pageActions.triggers) ? r : []), O.update(P, x, e))
                };
            return {
                name: E,
                type: "enrichment",
                setup: function(t, n) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var r, i, o, a, s, u, c, l, d, f, p, h, _, P, x, L, D, N, M, U, j;
                        return (0, k.__generator)(this, function(F) {
                            var q, B, W, V, H, G, z, K, J, $, X, Q, Z, ee, et, en, er, ei, eo, ea, es, eu, ec, el, ed, ef, ep, eg, eh, ev, em, e_, ey, eb, ew, eE, eS, eT, ek;
                            return "u" < typeof document ? [2] : (r = !1, i = {
                                maxX: void 0,
                                maxY: void 0
                            }, t.fetchRemoteConfig && (t.remoteConfigClient ? t.remoteConfigClient.subscribe("configs.analyticsSDK.pageActions", "all", function(e) {
                                R(e)
                            }) : t.loggerProvider.debug("Remote config client is not provided, skipping remote config fetch")), o = nk(e, e.cssSelectorAllowlist), a = nk(e, e.actionClickAllowlist), B = (q = {
                                allObservables: s = A(),
                                amplitude: n,
                                shouldTrackEvent: o,
                                evaluateTriggers: O.evaluate.bind(O)
                            }).amplitude, W = q.allObservables, V = q.shouldTrackEvent, H = q.evaluateTriggers, u = W.clickObservable.filter(nx).filter(function(e) {
                                return V("click", e.closestTrackedAncestor)
                            }).map(function(e) {
                                return H(e)
                            }).subscribe(function(e) {
                                null == B || B.track(nd, e.targetElementProperties)
                            }), S.push(u), z = (G = {
                                allObservables: s,
                                getEventProperties: function() {
                                    for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
                                    return T.getEventProperties.apply(T, (0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(e), !1), [v], !1))
                                },
                                amplitude: n,
                                shouldTrackEvent: o,
                                evaluateTriggers: O.evaluate.bind(O)
                            }).amplitude, K = G.allObservables, J = G.getEventProperties, $ = G.shouldTrackEvent, X = G.evaluateTriggers, c = K.changeObservable.filter(nx).filter(function(e) {
                                return $("change", e.closestTrackedAncestor)
                            }).map(function(e) {
                                return X(e)
                            }).subscribe(function(e) {
                                null == z || z.track("[Amplitude] Element Changed", J("change", e.closestTrackedAncestor))
                            }), S.push(c), Z = (Q = {
                                allObservables: s,
                                options: e,
                                getEventProperties: function() {
                                    for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
                                    return T.getEventProperties.apply(T, (0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(e), !1), [v], !1))
                                },
                                amplitude: n,
                                shouldTrackEvent: o,
                                shouldTrackActionClick: a
                            }).amplitude, ee = Q.allObservables, et = Q.options, en = Q.getEventProperties, er = Q.shouldTrackEvent, ei = Q.shouldTrackActionClick, eo = ee.clickObservable, ea = ee.mutationObservable, es = ee.navigateObservable, eu = eo.filter(function(e) {
                                return !er("click", e.closestTrackedAncestor)
                            }).map(function(e) {
                                var t = nP(e.event.target, et.actionClickAllowlist);
                                return e.closestTrackedAncestor = t, null !== e.closestTrackedAncestor && (e.targetElementProperties = en(e.type, e.closestTrackedAncestor)), e
                            }).filter(nx).filter(function(e) {
                                return ei("click", e.closestTrackedAncestor)
                            }), ec = es ? nu(ea, es) : ea, el = nu(eu, ec), ed = null, ef = null, (l = ns(el, function(e) {
                                if (ed && (clearTimeout(ed), ed = null), "click" === e.type) ef = e, ed = setTimeout(function() {
                                    ed = null, ef = null
                                }, 500);
                                else if (ef) {
                                    var t = ef;
                                    return ef = null, Promise.resolve(t)
                                }
                                return Promise.resolve(null)
                            }).subscribe(function(e) {
                                e && (null == Z || Z.track(nd, en("click", e.closestTrackedAncestor)))
                            })) && S.push(l), (ep = {
                                allObservables: s,
                                amplitude: n
                            }).amplitude, eg = ep.allObservables.scrollObservable, eh = {
                                maxX: 0,
                                maxY: 0
                            }, ev = eg.subscribe(function() {
                                var e, t, n, r, i = (0, Y.getGlobalScope)(),
                                    o = Math.floor(null != (t = null != (e = null == i ? void 0 : i.scrollX) ? e : null == i ? void 0 : i.pageXOffset) ? t : 0),
                                    a = Math.floor(null != (r = null != (n = null == i ? void 0 : i.scrollY) ? n : null == i ? void 0 : i.pageYOffset) ? r : 0);
                                eh.maxX = Math.max(eh.maxX, o), eh.maxY = Math.max(eh.maxY, a)
                            }), d = {
                                unsubscribe: function() {
                                    ev.unsubscribe()
                                },
                                getState: function() {
                                    return eh
                                },
                                reset: function() {
                                    eh.maxX = 0, eh.maxY = 0
                                }
                            }, S.push(d), f = {}, p = (0, Y.getGlobalScope)(), h = function(e) {
                                e && r || (setTimeout(function() {
                                    r = !1
                                }, 100), r = !0, function(e) {
                                    var t, n, r, i, o, a, s = e.amplitude,
                                        u = e.scrollTracker,
                                        c = e.currentElementExposed,
                                        l = e.elementExposedForPage,
                                        d = e.exposureTracker,
                                        f = e.isPageEnd,
                                        p = e.lastScroll,
                                        g = u.getState(),
                                        h = (0, Y.getGlobalScope)(),
                                        v = null != (n = null == h ? void 0 : h.innerWidth) ? n : 0,
                                        m = null != (r = null == h ? void 0 : h.innerHeight) ? r : 0,
                                        _ = ((t = {})[ng] = nw(null != (a = null == (o = null == (i = null == h ? void 0 : h.location) ? void 0 : i.href) ? void 0 : o.split("?")[0]) ? a : ""), t["[Amplitude] Max Page X"] = g.maxX + v, t["[Amplitude] Max Page Y"] = g.maxY + m, t[nh] = m, t[nv] = v, t["[Amplitude] Element Exposed"] = Array.from(c), t),
                                        y = nA();
                                    if (y && (_[nm] = y), 0 === c.size && g.maxX === p.maxX && g.maxY === p.maxY) {
                                        f && (u.reset(), l.clear(), null == d || d.reset());
                                        return
                                    }
                                    null == s || s.track("[Amplitude] Viewport Content Updated", _), p.maxX = g.maxX, p.maxY = g.maxY, c.clear(), f && (u.reset(), l.clear(), null == d || d.reset())
                                }({
                                    amplitude: n,
                                    scrollTracker: d,
                                    currentElementExposed: C,
                                    elementExposedForPage: I,
                                    exposureTracker: f.exposure,
                                    isPageEnd: e,
                                    lastScroll: i
                                }))
                            }, _ = function(e) {
                                !I.has(e) && (I.add(e), C.add(e), JSON.stringify(Array.from(C)).length >= 18e3 && h(!1))
                            }, b && (e_ = (em = {
                                allObservables: s,
                                onExposure: _,
                                dataExtractor: T,
                                exposureDuration: w
                            }).allObservables, ey = em.onExposure, eb = em.dataExtractor, eE = void 0 === (ew = em.exposureDuration) ? 150 : ew, eS = new Map, eT = new Map, ek = e_.exposureObservable.subscribe(function(e) {
                                var t = e.target;
                                if (e.isIntersecting) {
                                    if (!eS.get(t)) {
                                        var n = setTimeout(function() {
                                            eS.set(t, !0), ey(eb.getElementPath(t)), eT.set(t, null)
                                        }, eE);
                                        eT.set(t, n)
                                    }
                                } else if (!e.isIntersecting && e.intersectionRatio < 1) {
                                    var n = eT.get(t);
                                    n && (clearTimeout(n), eT.set(t, null))
                                }
                            }), f.exposure = {
                                unsubscribe: function() {
                                    ek.unsubscribe()
                                },
                                reset: function() {
                                    eT.forEach(function(e) {
                                        e && clearTimeout(e)
                                    }), eT.clear(), eS.clear()
                                }
                            }, f.exposure && S.push(f.exposure), P = function() {
                                h(!0)
                            }, null == p || p.addEventListener("beforeunload", P), g = function() {
                                null == p || p.removeEventListener("beforeunload", P)
                            }, S.push({
                                unsubscribe: function() {
                                    return g()
                                }
                            }), (x = s[m.NavigateObservable]) ? S.push(x.subscribe(function() {
                                h(!0)
                            })) : p && (L = function() {
                                h(!0)
                            }, p.addEventListener("popstate", L), D = p.history.pushState, p.history && D && (p.history.pushState = new Proxy(D, {
                                apply: function(e, t, n) {
                                    var r = (0, k.__read)(n, 3),
                                        i = r[0],
                                        o = r[1],
                                        a = r[2];
                                    e.apply(t, [i, o, a]), h(!0)
                                }
                            })), S.push({
                                unsubscribe: function() {
                                    p.removeEventListener("popstate", L), p.history && D && (p.history.pushState = D)
                                }
                            }))), null == (j = null == t ? void 0 : t.loggerProvider) || j.log("".concat(E, " has been successfully added.")), window.opener && y.enabled && (N = e.cssSelectorAllowlist, M = e.actionClickAllowlist, ! function(e, t) {
                                if (!0 !== e[nO]) {
                                    e[nO] = !0;
                                    var n = t.dataExtractor,
                                        r = t.isElementSelectable,
                                        i = t.cssSelectorAllowlist,
                                        o = t.actionClickAllowlist,
                                        a = null,
                                        s = function(t) {
                                            e.notify({
                                                action: "element-selected",
                                                data: t
                                            })
                                        },
                                        u = function(t, n) {
                                            "selector-mode-changed" === t ? e.notify({
                                                action: "track-selector-mode-changed",
                                                data: n
                                            }) : "selector-moved" === t && e.notify({
                                                action: "track-selector-moved",
                                                data: n
                                            })
                                        };
                                    e.registerActionHandler("initialize-visual-tagging-selector", function(t) {
                                        e.loadScriptOnce("https://cdn.amplitude.com/libs/visual-tagging-selector-1.0.0-alpha.js.gz").then(function() {
                                            var c;
                                            a = null == (c = null == window ? void 0 : window.amplitudeVisualTaggingSelector) ? void 0 : c.call(window, {
                                                getEventTagProps: n.getEventTagProps,
                                                isElementSelectable: function(e) {
                                                    return !r || r((null == t ? void 0 : t.actionType) || "click", e)
                                                },
                                                onTrack: u,
                                                onSelect: s,
                                                visualHighlightClass: "amp-visual-tagging-selector-highlight",
                                                messenger: e,
                                                cssSelectorAllowlist: i,
                                                actionClickAllowlist: o,
                                                extractDataFromDataSource: n.extractDataFromDataSource,
                                                dataExtractor: n,
                                                diagnostics: {
                                                    autocapture: {
                                                        version: nl
                                                    }
                                                }
                                            }), e.notify({
                                                action: "selector-loaded"
                                            })
                                        }).catch(function() {
                                            var t;
                                            null == (t = e.logger) || t.warn("Failed to initialize visual tagging selector")
                                        })
                                    }), e.registerActionHandler("close-visual-tagging-selector", function() {
                                        var e;
                                        null == (e = null == a ? void 0 : a.close) || e.call(a)
                                    })
                                }
                            }(U = (0, ni.getOrCreateWindowMessenger)(), {
                                dataExtractor: T,
                                isElementSelectable: nk(e, (0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(N), !1), (0, k.__read)(M), !1)),
                                cssSelectorAllowlist: N,
                                actionClickAllowlist: M
                            }), (0, no.enableBackgroundCapture)(U), U.setup((0, k.__assign)({
                                logger: null == t ? void 0 : t.loggerProvider
                            }, (null == t ? void 0 : t.serverZone) && {
                                endpoint: ny.AMPLITUDE_ORIGINS_MAP[t.serverZone]
                            }))), [2])
                        })
                    })
                },
                execute: function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return [2, e]
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var e, t, n, r;
                        return (0, k.__generator)(this, function(i) {
                            try {
                                for (t = (e = (0, k.__values)(S)).next(); !t.done; t = e.next()) t.value.unsubscribe()
                            } catch (e) {
                                n = {
                                    error: e
                                }
                            } finally {
                                try {
                                    t && !t.done && (r = e.return) && r.call(e)
                                } finally {
                                    if (n) throw n.error
                                }
                            }
                            return [2]
                        })
                    })
                }
            }
        },
        nR = na,
        ri = (0, k.__spreadArray)(['input[type="button"]', 'input[type="submit"]', 'input[type="reset"]', 'input[type="image"]', 'input[type="file"]'], (0, k.__read)(["a", "button", '[role="button"]', '[role="link"]', '[role="menuitem"]', '[role="menuitemcheckbox"]', '[role="menuitemradio"]', '[role="option"]', '[role="tab"]', '[role="treeitem"]', '[contenteditable="true" i]']), !1),
        ro = ["*"],
        ra = ["mutation", "navigate"];

    function rs(e, t) {
        var n, r, i, o, a = t.event,
            s = a.pageX,
            u = a.pageY;
        e.yMin = Math.min(null != (n = e.yMin) ? n : u, u), e.yMax = Math.max(null != (r = e.yMax) ? r : u, u), e.xMin = Math.min(null != (i = e.xMin) ? i : s, s), e.xMax = Math.max(null != (o = e.xMax) ? o : s, s), e.isOutOfBounds = e.yMax - e.yMin > 50 || e.xMax - e.xMin > 50
    }

    function ru(e) {
        if (0 === e.length) return null;
        var t = e[0],
            n = e[e.length - 1];
        return {
            rageClickEvent: (0, k.__assign)({
                "[Amplitude] Begin Time": new Date(t.timestamp).toISOString(),
                "[Amplitude] End Time": new Date(n.timestamp).toISOString(),
                "[Amplitude] Duration": n.timestamp - t.timestamp,
                "[Amplitude] Clicks": e.map(function(e) {
                    return {
                        X: e.event.pageX,
                        Y: e.event.pageY,
                        Time: e.timestamp
                    }
                }),
                "[Amplitude] Click Count": e.length
            }, t.targetElementProperties),
            time: t.timestamp
        }
    }
    var nR = na;
    (u = _ || (_ = {})).INCREASING = "increasing", u.DECREASING = "decreasing", (c = y || (y = {})).X = "x", c.Y = "y";
    var rc = function(e) {
        var t = e.allWindowObservables.mouseMoveObservable;
        return new nR.default(function(e) {
            var n = null,
                r = null,
                i = null;
            return t.subscribe(function(t) {
                var o = {
                    x: t.clientX,
                    y: t.clientY
                };
                if (null === n) {
                    n = o;
                    return
                }
                o.x > n.x ? (r === _.DECREASING && e.next(y.X), r = _.INCREASING) : o.x < n.x && (r === _.INCREASING && e.next(y.X), r = _.DECREASING), o.y > n.y ? (i === _.DECREASING && e.next(y.Y), i = _.INCREASING) : o.y < n.y && (i === _.INCREASING && e.next(y.Y), i = _.DECREASING), n = o
            })
        })
    };

    function rl(e) {
        var t = e.changes,
            n = e.changesThreshold,
            r = e.thresholdMs;
        return !(t.length < n) && t[t.length - 1] - t[0] < r
    }

    function rd(e) {
        e.changes = [], e.startTime = void 0
    }

    function rf(e) {
        for (var t = e.changes, n = e.thresholdMs, r = 0, i = t[t.length - 1]; r < t.length && !(i - t[r] < n); r++);
        0 !== r && (e.startTime = t[r], e.changes.splice(0, r))
    }
    var rp = function(e) {
            var t = e.mouseDirectionChangeObservable,
                n = e.directionChanges,
                r = void 0 === n ? 20 : n,
                i = e.thresholdMs,
                o = void 0 === i ? 2e3 : i;
            return new nR.default(function(e) {
                var n = {
                        changes: [],
                        changesThreshold: r,
                        thresholdMs: o
                    },
                    i = {
                        changes: [],
                        changesThreshold: r,
                        thresholdMs: o
                    },
                    a = void 0,
                    s = null;

                function u() {
                    void 0 !== a && (e.next(a), a = void 0, null !== s && clearTimeout(s), rd(n), rd(i))
                }
                return t.subscribe(function(e) {
                    null !== s && clearTimeout(s), t = e === y.X ? n : i, r = +Date.now(), t.startTime = t.startTime || r, c = t.changes, l = t.changesThreshold, c.push(r), c.length > l && c.shift();
                    var t, r, c, l, d = function(e, t) {
                        var n = void 0;
                        if (rl(e) && (n = e.startTime), rl(t)) {
                            var r = t.startTime;
                            r && (!n || r < n) && (n = r)
                        }
                        return n
                    }(n, i);
                    return d ? (a = a || d, s = setTimeout(function() {
                            u(), s = null
                        }, o)) : u(), rf(n), rf(i),
                        function() {
                            null !== s && (clearTimeout(s), s = null)
                        }
                })
            })
        },
        rg = function(e) {
            var t = e.amplitude,
                n = e.options,
                r = e.allObservables,
                i = e.directionChanges,
                o = e.thresholdMs;
            return rp({
                mouseDirectionChangeObservable: rc({
                    allWindowObservables: r
                }),
                directionChanges: void 0 === i ? 20 : i,
                thresholdMs: void 0 === o ? 2e3 : o
            }).subscribe(function(e) {
                nT(n) && t.track("[Amplitude] Thrashed Cursor", void 0, {
                    time: e
                })
            })
        };

    function rh(e, t, n, r) {
        if (!r) return [];
        var i = e[t];
        return "object" == typeof i && null !== i && "cssSelectorAllowlist" in i && Array.isArray(i.cssSelectorAllowlist) ? i.cssSelectorAllowlist : n
    }
    var rv = function(e) {
        void 0 === e && (e = {});
        var t, n = "@amplitude/plugin-frustration-browser",
            r = [],
            i = !1 !== e.errorClicks;
        e.errorClicks || (i = !1);
        var o = !1 !== e.deadClicks && null !== e.deadClicks,
            a = !1 !== e.rageClicks && null !== e.rageClicks,
            s = !1 !== e.thrashedCursor && null !== e.thrashedCursor;
        e.thrashedCursor || (s = !1);
        var u = rh(e, "rageClicks", ro, a),
            c = rh(e, "deadClicks", ri, o),
            l = rh(e, "errorClicks", ri, i),
            d = null != (t = e.dataAttributePrefix) ? t : nn,
            f = new rn(e),
            p = (0, k.__spreadArray)([], (0, k.__read)(new Set((0, k.__spreadArray)((0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(u), !1), (0, k.__read)(c), !1), (0, k.__read)(l), !1))), !1),
            g = function() {
                var e, t, n = nc(nW("pointerdown").map(function(e) {
                        return f.addAdditionalEventProperties(e, "click", p, d, !0)
                    })),
                    r = nc(nV().map(function(e) {
                        return f.addTypeAndTimestamp(e, "error")
                    })),
                    i = nc(nB().map(function(e) {
                        return f.addAdditionalEventProperties(e, "mutation", p, d)
                    }));
                window.navigation && (t = nc(new nR.default(function(e) {
                    var t = function(t) {
                        e.next((0, k.__assign)((0, k.__assign)({}, t), {
                            type: "navigate"
                        }))
                    };
                    return window.navigation.addEventListener("navigate", t),
                        function() {
                            window.navigation.removeEventListener("navigate", t)
                        }
                }).map(function(e) {
                    return f.addAdditionalEventProperties(e, "navigate", p, d)
                })));
                var o = nc(new nR.default(function(e) {
                        var t = function() {
                            var t = document.activeElement;
                            if (t && ("TEXTAREA" === t.tagName || "INPUT" === t.tagName)) {
                                var n = void 0,
                                    r = void 0;
                                try {
                                    if (n = t.selectionStart, r = t.selectionEnd, n === r) return
                                } catch (e) {
                                    return
                                }
                                return e.next()
                            }
                            var i = window.getSelection();
                            if (i && !i.isCollapsed) return e.next()
                        };
                        return window.document.addEventListener("selectionchange", t),
                            function() {
                                window.document.removeEventListener("selectionchange", t)
                            }
                    })),
                    a = nc(new nR.default(function(e) {
                        var t = function(t) {
                                e.next(t)
                            },
                            n = {
                                capture: !0
                            };
                        return nq.document.addEventListener("mousemove", t, n),
                            function() {
                                nq.document.removeEventListener("mousemove", t, n)
                            }
                    }));
                return (e = {})[m.ClickObservable] = n, e[m.MutationObservable] = i, e[m.NavigateObservable] = t, e[m.BrowserErrorObservable] = r, e[m.SelectionObservable] = o, e[m.MouseMoveObservable] = a, e
            };
        return {
            name: n,
            type: "enrichment",
            setup: function(t, p) {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    var h, m, _, y, b, w, E, S;
                    return (0, k.__generator)(this, function(T) {
                        var I, C, A, P, x, O, R, L, D, N, M, U, j, F, q, B, W, V, H, G, z, K;
                        return "u" < typeof document ? [2] : (h = g(), a && (m = function(e) {
                            var t = this,
                                n = e.amplitude,
                                r = e.allObservables,
                                i = e.shouldTrackRageClick,
                                o = r.clickObservable,
                                a = r.selectionObservable,
                                s = [],
                                u = {},
                                c = null;

                            function l(e) {
                                s = [], u = {}, e && (rs(u, e), s.push(e))
                            }
                            var d = ns(o.filter(function(e) {
                                    return i("click", e.closestTrackedAncestor)
                                }), function(e) {
                                    return (0, k.__awaiter)(t, void 0, void 0, function() {
                                        var t;
                                        return (0, k.__generator)(this, function(n) {
                                            var r, i, o, a;
                                            return (rs(u, e), t = null, 0 === s.length || (r = s).length > 0 && r[r.length - 1].closestTrackedAncestor !== e.closestTrackedAncestor || (o = Math.max(0, (i = s).length - 4 + 1), a = i[o], e.timestamp - a.timestamp >= 1e3) || u.isOutOfBounds) ? (c && (t = ru(s)), l(e)) : s.push(e), (c && (clearTimeout(c.timerId), c.resolve(t), c = null), s.length >= 4) ? [2, new Promise(function(e) {
                                                c = {
                                                    resolve: e,
                                                    timerId: setTimeout(function() {
                                                        e(ru(s))
                                                    }, 1e3)
                                                }
                                            })] : [2, null]
                                        })
                                    })
                                }),
                                f = null == a ? void 0 : a.subscribe(function() {
                                    l()
                                }),
                                p = d.subscribe(function(e) {
                                    null !== e && n.track("[Amplitude] Rage Click", e.rageClickEvent, {
                                        time: e.time
                                    })
                                });
                            return {
                                unsubscribe: function() {
                                    p.unsubscribe(), null == f || f.unsubscribe()
                                }
                            }
                        }({
                            allObservables: h,
                            amplitude: p,
                            shouldTrackRageClick: nk(e, u)
                        }), r.push(m)), o && (C = (I = {
                            amplitude: p,
                            allObservables: h,
                            getEventProperties: function(e, t) {
                                return f.getEventProperties(e, t, d)
                            },
                            shouldTrackDeadClick: nk(e, c)
                        }).amplitude, A = I.allObservables, P = I.getEventProperties, x = I.shouldTrackDeadClick, O = A.clickObservable, R = A.mutationObservable, L = A.navigateObservable, D = O.filter(function(e) {
                            return nx(e) && x("click", e.closestTrackedAncestor) && e.event.target instanceof Element && null === e.event.target.closest('a[target="_blank"]') && e.event.button === v.LEFT_OR_TOUCH_CONTACT
                        }), N = L ? nu(R, L) : R, M = nu(D, N), U = null, _ = ns(M, function(e) {
                            if (U && ra.includes(e.type)) clearTimeout(U), U = null;
                            else if ("click" === e.type) return U ? Promise.resolve(null) : new Promise(function(t) {
                                U = setTimeout(function() {
                                    t(e), U = null
                                }, 3e3)
                            });
                            return Promise.resolve(null)
                        }).subscribe(function(e) {
                            if (e) {
                                var t = {
                                    "[Amplitude] X": e.event.clientX,
                                    "[Amplitude] Y": e.event.clientY
                                };
                                C.track("[Amplitude] Dead Click", (0, k.__assign)((0, k.__assign)({}, P("click", e.closestTrackedAncestor)), t), {
                                    time: e.timestamp
                                })
                            }
                        }), r.push(_)), i && (F = (j = {
                            amplitude: p,
                            allObservables: h,
                            shouldTrackErrorClick: nk(e, l)
                        }).amplitude, q = j.allObservables, B = j.shouldTrackErrorClick, W = q.clickObservable, V = q.browserErrorObservable, H = W.filter(function(e) {
                            return nx(e) && B("click", e.closestTrackedAncestor) && e.event.target instanceof Element && null === e.event.target.closest('a[target="_blank"]') && e.event.button === v.LEFT_OR_TOUCH_CONTACT
                        }), G = null, z = null, K = function() {
                            null !== G && (clearTimeout(G), G = null), z = null
                        }, y = nu(H, V).subscribe(function(e) {
                            var t;
                            if ("click" === e.type) {
                                K(), z = e, G = setTimeout(K, 2e3);
                                return
                            }
                            "error" === e.type && z && (F.track("[Amplitude] Error Click", (0, k.__assign)(((t = {})["[Amplitude] Kind"] = e.event.kind, t["[Amplitude] Message"] = e.event.message, t["[Amplitude] Stack"] = e.event.stack, t["[Amplitude] Filename"] = e.event.filename, t["[Amplitude] Line Number"] = e.event.lineNumber, t["[Amplitude] Column Number"] = e.event.columnNumber, t), z.targetElementProperties)), K())
                        }), r.push(y)), s && (b = void 0, w = void 0, "object" == typeof e.thrashedCursor && (b = e.thrashedCursor.directionChanges, w = e.thrashedCursor.threshold, b && b < 5 && (t.loggerProvider.warn("'thrashedCursor.directionChanges' of ".concat(b, " is below the minimum of ").concat(5, ", setting to ").concat(5)), b = 5), w && w > 4e3 && (t.loggerProvider.warn("'thrashedCursor.threshold' of ".concat(w, " is above the maximum of ").concat(4e3, ", setting to ").concat(4e3)), w = 4e3)), E = rg({
                            amplitude: p,
                            options: e,
                            allObservables: h,
                            directionChanges: b,
                            thresholdMs: w
                        }), r.push(E)), null == (S = null == t ? void 0 : t.loggerProvider) || S.log("".concat(n, " has been successfully added.")), [2])
                    })
                })
            },
            execute: function(e) {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        return [2, e]
                    })
                })
            },
            teardown: function() {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    var e, t, n, i;
                    return (0, k.__generator)(this, function(o) {
                        try {
                            for (t = (e = (0, k.__values)(r)).next(); !t.done; t = e.next()) t.value.unsubscribe()
                        } catch (e) {
                            n = {
                                error: e
                            }
                        } finally {
                            try {
                                t && !t.done && (i = e.return) && i.call(e)
                            } finally {
                                if (n) throw n.error
                            }
                        }
                        return [2]
                    })
                })
            }
        }
    };

    function rm(e, t) {
        var n = e.startTime + e.duration;
        return t.filter(function(t) {
            return t.startTime < n && t.startTime + t.duration > e.startTime
        }).map(function(e) {
            return e.name
        })
    }
    var r_ = function(e) {
        void 0 === e && (e = {});
        var t = "@amplitude/plugin-performance-browser",
            n = [],
            r = !0 === e.mainThreadBlock || "object" == typeof e.mainThreadBlock && null !== e.mainThreadBlock;
        return {
            name: t,
            type: "enrichment",
            setup: function(i, o) {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    var a, s, u;
                    return (0, k.__generator)(this, function(c) {
                        return "u" < typeof document || (r && (a = 100, "object" == typeof e.mainThreadBlock && void 0 !== e.mainThreadBlock.durationThreshold && (a = e.mainThreadBlock.durationThreshold), s = function(e) {
                            var t = e.amplitude,
                                n = e.options,
                                r = e.durationThreshold,
                                i = void 0 === r ? 100 : r,
                                o = function() {
                                    if ("u" < typeof PerformanceObserver) return null;
                                    try {
                                        var e = PerformanceObserver.supportedEntryTypes;
                                        if (e.includes("long-animation-frame")) return "long-animation-frame";
                                        if (e.includes("longtask")) return "longtask"
                                    } catch (e) {}
                                    return null
                                }();
                            if (!o) return {
                                unsubscribe: function() {}
                            };
                            var a = [],
                                s = new PerformanceObserver(function(e) {
                                    var t, n, r = performance.now();
                                    try {
                                        for (var i = (0, k.__values)(e.getEntries()), o = i.next(); !o.done; o = i.next()) {
                                            var s = o.value;
                                            a.push(s)
                                        }
                                    } catch (e) {
                                        t = {
                                            error: e
                                        }
                                    } finally {
                                        try {
                                            o && !o.done && (n = i.return) && n.call(i)
                                        } finally {
                                            if (t) throw t.error
                                        }
                                    }
                                    for (var u = r - 1e4; a.length > 0 && a[0].startTime < u;) a.shift()
                                });
                            try {
                                s.observe({
                                    entryTypes: ["measure"]
                                })
                            } catch (e) {}
                            var u = new PerformanceObserver(function(e) {
                                var r, s;
                                try {
                                    for (var u = (0, k.__values)(e.getEntries()), c = u.next(); !c.done; c = u.next()) {
                                        var l = c.value;
                                        if (!nT(n)) return;
                                        if (!(l.duration < i)) {
                                            var d = "long-animation-frame" === o ? function(e, t) {
                                                var n, r = rm(e, t),
                                                    i = null != (n = e.scripts) ? n : [],
                                                    o = i.map(function(e) {
                                                        return e.sourceURL
                                                    }).filter(Boolean),
                                                    a = i.map(function(e) {
                                                        return e.sourceFunctionName
                                                    }).filter(Boolean),
                                                    s = i.map(function(e) {
                                                        return e.sourceCharPosition
                                                    }).filter(function(e) {
                                                        return "number" == typeof e && e >= 0
                                                    }),
                                                    u = i.map(function(e) {
                                                        return e.invokerType
                                                    }).filter(Boolean),
                                                    c = i.map(function(e) {
                                                        return e.invoker
                                                    }).filter(Boolean);
                                                return (0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)({
                                                    "[Amplitude] Main Thread Block Source": "long-animation-frame",
                                                    "[Amplitude] Main Thread Block Duration": e.duration,
                                                    "[Amplitude] Main Thread Block Blocking Duration": e.blockingDuration,
                                                    "[Amplitude] Main Thread Block Start Time": e.startTime
                                                }, r.length > 0 && {
                                                    "[Amplitude] Main Thread Block Measures": r
                                                }), {
                                                    "[Amplitude] Main Thread Block Render Start": e.renderStart,
                                                    "[Amplitude] Main Thread Block Style And Layout Start": e.styleAndLayoutStart,
                                                    "[Amplitude] Main Thread Block Script Count": i.length
                                                }), o.length > 0 && {
                                                    "[Amplitude] Main Thread Block Script URLs": o
                                                }), a.length > 0 && {
                                                    "[Amplitude] Main Thread Block Script Functions": a
                                                }), s.length > 0 && {
                                                    "[Amplitude] Main Thread Block Script Positions": s
                                                }), u.length > 0 && {
                                                    "[Amplitude] Main Thread Block Invoker Types": u
                                                }), c.length > 0 && {
                                                    "[Amplitude] Main Thread Block Invokers": c
                                                })
                                            }(l, a) : function(e, t) {
                                                var n, r = rm(e, t),
                                                    i = null != (n = e.attribution) ? n : [];
                                                return (0, k.__assign)((0, k.__assign)({
                                                    "[Amplitude] Main Thread Block Source": "long-task",
                                                    "[Amplitude] Main Thread Block Duration": e.duration,
                                                    "[Amplitude] Main Thread Block Blocking Duration": e.duration,
                                                    "[Amplitude] Main Thread Block Start Time": e.startTime
                                                }, r.length > 0 && {
                                                    "[Amplitude] Main Thread Block Measures": r
                                                }), i.length > 0 && {
                                                    "[Amplitude] Main Thread Block Attribution": i.map(function(e) {
                                                        return e.name
                                                    })
                                                })
                                            }(l, a);
                                            t.track("[Amplitude] Main Thread Block", d)
                                        }
                                    }
                                } catch (e) {
                                    r = {
                                        error: e
                                    }
                                } finally {
                                    try {
                                        c && !c.done && (s = u.return) && s.call(u)
                                    } finally {
                                        if (r) throw r.error
                                    }
                                }
                            });
                            try {
                                u.observe({
                                    entryTypes: [o]
                                })
                            } catch (e) {
                                return s.disconnect(), {
                                    unsubscribe: function() {}
                                }
                            }
                            return {
                                unsubscribe: function() {
                                    u.disconnect(), s.disconnect()
                                }
                            }
                        }({
                            amplitude: o,
                            options: e,
                            durationThreshold: a
                        }), n.push(s)), null == (u = null == i ? void 0 : i.loggerProvider) || u.log("".concat(t, " performance tracking has been successfully added."))), [2]
                    })
                })
            },
            execute: function(e) {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        return [2, e]
                    })
                })
            },
            teardown: function() {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    var e, t, r, i;
                    return (0, k.__generator)(this, function(o) {
                        try {
                            for (t = (e = (0, k.__values)(n)).next(); !t.done; t = e.next()) t.value.unsubscribe()
                        } catch (e) {
                            r = {
                                error: e
                            }
                        } finally {
                            try {
                                t && !t.done && (i = e.return) && i.call(e)
                            } finally {
                                if (r) throw r.error
                            }
                        }
                        return [2]
                    })
                })
            }
        }
    };

    function ry(e, t, n) {
        e && function e(t) {
            var n, r, i = t.json,
                o = t.targetObject,
                a = t.allowlist,
                s = t.excludelist,
                u = t.ancestors,
                c = t.parentObject,
                l = t.targetKey;
            o || (o = i);
            var d = Object.keys(o);
            try {
                for (var f = (0, k.__values)(d), p = f.next(); !p.done; p = f.next()) {
                    var g, h = p.value,
                        v = (0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(u), !1), [h], !1);
                    (g = o[h], "string" == typeof g || "number" == typeof g || "boolean" == typeof g || null == g) ? (!rw(v, a) || rw(v, s)) && delete o[h]: e({
                        json: i,
                        targetObject: o[h],
                        allowlist: a,
                        excludelist: s,
                        ancestors: v,
                        parentObject: o,
                        targetKey: h
                    })
                }
            } catch (e) {
                n = {
                    error: e
                }
            } finally {
                try {
                    p && !p.done && (r = f.return) && r.call(f)
                } finally {
                    if (n) throw n.error
                }
            }
            0 === Object.keys(o).length && c && l && delete c[l]
        }({
            json: e,
            allowlist: t.map(rb),
            excludelist: n.map(rb),
            ancestors: []
        })
    }

    function rb(e) {
        return e.startsWith("/") && (e = e.slice(1)), e.split("/").map(function(e) {
            return e.replace(/~0/g, "~").replace(/~1/g, "/")
        })
    }

    function rw(e, t) {
        return t.some(function(t) {
            return function e(t, n, r, i) {
                if (void 0 === r && (r = 0), void 0 === i && (i = 0), i === n.length) return r === t.length;
                if (r === t.length) {
                    for (; i < n.length && "**" === n[i];) i++;
                    return i === n.length
                }
                var o = n[i];
                if ("**" === o) {
                    if (i + 1 === n.length) return !0;
                    for (var a = r; a <= t.length; a++)
                        if (e(t, n, a, i + 1)) return !0;
                    return !1
                }
                return ("*" === o || o === t[r]) && e(t, n, r + 1, i + 1)
            }(e, t)
        })
    }
    var rE = function() {
            function e(e) {
                this.request = e
            }
            return e.prototype.headers = function(e) {
                void 0 === e && (e = []);
                var t, n, r = this.request.headers,
                    i = {};
                if (Array.isArray(r)) r.forEach(function(e) {
                    var t = (0, k.__read)(e, 2),
                        n = t[0],
                        r = t[1];
                    i[n] = r
                });
                else if (r instanceof Headers) r.forEach(function(e, t) {
                    i[t] = e
                });
                else if ("object" == typeof r && null !== r) try {
                    for (var o = (0, k.__values)(Object.entries(r)), a = o.next(); !a.done; a = o.next()) {
                        var s = (0, k.__read)(a.value, 2),
                            u = s[0],
                            c = s[1];
                        i[u] = c
                    }
                } catch (e) {
                    t = {
                        error: e
                    }
                } finally {
                    try {
                        a && !a.done && (n = o.return) && n.call(o)
                    } finally {
                        if (t) throw t.error
                    }
                }
                return rP(i, {
                    allow: e
                })
            }, Object.defineProperty(e.prototype, "bodySize", {
                get: function() {
                    if ("number" == typeof this._bodySize) return this._bodySize;
                    var e = tx();
                    if (null == e ? void 0 : e.TextEncoder) {
                        var t = this.request.body;
                        return this._bodySize = rT(t, 100), this._bodySize
                    }
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(e.prototype, "method", {
                get: function() {
                    return this.request.method
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(e.prototype, "body", {
                get: function() {
                    return "string" == typeof this.request.body ? this.request.body : null
                },
                enumerable: !1,
                configurable: !0
            }), e.prototype.json = function(e, t) {
                return void 0 === e && (e = []), void 0 === t && (t = []), (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        return 0 === e.length ? [2, null] : [2, rC(this.body, e, t)]
                    })
                })
            }, e
        }(),
        rS = function() {
            function e(e, t) {
                this.bodyRaw = e, this.requestHeaders = t
            }
            return e.prototype.headers = function(e) {
                return void 0 === e && (e = []), rP(this.requestHeaders, {
                    allow: e
                })
            }, Object.defineProperty(e.prototype, "bodySize", {
                get: function() {
                    return rT(this.bodyRaw, 100)
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(e.prototype, "body", {
                get: function() {
                    return "string" == typeof this.bodyRaw ? this.bodyRaw : null
                },
                enumerable: !1,
                configurable: !0
            }), e.prototype.json = function(e, t) {
                return void 0 === e && (e = []), void 0 === t && (t = []), (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        return 0 === e.length ? [2, null] : [2, rC(this.body, e, t)]
                    })
                })
            }, e
        }();

    function rT(e, t) {
        var n, r, i, o, a = tx(),
            s = null == a ? void 0 : a.TextEncoder;
        if (s) {
            if ("string" == typeof e) o = e, i = new s().encode(o).length;
            else if (e instanceof Blob) i = (o = e).size;
            else if (e instanceof URLSearchParams) o = e, i = new s().encode(o.toString()).length;
            else if (ArrayBuffer.isView(e)) i = (o = e).byteLength;
            else if (e instanceof ArrayBuffer) i = (o = e).byteLength;
            else if (e instanceof FormData) {
                var u = 0,
                    c = 0;
                try {
                    for (var l = (0, k.__values)(e.entries()), d = l.next(); !d.done; d = l.next()) {
                        var f = (0, k.__read)(d.value, 2),
                            p = f[0],
                            g = f[1];
                        if (u += p.length, "string" == typeof g) u += new s().encode(g).length;
                        else {
                            if (!(g instanceof Blob)) return;
                            u += g.size
                        }
                        if (++c >= t) return
                    }
                } catch (e) {
                    n = {
                        error: e
                    }
                } finally {
                    try {
                        d && !d.done && (r = l.return) && r.call(l)
                    } finally {
                        if (n) throw n.error
                    }
                }
                i = u
            } else if (e instanceof ReadableStream) {
                o = e;
                return
            }
            return i
        }
    }
    var rk = function() {
            function e(e) {
                this.response = e
            }
            return e.prototype.headers = function(e) {
                var t;
                if (void 0 === e && (e = []), this.response.headers instanceof Headers) {
                    var n = this.response.headers,
                        r = {};
                    return null == (t = null == n ? void 0 : n.forEach) || t.call(n, function(e, t) {
                        r[t] = e
                    }), rP(r, {
                        allow: e
                    })
                }
            }, Object.defineProperty(e.prototype, "bodySize", {
                get: function() {
                    if (void 0 !== this._bodySize) return this._bodySize;
                    var e, t, n = null == (t = null == (e = this.response.headers) ? void 0 : e.get) ? void 0 : t.call(e, "content-length"),
                        r = n ? parseInt(n, 10) : void 0;
                    return this._bodySize = r, r
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(e.prototype, "status", {
                get: function() {
                    return this.response.status
                },
                enumerable: !1,
                configurable: !0
            }), e.prototype.text = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        switch (e.label) {
                            case 0:
                                this.clonedResponse || (this.clonedResponse = this.response.clone()), e.label = 1;
                            case 1:
                                return e.trys.push([1, 3, , 4]), [4, Promise.race([this.clonedResponse.text(), new Promise(function(e) {
                                    return setTimeout(function() {
                                        return e(null)
                                    }, 500)
                                })])];
                            case 2:
                                return [2, e.sent()];
                            case 3:
                                return e.sent(), [2, null];
                            case 4:
                                return [2]
                        }
                    })
                })
            }, e.prototype.json = function(e, t) {
                return void 0 === e && (e = []), void 0 === t && (t = []), (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                if (0 === e.length) return [2, null];
                                return [4, this.text()];
                            case 1:
                                return [2, rC(n.sent(), e, t)]
                        }
                    })
                })
            }, e
        }(),
        rI = function() {
            function e(e, t, n, r) {
                this.statusCode = e, this.headersString = t, this.size = n, this.getJson = r
            }
            return Object.defineProperty(e.prototype, "bodySize", {
                get: function() {
                    return this.size
                },
                enumerable: !1,
                configurable: !0
            }), Object.defineProperty(e.prototype, "status", {
                get: function() {
                    return this.statusCode
                },
                enumerable: !1,
                configurable: !0
            }), e.prototype.headers = function(e) {
                if (void 0 === e && (e = []), !this.headersString) return {};
                var t, n, r = {},
                    i = this.headersString.split("\r\n");
                try {
                    for (var o = (0, k.__values)(i), a = o.next(); !a.done; a = o.next()) {
                        var s = a.value,
                            u = (0, k.__read)(s.split(": "), 2),
                            c = u[0],
                            l = u[1];
                        c && l && (r[c] = l)
                    }
                } catch (e) {
                    t = {
                        error: e
                    }
                } finally {
                    try {
                        a && !a.done && (n = o.return) && n.call(o)
                    } finally {
                        if (t) throw t.error
                    }
                }
                return rP(r, {
                    allow: e
                })
            }, e.prototype.json = function(e, t) {
                return void 0 === e && (e = []), void 0 === t && (t = []), (0, k.__awaiter)(this, void 0, void 0, function() {
                    var n;
                    return (0, k.__generator)(this, function(r) {
                        return 0 === e.length ? [2, null] : (n = this.getJson()) ? (ry(n, e, t), [2, n]) : [2, null]
                    })
                })
            }, e
        }();

    function rC(e, t, n) {
        if (!e) return null;
        try {
            var r = JSON.parse(e);
            return ry(r, t, n), r
        } catch (e) {
            return null
        }
    }(l = b || (b = {})).REDACT = "redact", l.REMOVE = "remove";
    var rA = "[REDACTED]",
        rP = function(e, t) {
            var n, r, i = t.allow,
                o = void 0 === i ? [] : i,
                a = t.strategy,
                s = void 0 === a ? b.REMOVE : a,
                u = (0, k.__spreadArray)([], (0, k.__read)(tz), !1),
                c = {};
            try {
                for (var l = (0, k.__values)(Object.keys(e)), d = l.next(); !d.done; d = l.next()) {
                    var f = d.value;
                    ! function(t) {
                        var n = t.toLowerCase();
                        u.find(function(e) {
                            return e.toLowerCase() === n
                        }) ? s === b.REDACT && (c[t] = rA) : o.find(function(e) {
                            return e.toLowerCase() === n
                        }) ? c[t] = e[t] : s === b.REDACT && (c[t] = rA)
                    }(f)
                }
            } catch (e) {
                n = {
                    error: e
                }
            } finally {
                try {
                    d && !d.done && (r = l.return) && r.call(l)
                } finally {
                    if (n) throw n.error
                }
            }
            return c
        },
        rx = function() {
            function e(e, t, n, r, i, o, a, s, u, c, l) {
                void 0 === a && (a = 0), this.type = e, this.method = t, this.timestamp = n, this.startTime = r, this.url = i, this.requestWrapper = o, this.status = a, this.duration = s, this.responseWrapper = u, this.error = c, this.endTime = l
            }
            return e.prototype.toSerializable = function() {
                var e, t, n, r;
                return Object.fromEntries(Object.entries({
                    type: this.type,
                    method: this.method,
                    url: this.url,
                    timestamp: this.timestamp,
                    status: this.status,
                    duration: this.duration,
                    error: this.error,
                    startTime: this.startTime,
                    endTime: this.endTime,
                    requestHeaders: null == (e = this.requestWrapper) ? void 0 : e.headers((0, k.__spreadArray)([], (0, k.__read)(tG), !1)),
                    requestBodySize: null == (t = this.requestWrapper) ? void 0 : t.bodySize,
                    responseHeaders: null == (n = this.responseWrapper) ? void 0 : n.headers((0, k.__spreadArray)([], (0, k.__read)(tG), !1)),
                    responseBodySize: null == (r = this.responseWrapper) ? void 0 : r.bodySize
                }).filter(function(e) {
                    var t = (0, k.__read)(e, 2);
                    return void 0 !== (t[0], t[1])
                }))
            }, e
        }(),
        rO = function(e, t) {
            void 0 === t && (t = tX()), this.callback = e, this.id = t
        };

    function rR(e) {
        try {
            e()
        } catch (e) {}
    }
    var rL = new(function() {
            function e(t) {
                this.eventCallbacks = new Map, this.isObserving = !1, this.logger = t;
                var n = tx();
                e.isSupported() && (this.globalScope = n)
            }
            return e.isSupported = function() {
                var e = tx();
                return !!e && !!e.fetch
            }, e.prototype.subscribe = function(e, t) {
                var n, r, i, o, a, s, u, c, l, d;
                if (this.logger || (this.logger = t), this.eventCallbacks.set(e.id, e), !this.isObserving) {
                    var f = null == (i = null == (r = null == (n = this.globalScope) ? void 0 : n.XMLHttpRequest) ? void 0 : r.prototype) ? void 0 : i.open,
                        p = null == (s = null == (a = null == (o = this.globalScope) ? void 0 : o.XMLHttpRequest) ? void 0 : a.prototype) ? void 0 : s.send,
                        g = null == (l = null == (c = null == (u = this.globalScope) ? void 0 : u.XMLHttpRequest) ? void 0 : c.prototype) ? void 0 : l.setRequestHeader;
                    f && p && g && this.observeXhr(f, p, g);
                    var h = null == (d = this.globalScope) ? void 0 : d.fetch;
                    h && this.observeFetch(h), this.isObserving = !0
                }
            }, e.prototype.unsubscribe = function(e) {
                this.eventCallbacks.delete(e.id)
            }, e.prototype.triggerEventCallbacks = function(e) {
                var t = this;
                this.eventCallbacks.forEach(function(n) {
                    try {
                        n.callback(e)
                    } catch (e) {
                        rR(function() {
                            var n;
                            null == (n = t.logger) || n.debug("an unexpected error occurred while triggering event callbacks", e)
                        })
                    }
                })
            }, e.prototype.handleNetworkRequestEvent = function(e, t, n, r, i, o, a) {
                if (void 0 !== o && void 0 !== a) {
                    var s, u, c, l, d = "GET";
                    if ("object" == typeof t && null !== t && "url" in t && "method" in t ? (u = t.url, d = t.method) : u = null == (s = null == t ? void 0 : t.toString) ? void 0 : s.call(t), u) try {
                        var f = new URL(u);
                        u = "".concat(f.protocol, "//").concat(f.host).concat(f.pathname).concat(f.search).concat(f.hash)
                    } catch (e) {}
                    d = (null == n ? void 0 : n.method) || d, r && (c = r.status), i && (l = {
                        name: i.name || "UnknownError",
                        message: i.message || "An unknown error occurred"
                    }, c = 0);
                    var p = Math.floor(performance.now() - a),
                        g = Math.floor(o + p),
                        h = new rx(e, d, o, o, u, n, c, p, r, l, g);
                    this.triggerEventCallbacks(h)
                }
            }, e.prototype.getTimestamps = function() {
                var e, t;
                return {
                    startTime: null == (e = Date.now) ? void 0 : e.call(Date),
                    durationStart: null == (t = null == performance ? void 0 : performance.now) ? void 0 : t.call(performance)
                }
            }, e.prototype.observeFetch = function(e) {
                var t = this;
                this.globalScope && e && (this.globalScope.fetch = function(n, r) {
                    return (0, k.__awaiter)(t, void 0, void 0, function() {
                        var t, i, o, a = this;
                        return (0, k.__generator)(this, function(s) {
                            switch (s.label) {
                                case 0:
                                    try {
                                        t = this.getTimestamps()
                                    } catch (e) {
                                        rR(function() {
                                            var t;
                                            return null == (t = a.logger) ? void 0 : t.debug("an unexpected error occurred while retrieving timestamps", e)
                                        })
                                    }
                                    s.label = 1;
                                case 1:
                                    return s.trys.push([1, 3, , 4]), [4, e(n, r)];
                                case 2:
                                    return i = s.sent(), [3, 4];
                                case 3:
                                    return o = s.sent(), [3, 4];
                                case 4:
                                    try {
                                        this.handleNetworkRequestEvent("fetch", n, r ? new rE(r) : void 0, i ? new rk(i) : void 0, o, null == t ? void 0 : t.startTime, null == t ? void 0 : t.durationStart)
                                    } catch (e) {
                                        rR(function() {
                                            var t;
                                            return null == (t = a.logger) ? void 0 : t.debug("an unexpected error occurred while handling fetch", e)
                                        })
                                    }
                                    if (i) return [2, i];
                                    throw o
                            }
                        })
                    })
                })
            }, e.createXhrJsonParser = function(e, t) {
                return function() {
                    var n;
                    try {
                        if ("json" === e.responseType) {
                            if (null == (n = t.globalScope) ? void 0 : n.structuredClone) return t.globalScope.structuredClone(e.response)
                        } else if (["text", ""].includes(e.responseType)) return JSON.parse(e.responseText)
                    } catch (n) {
                        n instanceof Error && "InvalidStateError" === n.name && rR(function() {
                            var n;
                            return null == (n = t.logger) ? void 0 : n.debug("unexpected error when retrieving responseText. responseType='".concat(e.responseType, "'"))
                        })
                    }
                    return null
                }
            }, e.prototype.observeXhr = function(t, n, r) {
                if (this.globalScope && t && n) {
                    var i = this.globalScope.XMLHttpRequest.prototype,
                        o = this;
                    i.open = function() {
                        for (var e, n = [], r = 0; r < arguments.length; r++) n[r] = arguments[r];
                        var i = (0, k.__read)(n, 2),
                            a = i[0],
                            s = i[1];
                        try {
                            this.$$AmplitudeAnalyticsEvent = (0, k.__assign)({
                                method: a,
                                url: null == (e = null == s ? void 0 : s.toString) ? void 0 : e.call(s),
                                headers: {}
                            }, o.getTimestamps())
                        } catch (e) {
                            rR(function() {
                                var t;
                                return null == (t = o.logger) ? void 0 : t.debug("an unexpected error occurred while calling xhr open", e)
                            })
                        }
                        return t.apply(this, n)
                    }, i.send = function() {
                        for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
                        var i = this,
                            a = e.createXhrJsonParser(this, o),
                            s = t[0],
                            u = i.$$AmplitudeAnalyticsEvent;
                        return i.$$AmplitudeAnalyticsEvent && i.addEventListener("loadend", function() {
                            try {
                                var e = i.getAllResponseHeaders(),
                                    t = i.getResponseHeader("content-length"),
                                    n = new rI(i.status, e, t ? parseInt(t, 10) : void 0, a),
                                    r = i.$$AmplitudeAnalyticsEvent.headers,
                                    c = new rS(s, r);
                                u.status = i.status, o.handleNetworkRequestEvent("xhr", {
                                    url: u.url,
                                    method: u.method
                                }, c, n, void 0, u.startTime, u.durationStart)
                            } catch (e) {
                                rR(function() {
                                    var t;
                                    return null == (t = o.logger) ? void 0 : t.debug("an unexpected error occurred while handling xhr send", e)
                                })
                            }
                        }), n.apply(i, t)
                    }, i.setRequestHeader = function(e, t) {
                        try {
                            var n = this.$$AmplitudeAnalyticsEvent;
                            n && (n.headers[e] = t)
                        } catch (e) {
                            rR(function() {
                                var t;
                                return null == (t = o.logger) ? void 0 : t.debug("an unexpected error occurred while calling xhr setRequestHeader", e)
                            })
                        }
                        r.apply(this, [e, t])
                    }
                }
            }, e
        }()),
        rD = "[Amplitude] Network Request",
        nR = na,
        rN = function(e, t) {
            var n = e;
            try {
                n = decodeURI(e)
            } catch (e) {
                null == t || t.error("Malformed URI sequence: ", e)
            }
            return n
        },
        rM = "500-599";

    function rU(e, t) {
        return RegExp("^" + t.replace(/[-[\]{}()+?.,\\^$|#\s]/g, "\\$&").replace(/\*/g, ".*") + "$").test(e)
    }

    function rj(e, t) {
        var n, r, i = t.split(",");
        try {
            for (var o = (0, k.__values)(i), a = o.next(); !a.done; a = o.next()) {
                var s = a.value,
                    u = (0, k.__read)(s.split("-").map(Number), 2),
                    c = u[0],
                    l = u[1];
                if (e === c && void 0 === l || e >= c && e <= l) return !0
            }
        } catch (e) {
            n = {
                error: e
            }
        } finally {
            try {
                a && !a.done && (r = o.return) && r.call(o)
            } finally {
                if (n) throw n.error
            }
        }
        return !1
    }

    function rF(e) {
        var t;
        if (e) try {
            var n = null == (t = tx()) ? void 0 : t.location.href,
                r = new URL(e, n),
                i = r.searchParams.toString(),
                o = r.hash.replace("#", ""),
                a = r.href,
                s = r.host;
            r.hash = "", r.search = "";
            var u = r.href;
            return {
                query: i,
                fragment: o,
                href: a,
                hrefWithoutQueryOrHash: u,
                host: s
            }
        } catch (e) {
            return
        }
    }

    function rq(e) {
        return "object" != typeof e || null === e ? e ? (0, k.__spreadArray)([], (0, k.__read)(tG), !1) : void 0 : 0 !== e.length ? e : void 0
    }

    function rB(e) {
        var t, n, r;
        return !(null == (t = null == e ? void 0 : e.allowlist) ? void 0 : t.length) && !(null == (n = null == e ? void 0 : e.blocklist) ? void 0 : n.length) && !(null == (r = null == e ? void 0 : e.excludelist) ? void 0 : r.length)
    }(w || (w = {})).NetworkObservable = "networkObservable";
    var rW = function(e) {
        void 0 === e && (e = {});
        var t, n = "@amplitude/plugin-network-capture-browser",
            r = function() {
                var e, n = new nR.default(function(e) {
                    var n = new rO(function(t) {
                        var n = {
                            event: t,
                            timestamp: Date.now(),
                            type: "network"
                        };
                        e.next(n)
                    });
                    return rL.subscribe(n, t),
                        function() {
                            rL.unsubscribe(n)
                        }
                });
                return (e = {})[w.NetworkObservable] = n, e
            };
        return {
            name: n,
            type: "enrichment",
            setup: function(i, o) {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    var a;
                    return (0, k.__generator)(this, function(s) {
                        var u, c, l, d, f;
                        return "u" < typeof document ? [2] : (a = r(), t = null == i ? void 0 : i.loggerProvider, c = (u = {
                            allObservables: a,
                            networkTrackingOptions: e,
                            amplitude: o,
                            loggerProvider: t
                        }).allObservables, l = u.networkTrackingOptions, d = u.amplitude, f = u.loggerProvider, E = c.networkObservable.filter(function(e) {
                            return function(e, t) {
                                void 0 === t && (t = {});
                                var n, r, i = rF(e.url);
                                if (!i) return !1;
                                var o = i.host;
                                return !(!1 !== t.ignoreAmplitudeRequests && (rU(o, "*.amplitude.com") || rU(o, "amplitude.com")) || (null == (n = t.ignoreHosts) ? void 0 : n.find(function(e) {
                                    return rU(o, e)
                                }))) && (!!t.captureRules || void 0 === e.status || !!rj(e.status, rM)) && (!t.captureRules || ((0, k.__spreadArray)([], (0, k.__read)(t.captureRules), !1).reverse().find(function(t) {
                                    if (r = function(e, t, n, r, i) {
                                            var o;
                                            if (!e.hosts || e.hosts.find(function(e) {
                                                    return rU(t, e)
                                                })) {
                                                if ((!r || !e.urls || !(o = e.urls) || !o.length || o.some(function(e) {
                                                        return "string" == typeof e ? r === e : r.match(e)
                                                    })) && (!i || !e.methods || e.methods.find(function(e) {
                                                        return i.toLowerCase() === e.toLowerCase() || "*" === e
                                                    }))) return (!n && 0 !== n || !!rj(n, e.statusCodeRange || rM)) && !0
                                            }
                                        }(t, o, e.status, e.url, e.method)) {
                                        var n = rq(t.responseHeaders);
                                        if (e.responseWrapper && n) {
                                            var i = e.responseWrapper.headers(n);
                                            i && (e.responseHeaders = i)
                                        }
                                        var a = rq(t.requestHeaders);
                                        if (e.requestWrapper && a) {
                                            var s = e.requestWrapper.headers(a);
                                            s && (e.requestHeaders = s)
                                        }
                                        if (e.responseWrapper && t.responseBody && !rB(t.responseBody)) {
                                            var u = t.responseBody.excludelist || t.responseBody.blocklist;
                                            e.responseBodyJson = e.responseWrapper.json(t.responseBody.allowlist, u)
                                        }
                                        if (e.requestWrapper && t.requestBody && !rB(t.requestBody)) {
                                            var u = t.requestBody.excludelist || t.requestBody.blocklist;
                                            e.requestBodyJson = e.requestWrapper.json(t.requestBody.allowlist, u)
                                        }
                                    }
                                    return void 0 !== r
                                }), !!r)) && !(e.requestWrapper && function(e, t) {
                                    if (e.includes("amplitude.com")) try {
                                        var n = t.body;
                                        if ("string" != typeof n) return !1;
                                        if (JSON.parse(n).events.find(function(e) {
                                                return e.event_type === rD
                                            })) return !0
                                    } catch (e) {}
                                    return !1
                                }(o, e.requestWrapper))
                            }(e.event, l)
                        }).subscribe(function(e) {
                            var t, n, r, i = e.event,
                                o = rF(i.url);
                            if (o) {
                                var a = null == (n = i.responseWrapper) ? void 0 : n.bodySize,
                                    s = null == (r = i.requestWrapper) ? void 0 : r.bodySize;
                                ! function(e, t, n, r) {
                                    (0, k.__awaiter)(this, void 0, void 0, function() {
                                        var i, o, a;
                                        return (0, k.__generator)(this, function(s) {
                                            switch (s.label) {
                                                case 0:
                                                    if (!(t.requestBodyJson || t.responseBodyJson)) return [3, 2];
                                                    return [4, Promise.all([t.requestBodyJson, t.responseBodyJson])];
                                                case 1:
                                                    if (o = (i = k.__read.apply(void 0, [s.sent(), 2]))[0], a = i[1], o) try {
                                                        e["[Amplitude] Request Body"] = JSON.stringify(o)
                                                    } catch (e) {
                                                        null == r || r.debug("Failed to stringify request body", e)
                                                    }
                                                    if (a) try {
                                                        e["[Amplitude] Response Body"] = JSON.stringify(a)
                                                    } catch (e) {
                                                        null == r || r.debug("Failed to stringify response body")
                                                    }
                                                    s.label = 2;
                                                case 2:
                                                    return null == n || n.track(rD, e), [2]
                                            }
                                        })
                                    })
                                }(((t = {})["[Amplitude] URL"] = o.hrefWithoutQueryOrHash, t["[Amplitude] URL Query"] = o.query, t["[Amplitude] URL Fragment"] = o.fragment, t["[Amplitude] Request Method"] = i.method, t["[Amplitude] Status Code"] = i.status, t["[Amplitude] Start Time"] = i.startTime, t["[Amplitude] Completion Time"] = i.endTime, t["[Amplitude] Duration"] = i.duration, t["[Amplitude] Request Body Size"] = s, t["[Amplitude] Response Body Size"] = a, t["[Amplitude] Request Type"] = i.type, t["[Amplitude] Request Headers"] = i.requestHeaders, t["[Amplitude] Response Headers"] = i.responseHeaders, t), i, d, f)
                            }
                        }), null == t || t.log("".concat(n, " has been successfully added.")), [2])
                    })
                })
            },
            execute: function(e) {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(t) {
                        return [2, e]
                    })
                })
            },
            teardown: function() {
                return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        return E.unsubscribe(), [2]
                    })
                })
            }
        }
    };
    let rV = -1,
        rH = e => {
            addEventListener("pageshow", t => {
                t.persisted && (rV = t.timeStamp, e(t))
            }, !0)
        },
        rG = (e, t, n, r) => {
            let i, o;
            return a => {
                let s;
                t.value >= 0 && (a || r) && ((o = t.value - (i ? ? 0)) || void 0 === i) && (i = t.value, t.delta = o, s = t.value, t.rating = s > n[1] ? "poor" : s > n[0] ? "needs-improvement" : "good", e(t))
            }
        },
        rz = e => {
            requestAnimationFrame(() => requestAnimationFrame(() => e()))
        },
        rK = () => {
            let e = performance.getEntriesByType("navigation")[0];
            if (e && e.responseStart > 0 && e.responseStart < performance.now()) return e
        },
        rJ = () => {
            let e = rK();
            return e ? .activationStart ? ? 0
        },
        r$ = (e, t = -1) => {
            let n = rK(),
                r = "navigate";
            return rV >= 0 ? r = "back-forward-cache" : n && (document.prerendering || rJ() > 0 ? r = "prerender" : document.wasDiscarded ? r = "restore" : n.type && (r = n.type.replace(/_/g, "-"))), {
                name: e,
                value: t,
                rating: "good",
                delta: 0,
                entries: [],
                id: `v5-${Date.now()}-${Math.floor(0x82f79cd8fff*Math.random())+1e12}`,
                navigationType: r
            }
        },
        rX = new WeakMap;

    function rY(e, t) {
        return rX.get(e) || rX.set(e, new t), rX.get(e)
    }
    class rQ {
        t;
        i = 0;
        o = [];
        h(e) {
            if (e.hadRecentInput) return;
            let t = this.o[0],
                n = this.o.at(-1);
            this.i && t && n && e.startTime - n.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)
        }
    }
    let rZ = (e, t, n = {}) => {
            try {
                if (PerformanceObserver.supportedEntryTypes.includes(e)) {
                    let r = new PerformanceObserver(e => {
                        Promise.resolve().then(() => {
                            t(e.getEntries())
                        })
                    });
                    return r.observe({
                        type: e,
                        buffered: !0,
                        ...n
                    }), r
                }
            } catch {}
        },
        r0 = e => {
            let t = !1;
            return () => {
                t || (e(), t = !0)
            }
        },
        r1 = -1,
        r2 = new Set,
        r3 = () => "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0,
        r4 = e => {
            if ("hidden" === document.visibilityState) {
                if ("visibilitychange" === e.type)
                    for (let e of r2) e();
                isFinite(r1) || (r1 = "visibilitychange" === e.type ? e.timeStamp : 0, removeEventListener("prerenderingchange", r4, !0))
            }
        },
        r5 = () => {
            if (r1 < 0) {
                let e = rJ();
                r1 = (document.prerendering ? void 0 : globalThis.performance.getEntriesByType("visibility-state").filter(t => "hidden" === t.name && t.startTime > e)[0] ? .startTime) ? ? r3(), addEventListener("visibilitychange", r4, !0), addEventListener("prerenderingchange", r4, !0), rH(() => {
                    setTimeout(() => {
                        r1 = r3()
                    })
                })
            }
            return {
                get firstHiddenTime() {
                    return r1
                },
                onHidden(e) {
                    r2.add(e)
                }
            }
        },
        r6 = e => {
            document.prerendering ? addEventListener("prerenderingchange", () => e(), !0) : e()
        },
        r8 = [1800, 3e3],
        r7 = (e, t = {}) => {
            r6(() => {
                let n = r5(),
                    r, i = r$("FCP"),
                    o = rZ("paint", e => {
                        for (let t of e) "first-contentful-paint" === t.name && (o.disconnect(), t.startTime < n.firstHiddenTime && (i.value = Math.max(t.startTime - rJ(), 0), i.entries.push(t), r(!0)))
                    });
                o && (r = rG(e, i, r8, t.reportAllChanges), rH(n => {
                    r = rG(e, i = r$("FCP"), r8, t.reportAllChanges), rz(() => {
                        i.value = performance.now() - n.timeStamp, r(!0)
                    })
                }))
            })
        },
        r9 = [.1, .25],
        ie = 0,
        it = 1 / 0,
        ir = 0,
        ii = e => {
            for (let t of e) t.interactionId && (it = Math.min(it, t.interactionId), ie = (ir = Math.max(ir, t.interactionId)) ? (ir - it) / 7 + 1 : 0)
        },
        io = () => t ? ie : performance.interactionCount ? ? 0,
        ia = 0;
    class is {
        u = [];
        l = new Map;
        m;
        p;
        v() {
            ia = io(), this.u.length = 0, this.l.clear()
        }
        L() {
            let e = Math.min(this.u.length - 1, Math.floor((io() - ia) / 50));
            return this.u[e]
        }
        h(e) {
            if (this.m ? .(e), !e.interactionId && "first-input" !== e.entryType) return;
            let t = this.u.at(-1),
                n = this.l.get(e.interactionId);
            if (n || this.u.length < 10 || e.duration > t.P) {
                if (n ? e.duration > n.P ? (n.entries = [e], n.P = e.duration) : e.duration === n.P && e.startTime === n.entries[0].startTime && n.entries.push(e) : (n = {
                        id: e.interactionId,
                        entries: [e],
                        P: e.duration
                    }, this.l.set(n.id, n), this.u.push(n)), this.u.sort((e, t) => t.P - e.P), this.u.length > 10)
                    for (let e of this.u.splice(10)) this.l.delete(e.id);
                this.p ? .(n)
            }
        }
    }
    let iu = e => {
            let t = globalThis.requestIdleCallback || setTimeout;
            "hidden" === document.visibilityState ? e() : (addEventListener("visibilitychange", e = r0(e), {
                once: !0,
                capture: !0
            }), t(() => {
                e(), removeEventListener("visibilitychange", e, {
                    capture: !0
                })
            }))
        },
        ic = [200, 500];
    class il {
        m;
        h(e) {
            this.m ? .(e)
        }
    }
    let id = [2500, 4e3],
        ip = [800, 1800],
        ig = e => {
            document.prerendering ? r6(() => ig(e)) : "complete" !== document.readyState ? addEventListener("load", () => ig(e), !0) : setTimeout(e)
        };

    function ih(e) {
        var t, n;
        return {
            value: e.value,
            rating: e.rating,
            delta: e.delta,
            navigationType: e.navigationType,
            id: e.id,
            timestamp: Math.floor((n = (null == (t = e.entries[0]) ? void 0 : t.startTime) || 0, performance.timeOrigin + n)),
            navigationStart: Math.floor(performance.timeOrigin)
        }
    }
    var iv = function() {
            var e = null,
                n = tx(),
                r = null == n ? void 0 : n.document,
                i = null == n ? void 0 : n.location;
            return {
                name: "web-vitals-browser",
                type: "enrichment",
                setup: function(n, o) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var a, s;
                        return (0, k.__generator)(this, function(u) {
                            return void 0 === r || (a = rN((null == i ? void 0 : i.href) || "", n.loggerProvider), s = {
                                "[Amplitude] Page Domain": (null == i ? void 0 : i.hostname) || "",
                                "[Amplitude] Page Location": a,
                                "[Amplitude] Page Path": rN((null == i ? void 0 : i.pathname) || "", n.loggerProvider),
                                "[Amplitude] Page Title": "u" > typeof document && document.title || "",
                                "[Amplitude] Page URL": rN(a.split("?")[0], n.loggerProvider)
                            }, ((e, t = {}) => {
                                r6(() => {
                                    let n = r5(),
                                        r, i = r$("LCP"),
                                        o = rY(t, il),
                                        a = e => {
                                            for (let a of (t.reportAllChanges || (e = e.slice(-1)), e)) o.h(a), a.startTime < n.firstHiddenTime && (i.value = Math.max(a.startTime - rJ(), 0), i.entries = [a], r())
                                        },
                                        s = rZ("largest-contentful-paint", a);
                                    if (s) {
                                        r = rG(e, i, id, t.reportAllChanges);
                                        let n = r0(() => {
                                                a(s.takeRecords()), s.disconnect(), r(!0)
                                            }),
                                            o = e => {
                                                e.isTrusted && (iu(n), removeEventListener(e.type, o, {
                                                    capture: !0
                                                }))
                                            };
                                        for (let e of ["keydown", "click", "visibilitychange"]) addEventListener(e, o, {
                                            capture: !0
                                        });
                                        rH(n => {
                                            r = rG(e, i = r$("LCP"), id, t.reportAllChanges), rz(() => {
                                                i.value = performance.now() - n.timeStamp, r(!0)
                                            })
                                        })
                                    }
                                })
                            })(function(e) {
                                s["[Amplitude] LCP"] = ih(e)
                            }), r7(function(e) {
                                s["[Amplitude] FCP"] = ih(e)
                            }), ((e, n = {}) => {
                                if (!globalThis.PerformanceEventTiming || !("interactionId" in PerformanceEventTiming.prototype)) return;
                                let r = r5();
                                r6(() => {
                                    "interactionCount" in performance || t || (t = rZ("event", ii, {
                                        type: "event",
                                        buffered: !0,
                                        durationThreshold: 0
                                    }));
                                    let i, o = r$("INP"),
                                        a = rY(n, is),
                                        s = e => {
                                            iu(() => {
                                                for (let t of e) a.h(t);
                                                let t = a.L();
                                                t && t.P !== o.value && (o.value = t.P, o.entries = t.entries, i())
                                            })
                                        },
                                        u = rZ("event", s, {
                                            durationThreshold: n.durationThreshold ? ? 40
                                        });
                                    i = rG(e, o, ic, n.reportAllChanges), u && (u.observe({
                                        type: "first-input",
                                        buffered: !0
                                    }), r.onHidden(() => {
                                        s(u.takeRecords()), i(!0)
                                    }), rH(() => {
                                        a.v(), i = rG(e, o = r$("INP"), ic, n.reportAllChanges)
                                    }))
                                })
                            })(function(e) {
                                s["[Amplitude] INP"] = ih(e)
                            }), ((e, t = {}) => {
                                let n = r5();
                                r7(r0(() => {
                                    let r, i = r$("CLS", 0),
                                        o = rY(t, rQ),
                                        a = e => {
                                            for (let t of e) o.h(t);
                                            o.i > i.value && (i.value = o.i, i.entries = o.o, r())
                                        },
                                        s = rZ("layout-shift", a);
                                    s && (r = rG(e, i, r9, t.reportAllChanges), n.onHidden(() => {
                                        a(s.takeRecords()), r(!0)
                                    }), rH(() => {
                                        o.i = 0, r = rG(e, i = r$("CLS", 0), r9, t.reportAllChanges), rz(() => r())
                                    }), setTimeout(r))
                                }))
                            })(function(e) {
                                s["[Amplitude] CLS"] = ih(e)
                            }), ((e, t = {}) => {
                                let n = r$("TTFB"),
                                    r = rG(e, n, ip, t.reportAllChanges);
                                ig(() => {
                                    let i = rK();
                                    i && (n.value = Math.max(i.responseStart - rJ(), 0), n.entries = [i], r(!0), rH(() => {
                                        (r = rG(e, n = r$("TTFB", 0), ip, t.reportAllChanges))(!0)
                                    }))
                                })
                            })(function(e) {
                                s["[Amplitude] TTFB"] = ih(e)
                            }), e = function() {
                                "hidden" === r.visibilityState && e && (o.track("[Amplitude] Web Vitals", s), r.removeEventListener("visibilitychange", e), e = null)
                            }, r.addEventListener("visibilitychange", e)), [2]
                        })
                    })
                },
                execute: function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return [2, e]
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return e && (null == r || r.removeEventListener("visibilitychange", e)), [2]
                        })
                    })
                }
            }
        },
        im = function(e, t, n) {
            return void 0 === t && (t = ""), void 0 === n && (n = 10), [C.AMPLITUDE_PREFIX, t, e.substring(0, n)].filter(Boolean).join("_")
        },
        i_ = function() {
            function e() {}
            return e.prototype.parse = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    return (0, k.__generator)(this, function(e) {
                        return [2, (0, k.__assign)((0, k.__assign)((0, k.__assign)((0, k.__assign)({}, C.BASE_CAMPAIGN), this.getUtmParam()), this.getReferrer()), this.getClickIds())]
                    })
                })
            }, e.prototype.getUtmParam = function() {
                var e = Q();
                return {
                    utm_campaign: e[C.UTM_CAMPAIGN],
                    utm_content: e[C.UTM_CONTENT],
                    utm_id: e[C.UTM_ID],
                    utm_medium: e[C.UTM_MEDIUM],
                    utm_source: e[C.UTM_SOURCE],
                    utm_term: e[C.UTM_TERM]
                }
            }, e.prototype.getReferrer = function() {
                var e, t, n = {
                    referrer: void 0,
                    referring_domain: void 0
                };
                try {
                    n.referrer = document.referrer || void 0, n.referring_domain = null != (t = null == (e = n.referrer) ? void 0 : e.split("/")[2]) ? t : void 0
                } catch (e) {}
                return n
            }, e.prototype.getClickIds = function() {
                var e, t = Q();
                return (e = {})[C.DCLID] = t[C.DCLID], e[C.FBCLID] = t[C.FBCLID], e[C.GBRAID] = t[C.GBRAID], e[C.GCLID] = t[C.GCLID], e[C.KO_CLICK_ID] = t[C.KO_CLICK_ID], e[C.LI_FAT_ID] = t[C.LI_FAT_ID], e[C.MSCLKID] = t[C.MSCLKID], e[C.RDT_CID] = t[C.RDT_CID], e[C.TTCLID] = t[C.TTCLID], e[C.TWCLID] = t[C.TWCLID], e[C.WBRAID] = t[C.WBRAID], e
            }, e
        }(),
        iy = function() {
            function e(e, t) {
                var n;
                this.shouldTrackNewCampaign = !1, this.options = (0, k.__assign)({
                    initialEmptyValue: "EMPTY",
                    resetSessionOnNewCampaign: !1,
                    excludeReferrers: tg((null == (n = t.cookieOptions) ? void 0 : n.domain) || t.topLevelDomain),
                    optOut: t.optOut
                }, e), this.storage = t.cookieStorage, this.storageKey = im(t.apiKey, "MKTG"), this.webExpStorageKey = im(t.apiKey, "MKTG_ORIGINAL"), this.currentCampaign = C.BASE_CAMPAIGN, this.sessionTimeout = t.sessionTimeout, this.lastEventTime = t.lastEventTime, this.logger = t.loggerProvider, this.topLevelDomain = t.topLevelDomain, t.loggerProvider.log("Installing web attribution tracking.")
            }
            return e.prototype.init = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e, t;
                    return (0, k.__generator)(this, function(n) {
                        switch (n.label) {
                            case 0:
                                if (this.options.optOut) return [2];
                                return [4, this.fetchCampaign()];
                            case 1:
                                if (t = k.__read.apply(void 0, [n.sent(), 2]), this.currentCampaign = t[0], this.previousCampaign = t[1], e = !this.lastEventTime || $(this.sessionTimeout, this.lastEventTime), !td(this.currentCampaign, this.previousCampaign, this.options, this.logger, e, this.topLevelDomain)) return [3, 3];
                                return this.shouldTrackNewCampaign = !0, [4, this.storage.set(this.storageKey, this.currentCampaign)];
                            case 2:
                                n.sent(), n.label = 3;
                            case 3:
                                return [2]
                        }
                    })
                })
            }, e.prototype.fetchCampaign = function() {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var e;
                    return (0, k.__generator)(this, function(t) {
                        switch (t.label) {
                            case 0:
                                return [4, this.storage.get(this.webExpStorageKey)];
                            case 1:
                                if (!(e = t.sent())) return [3, 3];
                                return [4, this.storage.remove(this.webExpStorageKey)];
                            case 2:
                                t.sent(), t.label = 3;
                            case 3:
                                return [4, Promise.all([e || new i_().parse(), this.storage.get(this.storageKey)])];
                            case 4:
                                return [2, t.sent()]
                        }
                    })
                })
            }, e.prototype.generateCampaignEvent = function(e) {
                this.shouldTrackNewCampaign = !1;
                var t, n, r = (t = this.currentCampaign, n = this.options, M(Object.entries((0, k.__assign)((0, k.__assign)({}, C.BASE_CAMPAIGN), t)).reduce(function(e, t) {
                    var r, i = (0, k.__read)(t, 2),
                        o = i[0],
                        a = i[1];
                    return (e.setOnce("initial_".concat(o), null != (r = null != a ? a : n.initialEmptyValue) ? r : "EMPTY"), a) ? e.set(o, a) : e.unset(o)
                }, new x)));
                return e && (r.event_id = e), r
            }, e.prototype.shouldSetSessionIdOnNewCampaign = function() {
                return this.shouldTrackNewCampaign && !!this.options.resetSessionOnNewCampaign
            }, e
        }(),
        ib = new Set([h.IDENTIFY, h.GROUP_IDENTIFY]),
        iw = function(e) {
            void 0 === e && (e = {});
            var t, n, r, i, o, a, s, u = null != (t = e.fallbackAttributionEvent) && t,
                c = tx(),
                l = {},
                d = !1,
                f = !1,
                p = function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(e) {
                            switch (e.label) {
                                case 0:
                                    return [4, new tK().parse()];
                                case 1:
                                    return l = tY(e.sent()), u && (null == r || r.log("Tracking attribution fallback event."), null == n || n.track("[Amplitude] Attribution", l)), [2]
                            }
                        })
                    })
                },
                g = function() {
                    p()
                },
                h = function(e) {
                    return new Proxy(e, {
                        apply: function(e, t, n) {
                            Reflect.apply(e, t, n), d && g()
                        }
                    })
                };
            return {
                name: "@amplitude/plugin-event-property-attribution-browser",
                type: "enrichment",
                setup: function(e, t) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(u) {
                            switch (u.label) {
                                case 0:
                                    return n = t, r = e.loggerProvider, d = !0, r.log("Installing event property attribution tracking."), [4, p()];
                                case 1:
                                    if (u.sent(), !c) return [2];
                                    if (c.addEventListener("popstate", g), !f) {
                                        if (i = Reflect.get(c.history, "pushState"), o = Reflect.get(c.history, "replaceState"), !i || !o) return [2];
                                        a = h(i), c.history.pushState = a, s = h(o), c.history.replaceState = s, f = !0
                                    }
                                    return [2]
                            }
                        })
                    })
                },
                execute: function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(t) {
                            return ib.has(e.event_type) || (e.event_properties = (0, k.__assign)((0, k.__assign)({}, l), e.event_properties)), [2, e]
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var e, t;
                        return (0, k.__generator)(this, function(n) {
                            return c && (c.removeEventListener("popstate", g), e = Reflect.get(c.history, "pushState"), t = Reflect.get(c.history, "replaceState"), f && e === a && i && (c.history.pushState = i), f && t === s && o && (c.history.replaceState = o)), d = !1, f = !1, i = void 0, o = void 0, a = void 0, s = void 0, l = {}, [2]
                        })
                    })
                }
            }
        },
        iE = "AMP_CURRENT_PAGE",
        iS = "AMP_PREVIOUS_PAGE",
        iT = "AMP_URL_INFO";
    (d = S || (S = {})).Direct = "direct", d.Internal = "internal", d.External = "external";
    var ik = new Set([h.IDENTIFY, h.GROUP_IDENTIFY, h.REVENUE]),
        iI = function(e) {
            var t = (void 0 === e ? {} : e).internalDomains,
                n = void 0 === t ? [] : t,
                r = tx(),
                i = void 0,
                o = !1,
                a = void 0,
                s = !1,
                u = !1,
                c = function(e) {
                    var t;
                    try {
                        var n = rN(e, a);
                        t = new URL(n).hostname
                    } catch (e) {
                        null == a || a.error("Could not parse URL: ", e)
                    }
                    return t
                },
                l = function(e) {
                    var t = "u" > typeof location && location.hostname || "",
                        r = e ? c(e) : void 0;
                    if (!r) return S.Direct;
                    var i = n.some(function(e) {
                            return -1 !== t.indexOf(e)
                        }),
                        o = n.some(function(e) {
                            return -1 !== r.indexOf(e)
                        });
                    return t === r || o && i ? S.Internal : S.External
                },
                d = function() {
                    (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var e, t, n, r, a;
                        return (0, k.__generator)(this, function(s) {
                            switch (s.label) {
                                case 0:
                                    if (!(i && o)) return [3, 3];
                                    return [4, i.get(iT)];
                                case 1:
                                    return e = s.sent(), t = rN("u" > typeof location && location.href || ""), n = (null == e ? void 0 : e[iE]) || "", r = void 0, r = t === n ? (null == e ? void 0 : e[iS]) || "" : n || document.referrer || "", [4, i.set(iT, ((a = {})[iE] = t, a[iS] = r, a))];
                                case 2:
                                    s.sent(), s.label = 3;
                                case 3:
                                    return [2]
                            }
                        })
                    })
                };
            return {
                name: "@amplitude/plugin-page-url-enrichment-browser",
                type: "enrichment",
                setup: function(e, t) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var t;
                        return (0, k.__generator)(this, function(n) {
                            switch (n.label) {
                                case 0:
                                    if ((a = e.loggerProvider).log("Installing @amplitude/plugin-page-url-enrichment-browser"), u = !0, !r) return [3, 2];
                                    try {
                                        i = new tJ(r.sessionStorage)
                                    } catch (e) {
                                        null == a || a.debug("sessionStorage is not available in this environment.")
                                    }
                                    return [4, null == i ? void 0 : i.isEnabled()];
                                case 1:
                                    o = null != (t = n.sent()) && t, r.addEventListener("popstate", d), s || (r.history.pushState = new Proxy(r.history.pushState, {
                                        apply: function(e, t, n) {
                                            var r = (0, k.__read)(n, 3),
                                                i = r[0],
                                                o = r[1],
                                                a = r[2];
                                            e.apply(t, [i, o, a]), u && d()
                                        }
                                    }), r.history.replaceState = new Proxy(r.history.replaceState, {
                                        apply: function(e, t, n) {
                                            var r = (0, k.__read)(n, 3),
                                                i = r[0],
                                                o = r[1],
                                                a = r[2];
                                            e.apply(t, [i, o, a]), u && d()
                                        }
                                    }), s = !0), n.label = 2;
                                case 2:
                                    return [2]
                            }
                        })
                    })
                },
                execute: function(e) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var t, n, r, a, s;
                        return (0, k.__generator)(this, function(u) {
                            switch (u.label) {
                                case 0:
                                    if (t = rN("u" > typeof location && location.href || ""), !(i && o)) return [3, 5];
                                    return [4, i.get(iT)];
                                case 1:
                                    if (null == (n = u.sent()) ? void 0 : n[iE]) return [3, 3];
                                    return [4, i.set(iT, ((s = {})[iE] = t, s[iS] = document.referrer || "", s))];
                                case 2:
                                    u.sent(), u.label = 3;
                                case 3:
                                    return [4, i.get(iT)];
                                case 4:
                                    if (r = u.sent(), a = "", r && (a = r[iS] || ""), ik.has(e.event_type)) return [2, e];
                                    e.event_properties = (0, k.__assign)((0, k.__assign)({}, e.event_properties || {}), {
                                        "[Amplitude] Page Domain": iC(e, "[Amplitude] Page Domain", "u" > typeof location && location.hostname || ""),
                                        "[Amplitude] Page Location": iC(e, "[Amplitude] Page Location", t),
                                        "[Amplitude] Page Path": iC(e, "[Amplitude] Page Path", "u" > typeof location && rN(location.pathname) || ""),
                                        "[Amplitude] Page Title": iC(e, "[Amplitude] Page Title", tP(tA)),
                                        "[Amplitude] Page URL": iC(e, "[Amplitude] Page URL", t.split("?")[0]),
                                        "[Amplitude] Previous Page Location": a,
                                        "[Amplitude] Previous Page Type": l(a)
                                    }), u.label = 5;
                                case 5:
                                    return [2, e]
                            }
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(e) {
                            switch (e.label) {
                                case 0:
                                    if (r && (r.removeEventListener("popstate", d), u = !1), !(i && o)) return [3, 2];
                                    return [4, i.set(iT, {})];
                                case 1:
                                    e.sent(), e.label = 2;
                                case 2:
                                    return [2]
                            }
                        })
                    })
                }
            }
        };

    function iC(e, t, n) {
        return (e.event_properties || (e.event_properties = {}), void 0 === e.event_properties[t]) ? n : e.event_properties[t]
    }
    var iA = function() {
            var e, t, n;

            function r(t) {
                if (t) try {
                    var n = Function("return " + t)();
                    if ("function" == typeof n) return n;
                    null == e || e.error("Custom enrichment body did not evaluate to a function")
                } catch (t) {
                    null == e || e.error("Could not create custom enrichment function", t)
                }
                return function(e) {
                    return e
                }
            }
            return {
                name: "@amplitude/plugin-custom-enrichment-browser",
                type: "enrichment",
                setup: function(i, o) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var o, a;
                        return (0, k.__generator)(this, function(s) {
                            return null == (e = i.loggerProvider) || e.log("Installing @amplitude/plugin-custom-enrichment-browser"), (null == (a = i.remoteConfig) ? void 0 : a.fetchRemoteConfig) && (i.remoteConfigClient ? (o = i.remoteConfigClient.subscribe("configs.analyticsSDK.browserSDK.customEnrichment", "all", function(e) {
                                n = e && "object" == typeof e && null !== e && "body" in e && "string" == typeof e.body ? r(e.body || "") : r("")
                            }), t = function() {
                                var e;
                                return null == (e = i.remoteConfigClient) ? void 0 : e.unsubscribe(o)
                            }) : null == e || e.debug("Remote config client is not provided, skipping remote config fetch")), [2]
                        })
                    })
                },
                execute: function(t) {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        var r;
                        return (0, k.__generator)(this, function(i) {
                            if (n) try {
                                return [2, null != (r = n(t)) ? r : null]
                            } catch (t) {
                                null == e || e.error("Could not execute custom enrichment function", t)
                            }
                            return [2, t]
                        })
                    })
                },
                teardown: function() {
                    return (0, k.__awaiter)(void 0, void 0, void 0, function() {
                        return (0, k.__generator)(this, function(e) {
                            return t && t(), [2]
                        })
                    })
                }
            }
        },
        iP = "userProperty",
        ix = "eventProperty",
        iO = function(e) {
            return e === iP || e === ix
        },
        iR = function(e) {
            var t = (0, k.__spreadArray)([], (0, k.__read)(new Set((Array.isArray(e) ? e : [e]).filter(iO))), !1);
            return t.length > 0 ? t : [iP]
        },
        iL = function(e, t) {
            return iR(e.trackingMethod).includes(t)
        },
        iD = function(e) {
            return iL(e, iP)
        },
        iN = function(e) {
            function t() {
                var t = null !== e && e.apply(this, arguments) || this;
                return t._diagnosticsSampleRate = 0, t
            }
            return (0, k.__extends)(t, e), t.prototype.init = function(e, t, n) {
                var r, i;
                return void 0 === e && (e = ""), arguments.length > 2 ? (r = t, i = n) : "string" == typeof t ? (r = t, i = void 0) : (r = null == t ? void 0 : t.userId, i = t), (0, F.returnWrapper)(this._init((0, k.__assign)((0, k.__assign)({}, i), {
                    userId: r,
                    apiKey: e
                })))
            }, t.prototype._init = function(t) {
                var n, r, i, o, a, s, u, c;
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var l, d, f, p, g, h, v, m, _, y, b, w, E, S, T = this;
                    return (0, k.__generator)(this, function(I) {
                        var A, P, x, O, R, L, N, M, U;
                        switch (I.label) {
                            case 0:
                                if (this.initializing) return [2];
                                if (this.initializing = !0, l = tE(t), d = null != (n = t.loggerProvider) ? n : new eh.Logger, t.loggerProvider || d.enable(null != (r = t.logLevel) ? r : e_.LogLevel.Warn), f = null != (i = t.serverZone) ? i : "US", g = this._diagnosticsSampleRate, h = null == (o = t.enableDiagnostics) || o, !l) return [3, 2];
                                return p = new ee.RemoteConfigClient(t.apiKey, d, f, null == (a = t.remoteConfig) ? void 0 : a.serverUrl), [4, new Promise(function(e) {
                                    null == p || p.subscribe("configs.diagnostics.browserSDK", "all", function(t, n, r) {
                                        if (d.debug("Diagnostics remote configuration received:", JSON.stringify({
                                                remoteConfig: t,
                                                source: n,
                                                lastFetch: r
                                            }, null, 2)), t) {
                                            var i = t.sampleRate;
                                            "number" != typeof i || isNaN(i) || (g = i);
                                            var o = t.enabled;
                                            "boolean" == typeof o && (h = o)
                                        }
                                        e()
                                    })
                                })];
                            case 1:
                                I.sent(), I.label = 2;
                            case 2:
                                return (v = new eg(t.apiKey, d, f, {
                                    enabled: h,
                                    sampleRate: g
                                })).setTag("library", "".concat(eU, "/").concat(eM)), "u" > typeof navigator && v.setTag("user_agent", navigator.userAgent), [4, (A = t.apiKey, P = t, x = this, O = v, R = {
                                    loggerProvider: d,
                                    serverZone: f,
                                    enableDiagnostics: h,
                                    diagnosticsSampleRate: g
                                }, void 0 === P && (P = {}), (0, k.__awaiter)(void 0, void 0, void 0, function() {
                                    var e, t, n, r, i, o, a, s, u, c, l, d, f, p, g, h, v, m, _, y, b, w, E, S, T, I, L, N, M, U, j, F, q, B, W, V, H, G, z, K, J, $, X, Y, Z, ee, et, en, er, ei, eo;
                                    return (0, k.__generator)(this, function(ea) {
                                        var es, eu, ec, el;
                                        switch (ea.label) {
                                            case 0:
                                                if (e = P.identityStorage || tu, t = "", !(e === tu && !(null == (w = P.cookieOptions) ? void 0 : w.domain) && (null == (E = P.cookieOptions) ? void 0 : E.domain) !== "")) return [3, 2];
                                                return [4, (es = void 0, eu = O, (0, k.__awaiter)(void 0, void 0, void 0, function() {
                                                    var e, t, n, r, i, o, a;
                                                    return (0, k.__generator)(this, function(s) {
                                                        switch (s.label) {
                                                            case 0:
                                                                return [4, new eB(void 0, {
                                                                    diagnosticsClient: eu
                                                                }).isEnabled()];
                                                            case 1:
                                                                if (!s.sent() || !es && ("u" < typeof location || !location.hostname) || 1 === (t = (e = null != es ? es : location.hostname).split(".")).length) return [2, ""];
                                                                for (n = [], r = 1, tm.find(function(t) {
                                                                        return e.endsWith(".".concat(t))
                                                                    }) && (r = 2), i = t.length - r - 1; i >= 0; --i) n.push(t.slice(i).join("."));
                                                                i = 0, s.label = 2;
                                                            case 2:
                                                                if (!(i < n.length)) return [3, 7];
                                                                o = n[i], s.label = 3;
                                                            case 3:
                                                                return s.trys.push([3, 5, , 6]), [4, eB.isDomainWritable(o)];
                                                            case 4:
                                                                if (s.sent()) return [2, "." + o];
                                                                return [3, 6];
                                                            case 5:
                                                                return a = s.sent(), eu && eu.recordEvent("cookies.tld.failure", {
                                                                    reason: "Unexpected exception checking domain is writable: ".concat(o),
                                                                    error: a instanceof Error ? a.message : String(a)
                                                                }), [3, 6];
                                                            case 6:
                                                                return i++, [3, 2];
                                                            case 7:
                                                                return eu && eu.recordEvent("cookies.tld.failure", {
                                                                    reason: "Could not determine TLD for host ".concat(e)
                                                                }), [2, ""]
                                                        }
                                                    })
                                                }))];
                                            case 1:
                                                t = ea.sent(), ea.label = 2;
                                            case 2:
                                                return n = (0, k.__assign)({
                                                    domain: null != (T = null == (S = P.cookieOptions) ? void 0 : S.domain) ? T : t,
                                                    expiration: 365,
                                                    sameSite: "Lax",
                                                    secure: !1,
                                                    upgrade: !0
                                                }, P.cookieOptions), r = {
                                                    duplicateResolverFn: function(e) {
                                                        var t = eH(e);
                                                        return !!t && eG(JSON.parse(t).cookieDomain, n.domain)
                                                    },
                                                    diagnosticsClient: O
                                                }, [4, (ec = i = tw(P.identityStorage, n, r), void 0 === (el = null == (L = null == (I = P.cookieOptions) ? void 0 : I.upgrade) || L) && (el = !0), (0, k.__awaiter)(void 0, void 0, void 0, function() {
                                                    var e, t, n, r, i, o, a, s, u;
                                                    return (0, k.__generator)(this, function(c) {
                                                        switch (c.label) {
                                                            case 0:
                                                                return e = "".concat(C.AMPLITUDE_PREFIX.toLowerCase(), "_").concat(A.substring(0, 6)), [4, ec.getRaw(e)];
                                                            case 1:
                                                                if (!(t = c.sent())) return [2, {
                                                                    optOut: !1
                                                                }];
                                                                if (!el) return [3, 3];
                                                                return [4, ec.remove(e)];
                                                            case 2:
                                                                c.sent(), c.label = 3;
                                                            case 3:
                                                                return r = (n = (0, k.__read)(t.split("."), 6))[0], i = n[1], o = n[2], a = n[3], s = n[4], u = n[5], [2, {
                                                                    deviceId: r,
                                                                    userId: e3(i),
                                                                    sessionId: e2(a),
                                                                    lastEventId: e2(u),
                                                                    lastEventTime: e2(s),
                                                                    optOut: !!o
                                                                }]
                                                        }
                                                    })
                                                }))];
                                            case 3:
                                                return o = ea.sent(), [4, i.get(ez(A))];
                                            case 4:
                                                return a = ea.sent(), c = !(u = (s = Q()).ampTimestamp ? Number(s.ampTimestamp) : void 0) || Date.now() < u, l = null != (F = null != (j = null != (U = null != (N = P.deviceId) ? N : c ? null != (M = s.ampDeviceId) ? M : s.deviceId : void 0) ? U : null == a ? void 0 : a.deviceId) ? j : o.deviceId) ? F : (0, D.UUID)(), d = null != (q = null == a ? void 0 : a.lastEventId) ? q : o.lastEventId, f = null != (B = null == a ? void 0 : a.lastEventTime) ? B : o.lastEventTime, p = null != (V = null != (W = P.optOut) ? W : null == a ? void 0 : a.optOut) ? V : o.optOut, g = null != (H = null == a ? void 0 : a.sessionId) ? H : o.sessionId, h = null == a ? void 0 : a.deferredSessionId, v = null != (z = null != (G = P.userId) ? G : null == a ? void 0 : a.userId) ? z : o.userId, x.previousSessionDeviceId = null != (K = null == a ? void 0 : a.deviceId) ? K : o.deviceId, x.previousSessionUserId = null != (J = null == a ? void 0 : a.userId) ? J : o.userId, m = {
                                                    ipAddress: null == (X = null == ($ = P.trackingOptions) ? void 0 : $.ipAddress) || X,
                                                    language: null == (Z = null == (Y = P.trackingOptions) ? void 0 : Y.language) || Z,
                                                    platform: null == (et = null == (ee = P.trackingOptions) ? void 0 : ee.platform) || et
                                                }, _ = null == a ? void 0 : a.pageCounter, y = null == a ? void 0 : a.debugLogsEnabled, void 0 !== P.autocapture && (P.defaultTracking = P.autocapture), [4, (b = new tb(A, P.appVersion, i, n, P.defaultTracking, P.autocapture, l, P.flushIntervalMillis, P.flushMaxRetries, P.flushQueueSize, e, P.ingestionMetadata, P.instanceName, d, f, null != (en = null == R ? void 0 : R.loggerProvider) ? en : P.loggerProvider, P.logLevel, P.minIdLength, P.offline, p, P.partnerId, P.plan, P.serverUrl, null != (er = null == R ? void 0 : R.serverZone) ? er : P.serverZone, g, h, P.sessionTimeout, P.storageProvider, m, P.transport, P.useBatch, P.fetchRemoteConfig, v, _, y, P.networkTrackingOptions, P.identify, null != (ei = null == R ? void 0 : R.enableDiagnostics) ? ei : P.enableDiagnostics, null != (eo = null == R ? void 0 : R.diagnosticsSampleRate) ? eo : x._diagnosticsSampleRate, O, P.remoteConfig, t, P.enableRequestBodyCompression, P.customEnrichment)).storageProvider.isEnabled()];
                                            case 5:
                                                return ea.sent() || (b.loggerProvider.warn("Storage provider ".concat(b.storageProvider.constructor.name, " is not enabled. Falling back to MemoryStorage.")), b.storageProvider = new eF), [2, b]
                                        }
                                    })
                                }))];
                            case 3:
                                if (m = I.sent(), !(l && p)) return [3, 5];
                                return [4, new Promise(function(e) {
                                    null == p || p.subscribe("configs.analyticsSDK.browserSDK", "all", function(t, n, r) {
                                        m.loggerProvider.debug("Remote configuration received:", JSON.stringify({
                                            remoteConfig: t,
                                            source: n,
                                            lastFetch: r
                                        }, null, 2)), t && function(e, t) {
                                            if (e) {
                                                ! function e(t) {
                                                    if ("object" == typeof t && null !== t && !Array.isArray(t)) {
                                                        var n, r, i, o, a, s, u, c, l, d, f, p, g = Object.keys(t);
                                                        try {
                                                            for (var h = (0, k.__values)(g), v = h.next(); !v.done; v = h.next()) {
                                                                var m = v.value;
                                                                try {
                                                                    var _ = t[m];
                                                                    "boolean" == typeof(null == _ ? void 0 : _.enabled) && (_.enabled ? (delete _.enabled, 0 === Object.keys(_).length && (t[m] = !0)) : t[m] = !1), e(_)
                                                                } catch (e) {}
                                                            }
                                                        } catch (e) {
                                                            n = {
                                                                error: e
                                                            }
                                                        } finally {
                                                            try {
                                                                v && !v.done && (r = h.return) && r.call(h)
                                                            } finally {
                                                                if (n) throw n.error
                                                            }
                                                        }
                                                        try {
                                                            if (null == (l = null == (c = null == (u = t.autocapture) ? void 0 : u.networkTracking) ? void 0 : c.captureRules) ? void 0 : l.length) try {
                                                                for (var y = (0, k.__values)(t.autocapture.networkTracking.captureRules), b = y.next(); !b.done; b = y.next()) {
                                                                    var w = b.value;
                                                                    try {
                                                                        for (var E = (a = void 0, (0, k.__values)(["responseHeaders", "requestHeaders"])), S = E.next(); !S.done; S = E.next()) {
                                                                            var T = S.value,
                                                                                I = null != (d = w[T]) ? d : {},
                                                                                A = I.captureSafeHeaders,
                                                                                P = I.allowlist;
                                                                            if (A || P) {
                                                                                if (void 0 !== P && !Array.isArray(P)) {
                                                                                    delete w[T];
                                                                                    continue
                                                                                }
                                                                                w[T] = (0, k.__spreadArray)((0, k.__spreadArray)([], (0, k.__read)(A ? C.SAFE_HEADERS : []), !1), (0, k.__read)(null != P ? P : []), !1)
                                                                            }
                                                                        }
                                                                    } catch (e) {
                                                                        a = {
                                                                            error: e
                                                                        }
                                                                    } finally {
                                                                        try {
                                                                            S && !S.done && (s = E.return) && s.call(E)
                                                                        } finally {
                                                                            if (a) throw a.error
                                                                        }
                                                                    }
                                                                }
                                                            } catch (e) {
                                                                i = {
                                                                    error: e
                                                                }
                                                            } finally {
                                                                try {
                                                                    b && !b.done && (o = y.return) && o.call(y)
                                                                } finally {
                                                                    if (i) throw i.error
                                                                }
                                                            }
                                                        } catch (e) {}
                                                        var x = null == (f = t.autocapture) ? void 0 : f.frustrationInteractions;
                                                        x && (x.rageClick && (x.rageClicks = x.rageClick, delete x.rageClick), x.deadClick && (x.deadClicks = x.deadClick, delete x.deadClick));
                                                        try {
                                                            var O = null == (p = t.autocapture) ? void 0 : p.elementInteractions;
                                                            if (O && "object" == typeof O && (!0 === O.viewportContentUpdated && (O.viewportContentUpdated = {}), !1 === O.viewportContentUpdated && (O.viewportContentUpdated = {
                                                                    enabled: !1
                                                                }), void 0 !== O.exposureDuration)) {
                                                                var R = O.viewportContentUpdated;
                                                                void 0 === R ? O.viewportContentUpdated = {
                                                                    exposureDuration: O.exposureDuration
                                                                } : "object" == typeof R && void 0 === R.exposureDuration && !1 !== R.enabled && (R.exposureDuration = O.exposureDuration), delete O.exposureDuration
                                                            }
                                                        } catch (e) {}
                                                    }
                                                }(e);
                                                try {
                                                    var n, r, i, o, a, s, u;
                                                    if (t.loggerProvider.debug("Update browser config with remote configuration:", JSON.stringify(e)), e && "autocapture" in e) {
                                                        if ("boolean" == typeof e.autocapture && (t.autocapture = e.autocapture), "object" == typeof e.autocapture && null !== e.autocapture) {
                                                            var c = (0, k.__assign)({}, e.autocapture);
                                                            if (void 0 === t.autocapture && (t.autocapture = e.autocapture), "object" == typeof e.autocapture.elementInteractions && null !== e.autocapture.elementInteractions && (null == (i = e.autocapture.elementInteractions.pageUrlAllowlistRegex) ? void 0 : i.length)) {
                                                                c.elementInteractions = (0, k.__assign)({}, e.autocapture.elementInteractions);
                                                                var l = c.elementInteractions,
                                                                    d = null != (o = l.pageUrlAllowlist) ? o : [],
                                                                    f = e.autocapture.elementInteractions.pageUrlAllowlistRegex;
                                                                l.pageUrlAllowlist = ne(d, f, t), delete l.pageUrlAllowlistRegex
                                                            }
                                                            if ("object" == typeof e.autocapture.networkTracking && null !== e.autocapture.networkTracking && (null == (a = e.autocapture.networkTracking.captureRules) ? void 0 : a.length)) {
                                                                c.networkTracking = (0, k.__assign)({}, e.autocapture.networkTracking);
                                                                var p = null != (s = c.networkTracking.captureRules) ? s : [];
                                                                try {
                                                                    for (var g = (0, k.__values)(p), h = g.next(); !h.done; h = g.next()) {
                                                                        var v = h.value;
                                                                        v.urls = ne(null != (u = v.urls) ? u : [], v.urlsRegex, t), delete v.urlsRegex
                                                                    }
                                                                } catch (e) {
                                                                    n = {
                                                                        error: e
                                                                    }
                                                                } finally {
                                                                    try {
                                                                        h && !h.done && (r = g.return) && r.call(g)
                                                                    } finally {
                                                                        if (n) throw n.error
                                                                    }
                                                                }
                                                            }
                                                            "boolean" == typeof t.autocapture && (t.autocapture = (0, k.__assign)({
                                                                attribution: t.autocapture,
                                                                fileDownloads: t.autocapture,
                                                                formInteractions: t.autocapture,
                                                                pageViews: t.autocapture,
                                                                sessions: t.autocapture,
                                                                elementInteractions: t.autocapture,
                                                                webVitals: t.autocapture,
                                                                frustrationInteractions: t.autocapture
                                                            }, c)), "object" == typeof t.autocapture && (t.autocapture = (0, k.__assign)((0, k.__assign)({}, t.autocapture), c))
                                                        }
                                                        t.defaultTracking = t.autocapture
                                                    }
                                                    "customEnrichment" in e && null !== e.customEnrichment && !1 !== t.customEnrichment && (t.customEnrichment = e.customEnrichment), t.loggerProvider.debug("Browser config after remote config update:", JSON.stringify(t))
                                                } catch (e) {
                                                    t.loggerProvider.error("Failed to apply remote configuration because of error: ", e)
                                                }
                                            }
                                        }(t, m), e()
                                    })
                                })];
                            case 4:
                                I.sent(), I.label = 5;
                            case 5:
                                return [4, e.prototype._init.call(this, m)];
                            case 6:
                                if (I.sent(), this.logBrowserOptions(m), this.config.remoteConfigClient = p, _ = eb((L = this.config).defaultTracking) && L.defaultTracking && "object" == typeof L.defaultTracking && L.defaultTracking.attribution && "object" == typeof L.defaultTracking.attribution ? (0, k.__assign)({}, L.defaultTracking.attribution) : {}, !(eb(this.config.defaultTracking) && iD(_))) return [3, 8];
                                return this.config.optOut && this.timeline.addOptOutListener(function(e) {
                                    return (0, k.__awaiter)(T, void 0, void 0, function() {
                                        return (0, k.__generator)(this, function(t) {
                                            switch (t.label) {
                                                case 0:
                                                    if (e) return [3, 2];
                                                    return this.webAttribution = new iy(_, this.config), [4, this.webAttribution.init()];
                                                case 1:
                                                    t.sent(), t.label = 2;
                                                case 2:
                                                    return [2]
                                            }
                                        })
                                    })
                                }), this.webAttribution = new iy(_, this.config), [4, this.webAttribution.init()];
                            case 7:
                                I.sent(), I.label = 8;
                            case 8:
                                if (w = !(!(b = (y = Q()).ampTimestamp ? Number(y.ampTimestamp) : void 0) || Date.now() < b) || Number.isNaN(Number(y.ampSessionId)) ? void 0 : Number(y.ampSessionId), -1 !== (E = this.config.deferredSessionId) || this.config.optOut || (E = Date.now()), this.setSessionId(null != (c = null != (u = null != (s = t.sessionId) ? s : w) ? u : E) ? c : this.config.sessionId), this.config.optOut && this.timeline.addOptOutListener(function(e) {
                                        return (0, k.__awaiter)(T, void 0, void 0, function() {
                                            return (0, k.__generator)(this, function(t) {
                                                return !e && this.config.deferredSessionId && (-1 === this.config.deferredSessionId ? this.setSessionId(void 0) : this.setSessionId(this.config.deferredSessionId)), [2]
                                            })
                                        })
                                    }), (S = (0, J.getAnalyticsConnector)(t.instanceName)).identityStore.setIdentity({
                                        userId: this.config.userId,
                                        deviceId: this.config.deviceId
                                    }), null === this.config.offline) return [3, 10];
                                return [4, this.add(t9()).promise];
                            case 9:
                                I.sent(), I.label = 10;
                            case 10:
                                return [4, this.add(new z({
                                    diagnosticsClient: v
                                })).promise];
                            case 11:
                                return I.sent(), [4, this.add(new ej).promise];
                            case 12:
                                return I.sent(), [4, this.add(new X).promise];
                            case 13:
                                if (I.sent(), t7(this.config), !ey(this.config.defaultTracking, "fileDownloads")) return [3, 15];
                                return this.config.loggerProvider.debug("Adding file download tracking plugin"), [4, this.add(t6()).promise];
                            case 14:
                                I.sent(), I.label = 15;
                            case 15:
                                if (!ew(this.config.defaultTracking)) return [3, 17];
                                return this.config.loggerProvider.debug("Adding form interaction plugin"), [4, this.add(t3()).promise];
                            case 16:
                                I.sent(), I.label = 17;
                            case 17:
                                if (!eE(this.config.defaultTracking)) return [3, 20];
                                if (this.config.optOut) return [3, 19];
                                return this.config.loggerProvider.debug("Adding page view tracking plugin"), [4, this.add(tZ(eO(this.config))).promise];
                            case 18:
                                return I.sent(), [3, 20];
                            case 19:
                                this.timeline.addOptOutListener(function(e) {
                                    return (0, k.__awaiter)(T, void 0, void 0, function() {
                                        return (0, k.__generator)(this, function(t) {
                                            switch (t.label) {
                                                case 0:
                                                    if (e) return [2];
                                                    return this.config.loggerProvider.debug("Adding page view tracking plugin"), [4, this.add(tZ(eO(this.config))).promise];
                                                case 1:
                                                    return t.sent(), [2]
                                            }
                                        })
                                    })
                                }), I.label = 20;
                            case 20:
                                if (!(eb(this.config.defaultTracking) && iL(_, ix))) return [3, 22];
                                return this.config.loggerProvider.debug("Adding event property attribution plugin"), [4, this.add(iw(_)).promise];
                            case 21:
                                I.sent(), I.label = 22;
                            case 22:
                                if (!ek(this.config.autocapture)) return [3, 24];
                                return this.config.loggerProvider.debug("Adding user interactions plugin (autocapture plugin)"), [4, this.add(rr(eA(this.config), {
                                    diagnosticsClient: v
                                })).promise];
                            case 23:
                                I.sent(), I.label = 24;
                            case 24:
                                if (!eI(this.config.autocapture)) return [3, 26];
                                return this.config.loggerProvider.debug("Adding frustration interactions plugin"), [4, this.add(rv(eP(this.config))).promise];
                            case 25:
                                I.sent(), I.label = 26;
                            case 26:
                                if (!eT(this.config.autocapture)) return [3, 28];
                                return this.config.loggerProvider.debug("Adding network tracking plugin"), [4, this.add(rW(ex(this.config))).promise];
                            case 27:
                                I.sent(), I.label = 28;
                            case 28:
                                if (!("boolean" == typeof(N = this.config.autocapture) ? N : "object" == typeof N && !0 === N.webVitals)) return [3, 30];
                                return this.config.loggerProvider.debug("Adding web vitals plugin"), [4, this.add(iv()).promise];
                            case 29:
                                I.sent(), I.label = 30;
                            case 30:
                                if ("object" != typeof(M = this.config.autocapture) || !0 !== M.performanceTracking && "object" != typeof M.performanceTracking) return [3, 32];
                                return this.config.loggerProvider.debug("Adding performance tracking plugin"), [4, this.add(r_(eC(this.config))).promise];
                            case 31:
                                I.sent(), I.label = 32;
                            case 32:
                                if (!ey(this.config.autocapture, "pageUrlEnrichment")) return [3, 34];
                                return this.config.loggerProvider.debug("Adding referrer page url plugin"), [4, this.add(iI()).promise];
                            case 33:
                                I.sent(), I.label = 34;
                            case 34:
                                if (!("boolean" == typeof(U = this.config.customEnrichment) ? U : "object" == typeof U && null !== U && !1 !== U.enabled)) return [3, 36];
                                return this.config.loggerProvider.debug("Adding custom enrichment plugin"), [4, this.add(iA()).promise];
                            case 35:
                                I.sent(), I.label = 36;
                            case 36:
                                return this.initializing = !1, [4, this.runQueuedFunctions("dispatchQ")];
                            case 37:
                                return I.sent(), S.eventBridge.setEventReceiver(function(e) {
                                    var t = e.eventProperties || {},
                                        n = t.time,
                                        r = (0, k.__rest)(t, ["time"]);
                                    T.track(e.eventType, r, "number" == typeof n ? {
                                        time: n
                                    } : void 0)
                                }), [2]
                        }
                    })
                })
            }, t.prototype.getUserId = function() {
                var e;
                return null == (e = this.config) ? void 0 : e.userId
            }, t.prototype.setUserId = function(e) {
                this.config ? (this.config.loggerProvider.debug("function setUserId: ", e), (e !== this.config.userId || void 0 === e) && (this.config.userId = e, this.timeline.onIdentityChanged({
                    userId: e
                }), (0, J.setConnectorUserId)(e, this.config.instanceName))) : this.q.push(this.setUserId.bind(this, e))
            }, t.prototype.getDeviceId = function() {
                var e;
                return null == (e = this.config) ? void 0 : e.deviceId
            }, t.prototype.setDeviceId = function(e) {
                this.config ? (this.config.loggerProvider.debug("function setDeviceId: ", e), e !== this.config.deviceId && (this.config.deviceId = e, this.timeline.onIdentityChanged({
                    deviceId: e
                }), (0, J.setConnectorDeviceId)(e, this.config.instanceName))) : this.q.push(this.setDeviceId.bind(this, e))
            }, t.prototype.reset = function() {
                this.setDeviceId((0, D.UUID)()), this.setUserId(void 0), this.timeline.onReset()
            }, t.prototype.getIdentity = function() {
                var e, t;
                return {
                    deviceId: null == (e = this.config) ? void 0 : e.deviceId,
                    userId: null == (t = this.config) ? void 0 : t.userId,
                    userProperties: this.userProperties
                }
            }, t.prototype.setIdentity = function(e) {
                if ("userId" in e && this.setUserId(e.userId), "deviceId" in e && e.deviceId && this.setDeviceId(e.deviceId), "userProperties" in e) {
                    this.userProperties = e.userProperties;
                    var t, n, r, i = new x,
                        o = null != (r = e.userProperties) ? r : {};
                    try {
                        for (var a = (0, k.__values)(Object.entries(o)), s = a.next(); !s.done; s = a.next()) {
                            var u = (0, k.__read)(s.value, 2),
                                c = u[0],
                                l = u[1];
                            i.set(c, l)
                        }
                    } catch (e) {
                        t = {
                            error: e
                        }
                    } finally {
                        try {
                            s && !s.done && (n = a.return) && n.call(a)
                        } finally {
                            if (t) throw t.error
                        }
                    }
                    this.identify(i)
                }
            }, t.prototype.getOptOut = function() {
                var e;
                return null == (e = this.config) ? void 0 : e.optOut
            }, t.prototype.getSessionId = function() {
                var e;
                return null == (e = this.config) ? void 0 : e.sessionId
            }, t.prototype.setSessionId = function(e) {
                var t, n = [];
                if (!this.config) return this.q.push(this.setSessionId.bind(this, e)), (0, F.returnWrapper)(Promise.resolve());
                if (this.config.optOut) return this.config.deferredSessionId = null != e ? e : -1, (0, F.returnWrapper)(Promise.resolve());
                if (void 0 === e && (e = Date.now()), e === this.config.sessionId) return (0, F.returnWrapper)(Promise.resolve());
                this.config.loggerProvider.debug("function setSessionId: ", e);
                var r = this.getSessionId();
                r !== e && this.timeline.onSessionIdChanged(e);
                var i = this.config.lastEventTime,
                    o = null != (t = this.config.lastEventId) ? t : -1;
                this.config.sessionId = e, this.config.lastEventTime = void 0, this.config.pageCounter = 0, eS(this.config.defaultTracking) && (r && i && n.push(this.track(e9, void 0, {
                    device_id: this.previousSessionDeviceId,
                    event_id: ++o,
                    session_id: r,
                    time: i + 1,
                    user_id: this.previousSessionUserId
                }).promise), this.config.lastEventTime = this.config.sessionId);
                var a = this.trackCampaignEventIfNeeded(++o, n);
                return this.config.identify && n.push(this.track(M(this.config.identify)).promise), eS(this.config.defaultTracking) && n.push(this.track(e7, void 0, {
                    event_id: a ? ++o : o,
                    session_id: this.config.sessionId,
                    time: this.config.lastEventTime
                }).promise), this.previousSessionDeviceId = this.config.deviceId, this.previousSessionUserId = this.config.userId, (0, F.returnWrapper)(Promise.all(n))
            }, t.prototype.extendSession = function() {
                this.config ? this.config.lastEventTime = Date.now() : this.q.push(this.extendSession.bind(this))
            }, t.prototype.setTransport = function(e) {
                this.config ? this.config.transportProvider = tS(e) : this.q.push(this.setTransport.bind(this, e))
            }, t.prototype.identify = function(t, n) {
                if (eD(t)) {
                    var r = t._q;
                    t._q = [], t = eL(new x, r)
                }
                return (null == n ? void 0 : n.user_id) && this.setUserId(n.user_id), (null == n ? void 0 : n.device_id) && this.setDeviceId(n.device_id), e.prototype.identify.call(this, t, n)
            }, t.prototype.groupIdentify = function(t, n, r, i) {
                if (eD(r)) {
                    var o = r._q;
                    r._q = [], r = eL(new x, o)
                }
                return e.prototype.groupIdentify.call(this, t, n, r, i)
            }, t.prototype.revenue = function(t, n) {
                if (eD(t)) {
                    var r = t._q;
                    t._q = [], t = eL(new K, r)
                }
                return e.prototype.revenue.call(this, t, n)
            }, t.prototype.trackCampaignEventIfNeeded = function(e, t) {
                if (!this.webAttribution || !this.webAttribution.shouldTrackNewCampaign || !iD(this.webAttribution.options)) return !1;
                var n = this.webAttribution.generateCampaignEvent(e);
                return t ? t.push(this.track(n).promise) : this.track(n), this.config.loggerProvider.log("Tracking attribution."), !0
            }, t.prototype.process = function(t) {
                return (0, k.__awaiter)(this, void 0, void 0, function() {
                    var n, r, i;
                    return (0, k.__generator)(this, function(o) {
                        return n = Date.now(), r = $(this.config.sessionTimeout, this.config.lastEventTime), i = this.webAttribution && this.webAttribution.shouldSetSessionIdOnNewCampaign(), t.event_type !== e7 && t.event_type !== e9 && (!t.session_id || t.session_id === this.getSessionId()) && (r || i ? (this.setSessionId(n), i && this.config.loggerProvider.log("Created a new session for new campaign.")) : r || this.trackCampaignEventIfNeeded()), [2, e.prototype.process.call(this, t)]
                    })
                })
            }, t.prototype.logBrowserOptions = function(e) {
                try {
                    var t = (0, k.__assign)((0, k.__assign)({}, e), {
                        apiKey: e.apiKey.substring(0, 10) + "********"
                    });
                    this.config.loggerProvider.debug("Initialized Amplitude with BrowserConfig:", em(t))
                } catch (e) {
                    this.config.loggerProvider.error("Error logging browser config", e)
                }
            }, t.prototype._setDiagnosticsSampleRate = function(e) {
                if (!(e > 1) && !(e < 0) && !this.config) {
                    this._diagnosticsSampleRate = e;
                    return
                }
            }, t
        }(q),
        iM = function() {
            var e = new iN;
            return {
                init: (0, T.debugWrapper)(e.init.bind(e), "init", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                add: (0, T.debugWrapper)(e.add.bind(e), "add", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.plugins"])),
                remove: (0, T.debugWrapper)(e.remove.bind(e), "remove", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.plugins"])),
                track: (0, T.debugWrapper)(e.track.bind(e), "track", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.queue.length"])),
                logEvent: (0, T.debugWrapper)(e.logEvent.bind(e), "logEvent", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.queue.length"])),
                identify: (0, T.debugWrapper)(e.identify.bind(e), "identify", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.queue.length"])),
                groupIdentify: (0, T.debugWrapper)(e.groupIdentify.bind(e), "groupIdentify", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.queue.length"])),
                setGroup: (0, T.debugWrapper)(e.setGroup.bind(e), "setGroup", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.queue.length"])),
                revenue: (0, T.debugWrapper)(e.revenue.bind(e), "revenue", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.queue.length"])),
                flush: (0, T.debugWrapper)(e.flush.bind(e), "flush", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config.apiKey", "timeline.queue.length"])),
                getUserId: (0, T.debugWrapper)(e.getUserId.bind(e), "getUserId", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config", "config.userId"])),
                setUserId: (0, T.debugWrapper)(e.setUserId.bind(e), "setUserId", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config", "config.userId"])),
                getDeviceId: (0, T.debugWrapper)(e.getDeviceId.bind(e), "getDeviceId", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config", "config.deviceId"])),
                setDeviceId: (0, T.debugWrapper)(e.setDeviceId.bind(e), "setDeviceId", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config", "config.deviceId"])),
                reset: (0, T.debugWrapper)(e.reset.bind(e), "reset", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config", "config.userId", "config.deviceId"])),
                getSessionId: (0, T.debugWrapper)(e.getSessionId.bind(e), "getSessionId", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                setSessionId: (0, T.debugWrapper)(e.setSessionId.bind(e), "setSessionId", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                extendSession: (0, T.debugWrapper)(e.extendSession.bind(e), "extendSession", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                setOptOut: (0, T.debugWrapper)(e.setOptOut.bind(e), "setOptOut", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                setTransport: (0, T.debugWrapper)(e.setTransport.bind(e), "setTransport", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                getIdentity: (0, T.debugWrapper)(e.getIdentity.bind(e), "getIdentity", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                setIdentity: (0, T.debugWrapper)(e.setIdentity.bind(e), "setIdentity", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config", "config.userId", "config.deviceId"])),
                getOptOut: (0, T.debugWrapper)(e.getOptOut.bind(e), "getOptOut", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"])),
                _setDiagnosticsSampleRate: (0, T.debugWrapper)(e._setDiagnosticsSampleRate.bind(e), "_setDiagnosticsSampleRate", (0, T.getClientLogConfig)(e), (0, T.getClientStates)(e, ["config"]))
            }
        };
    let iU = iM();
    e.s([], 790886), e.i(790886);
    var ij = e.i(776839);
    e.s(["DEFAULT_ACTION_CLICK_ALLOWLIST", 0, nr, "DEFAULT_CSS_SELECTOR_ALLOWLIST", 0, nt, "DEFAULT_DATA_ATTRIBUTE_PREFIX", 0, nn, "EXCLUDE_INTERNAL_REFERRERS_CONDITIONS", 0, tc, "IdentifyOperation", () => I.IdentifyOperation, "LogLevel", () => e_.LogLevel, "OfflineDisabled", 0, null, "RevenueProperty", 0, p, "ServerZone", () => ij.ServerZone, "SpecialEventType", () => I.SpecialEventType], 966352);
    var iF = e.i(966352),
        iq = iU.add,
        iB = iU.extendSession,
        iW = iU.flush,
        iV = iU.getDeviceId,
        iH = iU.getIdentity,
        iG = iU.getOptOut,
        iz = iU.getSessionId,
        iK = iU.getUserId,
        iJ = iU.groupIdentify,
        i$ = iU.identify,
        iX = iU.init,
        iY = iU.logEvent,
        iQ = iU.remove,
        iZ = iU.reset,
        i0 = iU.revenue,
        i1 = iU.setDeviceId,
        i2 = iU.setGroup,
        i3 = iU.setIdentity,
        i4 = iU.setOptOut,
        i5 = iU.setSessionId,
        i6 = iU.setTransport,
        i8 = iU.setUserId,
        i7 = iU.track,
        i9 = iU._setDiagnosticsSampleRate;

    function oe(e, t) {
        var n = 0;
        return Number.isFinite(e) && Number.isFinite(t) && t > 0 && (n = Math.min(100, Math.max(0, e / t * 100))), n
    }

    function ot(e, t) {
        var n = e.currentTime,
            r = e.duration;
        return (0, k.__assign)({
            duration: r,
            start_time: n,
            last_position: n,
            percent_completed: oe(n, r)
        }, void 0 !== t ? {
            stop_reason: t
        } : {})
    }

    function on(e) {
        return {
            mux_playback_id: e.getAttribute("playback-id"),
            mux_video_id: e.getAttribute("metadata-video-id"),
            mux_video_title: e.getAttribute("metadata-video-title")
        }
    }

    function or(e, t, n, r) {
        return (0, k.__awaiter)(this, void 0, void 0, function() {
            var i, o, a, s, u;
            return (0, k.__generator)(this, function(c) {
                switch (c.label) {
                    case 0:
                        return [4, Promise.all([new Promise(function(t) {
                            return e.getDuration(t)
                        }), new Promise(function(t) {
                            return e.getCurrentTime(t)
                        })])];
                    case 1:
                        if (o = (i = k.__read.apply(void 0, [c.sent(), 2]))[0], a = i[1], s = {}, "mux" === n) {
                            u = void 0;
                            try {
                                s.mux_video_title = (u = new URL(t.getAttribute("src"))).searchParams.get("metadata-video-title"), s.mux_video_id = u.searchParams.get("metadata-video-id"), s.mux_playback_id = u.pathname.split("/").pop()
                            } catch (e) {}
                        }
                        return [2, (0, k.__assign)((0, k.__assign)({
                            duration: o,
                            start_time: a,
                            last_position: a,
                            percent_completed: oe(a, o)
                        }, void 0 !== r ? {
                            stop_reason: r
                        } : {}), s)]
                }
            })
        })
    }
    e.s(["_setDiagnosticsSampleRate", 0, i9, "add", 0, iq, "extendSession", 0, iB, "flush", 0, iW, "getDeviceId", 0, iV, "getIdentity", 0, iH, "getOptOut", 0, iG, "getSessionId", 0, iz, "getUserId", 0, iK, "groupIdentify", 0, iJ, "identify", 0, i$, "init", 0, iX, "logEvent", 0, iY, "remove", 0, iQ, "reset", 0, iZ, "revenue", 0, i0, "setDeviceId", 0, i1, "setGroup", 0, i2, "setIdentity", 0, i3, "setOptOut", 0, i4, "setSessionId", 0, i5, "setTransport", 0, i6, "setUserId", 0, i8, "track", 0, i7], 834796), e.i(834796);
    var oi = function() {
            function e(e) {
                var t, n, r, i, o, a, s, u, c, l, d, f = e.videoEl,
                    p = e.onStateChange,
                    g = e.vendor,
                    h = e.isEmbedded,
                    v = this;
                (this.state = {
                    playbackState: "paused"
                }, this.handler = {
                    onPlay: function(e) {
                        v.updatePlaybackState("playing", e)
                    },
                    onPause: function(e) {
                        v.updatePlaybackState("paused", e)
                    },
                    onEnded: function(e) {
                        v.updatePlaybackState("ended", e)
                    },
                    onSeeking: function() {
                        var e = (0, k.__assign)((0, k.__assign)({}, v.state), {
                            isSeeking: !0
                        });
                        v.updateState(e)
                    },
                    onSeeked: function(e) {
                        var t = (0, k.__assign)((0, k.__assign)({}, v.state), {
                            isSeeking: !1,
                            position: e.last_position
                        });
                        v.updateState(t)
                    },
                    onError: function(e) {
                        v.updateStateWithError(e)
                    },
                    onTimeUpdate: function(e) {
                        v.updateTime(e)
                    }
                }, this.onStateChange = p, h) ? this.untrack = (t = this.handler, void 0 === (n = g) && (n = null), r = [], i = function() {
                    var e = f.elem,
                        i = !1,
                        o = function() {
                            or(f, e, n).then(function(e) {
                                t.onPlay(e)
                            }).catch(function(e) {
                                t.onError("Error getting iframe metadata from 'play' handler: ".concat(e))
                            })
                        };
                    f.on("play", o), r.push(function() {
                        return f.off("play", o)
                    });
                    var a = function() {
                        or(f, e, n, "paused").then(function(e) {
                            t.onPause(e)
                        }).catch(function(e) {
                            t.onError("Error getting iframe metadata from 'pause' handler: ".concat(e))
                        })
                    };
                    f.on("pause", a), r.push(function() {
                        return f.off("pause", a)
                    });
                    var s = function() {
                        or(f, e, n, "ended").then(function(e) {
                            t.onEnded(e)
                        }).catch(function(e) {
                            t.onError("Error getting iframe metadata from 'ended' handler: ".concat(e))
                        })
                    };
                    f.on("ended", s), r.push(function() {
                        return f.off("ended", s)
                    });
                    var u = function() {
                        i = !0, or(f, e, n, "seeking").then(function(e) {
                            t.onSeeking(e)
                        }).catch(function(e) {
                            t.onError("Error getting iframe metadata from 'seeking' handler: ".concat(e))
                        })
                    };
                    f.on("seeking", u), r.push(function() {
                        return f.off("seeking", u)
                    });
                    var c = function() {
                        i = !1, or(f, e, n).then(function(e) {
                            t.onSeeked(e)
                        }).catch(function(e) {
                            t.onError("Error getting iframe metadata from 'seeked' handler: ".concat(e))
                        })
                    };
                    f.on("seeked", c), r.push(function() {
                        return f.off("seeked", c)
                    });
                    var l = function() {
                        (function(e) {
                            return (0, k.__awaiter)(this, void 0, void 0, function() {
                                return (0, k.__generator)(this, function(t) {
                                    switch (t.label) {
                                        case 0:
                                            return [4, new Promise(function(t) {
                                                return e.getCurrentTime(t)
                                            })];
                                        case 1:
                                            return [2, {
                                                currentTime: t.sent()
                                            }]
                                    }
                                })
                            })
                        })(f).then(function(e) {
                            var n = {
                                position: e.currentTime,
                                isSeeking: i
                            };
                            t.onTimeUpdate(n)
                        }).catch(function(e) {
                            t.onError("Error getting iframe metadata from 'timeupdate' handler: ".concat(e))
                        })
                    };
                    f.on("timeupdate", l), r.push(function() {
                        return f.off("timeupdate", l)
                    })
                }, f.on("ready", i), function() {
                    f.off("ready", i), r.forEach(function(e) {
                        return e()
                    })
                }): this.untrack = (o = this.handler, a = function() {
                    var e = (0, k.__assign)((0, k.__assign)({}, ot(f)), "mux" === g ? on(f) : {});
                    o.onPlay(e)
                }, f.addEventListener("play", a), s = function() {
                    var e = (0, k.__assign)((0, k.__assign)({}, ot(f, "paused")), "mux" === g ? on(f) : {});
                    o.onPause(e)
                }, f.addEventListener("pause", s), u = function() {
                    var e = (0, k.__assign)((0, k.__assign)({}, ot(f, "ended")), "mux" === g ? on(f) : {});
                    o.onEnded(e)
                }, f.addEventListener("ended", u), c = function() {
                    var e = (0, k.__assign)((0, k.__assign)({}, ot(f, "seeking")), "mux" === g ? on(f) : {});
                    o.onSeeking(e)
                }, f.addEventListener("seeking", c), l = function() {
                    var e = (0, k.__assign)((0, k.__assign)({}, ot(f)), "mux" === g ? on(f) : {});
                    o.onSeeked(e)
                }, f.addEventListener("seeked", l), d = function() {
                    var e = {
                        position: f.currentTime,
                        isSeeking: !!f.seeking
                    };
                    o.onTimeUpdate(e)
                }, f.addEventListener("timeupdate", d), function() {
                    f.removeEventListener("play", a), f.removeEventListener("pause", s), f.removeEventListener("ended", u), f.removeEventListener("seeking", c), f.removeEventListener("seeked", l), f.removeEventListener("timeupdate", d)
                })
            }
            return e.prototype.stateChangeHandler = function(e, t) {
                try {
                    this.onStateChange(e, t)
                } catch (e) {}
            }, e.prototype.updateStateWithError = function(e) {
                var t = this.state,
                    n = (0, k.__assign)((0, k.__assign)({}, t), {
                        playbackState: "error",
                        errorMessage: e
                    });
                this.updateState(n)
            }, e.prototype.updatePlaybackState = function(e, t) {
                var n = (0, k.__assign)((0, k.__assign)({}, this.state), {
                    playbackState: e,
                    lastEvent: t,
                    position: t.last_position
                });
                this.updateState(n)
            }, e.prototype.updateTime = function(e) {
                var t, n;
                if (this.state.lastEvent && "playing" === this.state.playbackState) {
                    var r = e.isSeeking || this.state.isSeeking,
                        i = null != (t = this.state.position) ? t : 0,
                        o = e.position;
                    if (r) {
                        this.state = (0, k.__assign)((0, k.__assign)({}, this.state), {
                            position: o
                        });
                        return
                    }
                    var a = o - i,
                        s = (0, k.__assign)((0, k.__assign)({}, this.state), {
                            position: o,
                            watchTime: (null != (n = this.state.watchTime) ? n : 0) + a
                        });
                    this.updateState(s)
                }
            }, e.prototype.updateState = function(e) {
                var t = this.state;
                this.state = e, this.stateChangeHandler(t, e)
            }, e.prototype.destroy = function() {
                this.untrack()
            }, e
        }(),
        oo = function() {
            function e(e) {
                this.amplitude = e, this.videoEl = null, this.embeddedVideoPlayer = null, this.extraEventProperties = {}, this.listeners = [], this.onRemoveListeners = []
            }
            return e.prototype.withVideoElement = function(e) {
                return this.videoEl = e, this
            }, e.prototype.withEmbeddedPlayer = function(e) {
                return this.embeddedVideoPlayer = e, this
            }, e.prototype.withVendor = function(e) {
                return this.vendor = e, this
            }, e.prototype.withExtraEventProperties = function(e) {
                return this.extraEventProperties = e, this
            }, e.prototype.captureVideoStarted = function() {
                var e = this;
                return this.listeners.push(function(t, n) {
                    "playing" !== t.playbackState && "playing" === n.playbackState && e.amplitude.track("Video Content Started", (0, k.__assign)((0, k.__assign)({}, n.lastEvent), e.extraEventProperties))
                }), this
            }, e.prototype.captureVideoStopped = function() {
                var e = this;
                return this.listeners.push(function(t, n) {
                    "playing" === t.playbackState && "playing" !== n.playbackState && e.amplitude.track("Video Content Stopped", (0, k.__assign)((0, k.__assign)((0, k.__assign)({}, n.lastEvent), {
                        watch_duration: n.watchTime
                    }), e.extraEventProperties))
                }), this
            }, e.prototype.start = function() {
                var e, t = this,
                    n = null != (e = this.videoEl) ? e : this.embeddedVideoPlayer;
                if (!n) throw Error("Video element not specified. Use withVideoElement() or withEmbeddedPlayer() to specify the video element.");
                if (this.videoEl && this.embeddedVideoPlayer) throw Error("Both video element and embedded video player specified. Use only one of withVideoElement() or withEmbeddedPlayer() to specify the video element.");
                var r = new oi({
                    videoEl: n,
                    onStateChange: function(e, n) {
                        t.listeners.forEach(function(t) {
                            return t(e, n)
                        })
                    },
                    vendor: this.vendor,
                    isEmbedded: !!this.embeddedVideoPlayer
                });
                return this.onRemoveListeners.push(function() {
                    r.destroy()
                }), this
            }, e.prototype.stop = function() {
                this.onRemoveListeners.forEach(function(e) {
                    return e()
                }), this.onRemoveListeners = []
            }, e
        }();
    e.s(["AmplitudeBrowser", 0, iN, "Identify", 0, x, "Revenue", 0, K, "Types", 0, iF, "_setDiagnosticsSampleRate", 0, i9, "add", 0, iq, "createInstance", 0, iM, "extendSession", 0, iB, "flush", 0, iW, "getDeviceId", 0, iV, "getIdentity", 0, iH, "getOptOut", 0, iG, "getSessionId", 0, iz, "getUserId", 0, iK, "groupIdentify", 0, iJ, "identify", 0, i$, "init", 0, iX, "logEvent", 0, iY, "remove", 0, iQ, "reset", 0, iZ, "revenue", 0, i0, "runQueuedFunctions", 0, function(e, t) {
        eL(e, t)
    }, "setDeviceId", 0, i1, "setGroup", 0, i2, "setIdentity", 0, i3, "setOptOut", 0, i4, "setSessionId", 0, i5, "setTransport", 0, i6, "setUserId", 0, i8, "track", 0, i7, "trackVideo", 0, function(e, t, n) {
        void 0 === n && (n = {});
        var r, i = new oo(e);
        return t instanceof HTMLVideoElement ? i.withVideoElement(t) : i.withEmbeddedPlayer(t), n.vendor && i.withVendor(n.vendor), i.withExtraEventProperties(null != (r = n.extraEventProperties) ? r : {}).captureVideoStarted().captureVideoStopped().start(),
            function() {
                return i.stop()
            }
    }], 694231)
}]);

//# debugId=d398de7b-ecba-8b44-3e34-253e71252e02