import {
    a as Ii,
    b as ki
} from "./chunk-SUCRLMBQ.js";
import {
    f as mi,
    g as fi,
    j as Ct
} from "./chunk-IIZSMBNO.js";
import {
    a as Ei
} from "./chunk-AHAXH4Z3.js";
import {
    c as Ti,
    i as Pi,
    m as Mi,
    n as St
} from "./chunk-2F2DP6Z5.js";
import {
    C as bi,
    Ca as Ye,
    Ga as Di,
    Ha as Xe,
    J as Qe,
    Ka as De,
    La as O,
    M as yi,
    N as qe,
    Pa as Si,
    Qa as Se,
    R as Le,
    S as Fe,
    T as Ve,
    Ta as _e,
    Va as Je,
    _a as Ri,
    aa as Dt,
    bb as N,
    db as Oi,
    fb as Li,
    gb as Tt,
    ia as wi,
    ka as Ke,
    na as xi,
    oa as Ci,
    z as vi
} from "./chunk-XPOKHL3M.js";
import {
    c as fe,
    d as ne,
    f as Z,
    g as Ce,
    h as K,
    j as _i,
    l as gi
} from "./chunk-Z33DM23Z.js";
import {
    l as ui
} from "./chunk-GHJJ2Z4D.js";
import {
    B as j,
    a as he,
    k as le,
    m as Ue,
    n as ie,
    r as ue,
    s as me,
    y as q
} from "./chunk-OYJWBUYU.js";
import {
    $ as J,
    $b as Oe,
    A as Be,
    Aa as ii,
    Ab as l,
    B as Xt,
    Ca as je,
    Cb as Ze,
    Cc as yt,
    D as ut,
    Db as ai,
    Dc as wt,
    Eb as H,
    Gb as Ee,
    Ha as gt,
    Hc as We,
    I as Jt,
    Ic as xt,
    Jb as f,
    Kb as v,
    Lb as T,
    Lc as Ge,
    Mb as we,
    Nb as xe,
    Ob as ee,
    Pb as F,
    Pc as I,
    Qc as z,
    R as He,
    S as mt,
    Sc as pi,
    T as ge,
    Ta as vt,
    U as ei,
    Ua as ni,
    Uc as hi,
    X as ft,
    Xa as oi,
    Y as S,
    Ya as u,
    Yb as k,
    Z as W,
    Zb as d,
    _b as Pe,
    a as de,
    ab as ye,
    c as Ie,
    ca as p,
    cb as pe,
    cc as E,
    dc as U,
    eb as bt,
    ec as C,
    f as b,
    fc as D,
    g as Qt,
    ha as ti,
    ic as Me,
    j as ht,
    ja as _t,
    jc as te,
    ka as y,
    kc as ae,
    la as w,
    lb as L,
    lc as li,
    m as qt,
    mb as G,
    na as re,
    nb as Re,
    ob as ri,
    pa as ke,
    pb as se,
    q as Kt,
    rb as m,
    sc as A,
    ta as x,
    tc as ci,
    ua as B,
    uc as P,
    vc as Q,
    xa as ve,
    xc as di,
    ya as be,
    yb as si,
    z as Yt,
    zb as _
} from "./chunk-SSI6PFOR.js";
var Cn = ["content"],
    Dn = ["*"],
    Sn = (t, n) => ({
        showTransitionParams: t,
        hideTransitionParams: n
    }),
    Tn = (t, n) => ({
        value: t,
        params: n
    }),
    In = t => ({
        closeCallback: t
    });

function kn(t, n) {}

function Rn(t, n) {
    t & 1 && m(0, kn, 0, 0, "ng-template")
}

function En(t, n) {
    if (t & 1) {
        let e = F();
        f(0, "div", 1), k("click", function(o) {
            y(e);
            let r = d();
            return w(r.onOverlayClick(o))
        })("@animation.start", function(o) {
            y(e);
            let r = d();
            return w(r.onAnimationStart(o))
        })("@animation.done", function(o) {
            y(e);
            let r = d();
            return w(r.onAnimationEnd(o))
        }), f(1, "div", 2), k("click", function(o) {
            y(e);
            let r = d();
            return w(r.onContentClick(o))
        })("mousedown", function(o) {
            y(e);
            let r = d();
            return w(r.onContentClick(o))
        }), Oe(2), m(3, Rn, 1, 0, null, 3), v()()
    }
    if (t & 2) {
        let e = d();
        H(e.styleClass), l("ngClass", "p-popover p-component")("ngStyle", e.style)("@animation", Q(13, Tn, e.overlayVisible ? "open" : "close", Q(10, Sn, e.showTransitionOptions, e.hideTransitionOptions))), _("aria-modal", e.overlayVisible)("aria-label", e.ariaLabel)("aria-labelledBy", e.ariaLabelledBy), u(3), l("ngTemplateOutlet", e.contentTemplate || e._contentTemplate)("ngTemplateOutletContext", P(16, In, e.onCloseClick.bind(e)))
    }
}
var Pn = ({
        dt: t
    }) => `
.p-popover {
    margin-top: ${t("popover.gutter")};
    background: ${t("popover.background")};
    color: ${t("popover.color")};
    border: 1px solid ${t("popover.border.color")};
    border-radius: ${t("popover.border.radius")};
    box-shadow: ${t("popover.shadow")};
    position: absolute
}

.p-popover-content {
    padding: ${t("popover.content.padding")};
}

.p-popover-flipped {
    margin-top: calc(${t("popover.gutter")} * -1);
    margin-bottom: ${t("popover.gutter")};
}

.p-popover-enter-from {
    opacity: 0;
    transform: scaleY(0.8);
}

.p-popover-leave-to {
    opacity: 0;
}

.p-popover-enter-active {
    transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), opacity 0.12s cubic-bezier(0, 0, 0.2, 1);
}

.p-popover-leave-active {
    transition: opacity 0.1s linear;
}

.p-popover:after,
.p-popover:before {
    bottom: 100%;
    left: calc(${t("popover.arrow.offset")} + ${t("popover.arrow.left")});
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.p-popover:after {
    border-width: calc(${t("popover.gutter")} - 2px);
    margin-left: calc(-1 * (${t("popover.gutter")} - 2px));
    border-style: solid;
    border-color: transparent;
    border-bottom-color: ${t("popover.background")};
}

.p-popover:before {
    border-width: ${t("popover.gutter")};
    margin-left: calc(-1 * ${t("popover.gutter")});
    border-style: solid;
    border-color: transparent;
    border-bottom-color: ${t("popover.border.color")};
}

.p-popover-flipped:after,
.p-popover-flipped:before {
    bottom: auto;
    top: 100%;
}

.p-popover.p-popover-flipped:after {
    border-bottom-color: transparent;
    border-top-color: ${t("popover.background")};
}

.p-popover.p-popover-flipped:before {
    border-bottom-color: transparent;
    border-top-color: ${t("popover.border.color")};
}

`,
    On = {
        root: "p-popover p-component",
        content: "p-popover-content"
    },
    Fi = (() => {
        class t extends Se {
            name = "popover";
            theme = Pn;
            classes = On;
            static\ u0275fac = (() => {
                let e;
                return function(o) {
                    return (e || (e = re(t)))(o || t)
                }
            })();
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac
            })
        }
        return t
    })(),
    kt = (() => {
        class t extends _e {
            ariaLabel;
            ariaLabelledBy;
            dismissable = !0;
            style;
            styleClass;
            appendTo = "body";
            autoZIndex = !0;
            ariaCloseLabel;
            baseZIndex = 0;
            focusOnShow = !0;
            showTransitionOptions = ".12s cubic-bezier(0, 0, 0.2, 1)";
            hideTransitionOptions = ".1s linear";
            onShow = new x;
            onHide = new x;
            container;
            overlayVisible = !1;
            render = !1;
            isOverlayAnimationInProgress = !1;
            selfClick = !1;
            documentClickListener;
            target;
            willHide;
            scrollHandler;
            documentResizeListener;
            contentTemplate;
            templates;
            _contentTemplate;
            destroyCallback;
            overlayEventListener;
            overlaySubscription;
            _componentStyle = p(Fi);
            zone = p(B);
            overlayService = p(Xe);
            ngAfterContentInit() {
                this.templates.forEach(e => {
                    switch (e.getType()) {
                        case "content":
                            this._contentTemplate = e.template;
                            break
                    }
                })
            }
            bindDocumentClickListener() {
                if (j(this.platformId) && !this.documentClickListener) {
                    let e = wi() ? "touchstart" : "click",
                        i = this.el ? this.el.nativeElement.ownerDocument : this.document;
                    this.documentClickListener = this.renderer.listen(i, e, o => {
                        this.dismissable && (!this.container ? .contains(o.target) && this.target !== o.target && !this.target.contains(o.target) && !this.selfClick && this.hide(), this.selfClick = !1, this.cd.markForCheck())
                    })
                }
            }
            unbindDocumentClickListener() {
                this.documentClickListener && (this.documentClickListener(), this.documentClickListener = null, this.selfClick = !1)
            }
            toggle(e, i) {
                this.isOverlayAnimationInProgress || (this.overlayVisible ? (this.hasTargetChanged(e, i) && (this.destroyCallback = () => {
                    this.show(null, i || e.currentTarget || e.target)
                }), this.hide()) : this.show(e, i))
            }
            show(e, i) {
                i && e && e.stopPropagation(), !this.isOverlayAnimationInProgress && (this.target = i || e.currentTarget || e.target, this.overlayVisible = !0, this.render = !0, this.cd.markForCheck())
            }
            onOverlayClick(e) {
                this.overlayService.add({
                    originalEvent: e,
                    target: this.el.nativeElement
                }), this.selfClick = !0
            }
            onContentClick(e) {
                let i = e.target;
                this.selfClick = e.offsetX < i.clientWidth && e.offsetY < i.clientHeight
            }
            hasTargetChanged(e, i) {
                return this.target != null && this.target !== (i || e.currentTarget || e.target)
            }
            appendContainer() {
                this.appendTo && (this.appendTo === "body" ? this.renderer.appendChild(this.document.body, this.container) : qe(this.appendTo, this.container))
            }
            restoreAppend() {
                this.container && this.appendTo && this.renderer.appendChild(this.el.nativeElement, this.container)
            }
            align() {
                this.autoZIndex && N.set("overlay", this.container, this.baseZIndex + this.config.zIndex.overlay), Qe(this.container, this.target, !1);
                let e = Dt(this.container),
                    i = Dt(this.target),
                    o = this.document.defaultView ? .getComputedStyle(this.container).getPropertyValue("border-radius"),
                    r = 0;
                e.left < i.left && (r = i.left - e.left - parseFloat(o) * 2), this.container ? .style.setProperty(Si("popover.arrow.left").name, `${r}px`), e.top < i.top && (this.container.setAttribute("data-p-popover-flipped", "true"), bi(this.container, "p-popover-flipped"))
            }
            onAnimationStart(e) {
                e.toState === "open" && (this.container = e.element, this.container ? .setAttribute(this.attrSelector, ""), this.appendContainer(), this.align(), this.bindDocumentClickListener(), this.bindDocumentResizeListener(), this.bindScrollListener(), this.focusOnShow && this.focus(), this.overlayEventListener = i => {
                    this.container && this.container.contains(i.target) && (this.selfClick = !0)
                }, this.overlaySubscription = this.overlayService.clickObservable.subscribe(this.overlayEventListener), this.onShow.emit(null)), this.isOverlayAnimationInProgress = !0
            }
            onAnimationEnd(e) {
                switch (e.toState) {
                    case "void":
                        this.destroyCallback && (this.destroyCallback(), this.destroyCallback = null), this.overlaySubscription && this.overlaySubscription.unsubscribe();
                        break;
                    case "close":
                        this.autoZIndex && N.clear(this.container), this.overlaySubscription && this.overlaySubscription.unsubscribe(), this.onContainerDestroy(), this.onHide.emit({}), this.render = !1;
                        break
                }
                this.isOverlayAnimationInProgress = !1
            }
            focus() {
                let e = Fe(this.container, "[autofocus]");
                e && this.zone.runOutsideAngular(() => {
                    setTimeout(() => e.focus(), 5)
                })
            }
            hide() {
                this.overlayVisible = !1, this.cd.markForCheck()
            }
            onCloseClick(e) {
                this.hide(), e.preventDefault()
            }
            onEscapeKeydown(e) {
                this.hide()
            }
            onWindowResize() {
                this.overlayVisible && !Ke() && this.hide()
            }
            bindDocumentResizeListener() {
                if (j(this.platformId) && !this.documentResizeListener) {
                    let e = this.document.defaultView;
                    this.documentResizeListener = this.renderer.listen(e, "resize", this.onWindowResize.bind(this))
                }
            }
            unbindDocumentResizeListener() {
                this.documentResizeListener && (this.documentResizeListener(), this.documentResizeListener = null)
            }
            bindScrollListener() {
                j(this.platformId) && (this.scrollHandler || (this.scrollHandler = new Je(this.target, () => {
                    this.overlayVisible && this.hide()
                })), this.scrollHandler.bindScrollListener())
            }
            unbindScrollListener() {
                this.scrollHandler && this.scrollHandler.unbindScrollListener()
            }
            onContainerDestroy() {
                this.cd.destroyed || (this.target = null), this.unbindDocumentClickListener(), this.unbindDocumentResizeListener(), this.unbindScrollListener()
            }
            ngOnDestroy() {
                this.scrollHandler && (this.scrollHandler.destroy(), this.scrollHandler = null), this.container && this.autoZIndex && N.clear(this.container), this.cd.destroyed || (this.target = null), this.destroyCallback = null, this.container && (this.restoreAppend(), this.onContainerDestroy()), this.overlaySubscription && this.overlaySubscription.unsubscribe(), super.ngOnDestroy()
            }
            static\ u0275fac = (() => {
                let e;
                return function(o) {
                    return (e || (e = re(t)))(o || t)
                }
            })();
            static\ u0275cmp = L({
                type: t,
                selectors: [
                    ["p-popover"]
                ],
                contentQueries: function(i, o, r) {
                    if (i & 1 && (E(r, Cn, 4), E(r, De, 4)), i & 2) {
                        let s;
                        C(s = D()) && (o.contentTemplate = s.first), C(s = D()) && (o.templates = s)
                    }
                },
                hostBindings: function(i, o) {
                    i & 1 && k("keydown.escape", function(s) {
                        return o.onEscapeKeydown(s)
                    }, !1, oi)
                },
                inputs: {
                    ariaLabel: "ariaLabel",
                    ariaLabelledBy: "ariaLabelledBy",
                    dismissable: [2, "dismissable", "dismissable", I],
                    style: "style",
                    styleClass: "styleClass",
                    appendTo: "appendTo",
                    autoZIndex: [2, "autoZIndex", "autoZIndex", I],
                    ariaCloseLabel: "ariaCloseLabel",
                    baseZIndex: [2, "baseZIndex", "baseZIndex", z],
                    focusOnShow: [2, "focusOnShow", "focusOnShow", I],
                    showTransitionOptions: "showTransitionOptions",
                    hideTransitionOptions: "hideTransitionOptions"
                },
                outputs: {
                    onShow: "onShow",
                    onHide: "onHide"
                },
                features: [A([Fi]), se],
                ngContentSelectors: Dn,
                decls: 1,
                vars: 1,
                consts: [
                    ["role", "dialog", 3, "ngClass", "ngStyle", "class", "click", 4, "ngIf"],
                    ["role", "dialog", 3, "click", "ngClass", "ngStyle"],
                    [1, "p-popover-content", 3, "click", "mousedown"],
                    [4, "ngTemplateOutlet", "ngTemplateOutletContext"]
                ],
                template: function(i, o) {
                    i & 1 && (Pe(), m(0, En, 4, 18, "div", 0)), i & 2 && l("ngIf", o.render)
                },
                dependencies: [q, le, ie, me, ue, O],
                encapsulation: 2,
                data: {
                    animation: [fe("animation", [Ce("void", Z({
                        transform: "scaleY(0.8)",
                        opacity: 0
                    })), Ce("close", Z({
                        opacity: 0
                    })), Ce("open", Z({
                        transform: "translateY(0)",
                        opacity: 1
                    })), K("void => open", ne("{{showTransitionParams}}")), K("open => close", ne("{{hideTransitionParams}}"))])]
                },
                changeDetection: 0
            })
        }
        return t
    })(),
    Vi = (() => {
        class t {
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275mod = G({
                type: t
            });
            static\ u0275inj = W({
                imports: [kt, O, O]
            })
        }
        return t
    })();
var Ai = ["container"],
    Ln = (t, n, e, i) => ({
        showTransformParams: t,
        hideTransformParams: n,
        showTransitionParams: e,
        hideTransitionParams: i
    }),
    Fn = t => ({
        value: "visible",
        params: t
    }),
    Vn = (t, n) => ({
        $implicit: t,
        closeFn: n
    }),
    An = t => ({
        $implicit: t
    });

function zn(t, n) {
    t & 1 && ee(0)
}

function Nn(t, n) {
    if (t & 1 && m(0, zn, 1, 0, "ng-container", 3), t & 2) {
        let e = d();
        l("ngTemplateOutlet", e.headlessTemplate)("ngTemplateOutletContext", Q(2, Vn, e.message, e.onCloseIconClick))
    }
}

function $n(t, n) {
    if (t & 1 && T(0, "span", 4), t & 2) {
        let e = d(3);
        l("ngClass", e.cx("messageIcon"))
    }
}

function Bn(t, n) {
    t & 1 && T(0, "CheckIcon"), t & 2 && _("aria-hidden", !0)("data-pc-section", "icon")
}

function Hn(t, n) {
    t & 1 && T(0, "InfoCircleIcon"), t & 2 && _("aria-hidden", !0)("data-pc-section", "icon")
}

function jn(t, n) {
    t & 1 && T(0, "TimesCircleIcon"), t & 2 && _("aria-hidden", !0)("data-pc-section", "icon")
}

function Zn(t, n) {
    t & 1 && T(0, "ExclamationTriangleIcon"), t & 2 && _("aria-hidden", !0)("data-pc-section", "icon")
}

function Wn(t, n) {
    t & 1 && T(0, "InfoCircleIcon"), t & 2 && _("aria-hidden", !0)("data-pc-section", "icon")
}

function Gn(t, n) {
    if (t & 1 && (f(0, "span", 4), m(1, Bn, 1, 2, "CheckIcon")(2, Hn, 1, 2, "InfoCircleIcon")(3, jn, 1, 2, "TimesCircleIcon")(4, Zn, 1, 2, "ExclamationTriangleIcon")(5, Wn, 1, 2, "InfoCircleIcon"), v()), t & 2) {
        let e, i = d(3);
        l("ngClass", i.cx("messageIcon")), _("aria-hidden", !0)("data-pc-section", "icon"), u(), Ee((e = i.message.severity) === "success" ? 1 : e === "info" ? 2 : e === "error" ? 3 : e === "warn" ? 4 : 5)
    }
}

function Un(t, n) {
    if (t & 1 && (we(0), m(1, $n, 1, 1, "span", 6)(2, Gn, 6, 4, "span", 6), f(3, "div", 4)(4, "div", 4), te(5), v(), f(6, "div", 4), te(7), v()(), xe()), t & 2) {
        let e = d(2);
        u(), l("ngIf", e.message.icon), u(), l("ngIf", !e.message.icon), u(), l("ngClass", e.cx("messageText")), _("data-pc-section", "text"), u(), l("ngClass", e.cx("summary")), _("data-pc-section", "summary"), u(), li(" ", e.message.summary, " "), u(), l("ngClass", e.cx("detail")), _("data-pc-section", "detail"), u(), ae(e.message.detail)
    }
}

function Qn(t, n) {
    t & 1 && ee(0)
}

function qn(t, n) {
    if (t & 1 && T(0, "span", 4), t & 2) {
        let e = d(4);
        l("ngClass", e.cx("closeIcon"))
    }
}

function Kn(t, n) {
    if (t & 1 && m(0, qn, 1, 1, "span", 6), t & 2) {
        let e = d(3);
        l("ngIf", e.message.closeIcon)
    }
}

function Yn(t, n) {
    if (t & 1 && T(0, "TimesIcon", 4), t & 2) {
        let e = d(3);
        l("ngClass", e.cx("closeIcon")), _("aria-hidden", !0)("data-pc-section", "closeicon")
    }
}

function Xn(t, n) {
    if (t & 1) {
        let e = F();
        f(0, "div")(1, "button", 7), k("click", function(o) {
            y(e);
            let r = d(2);
            return w(r.onCloseIconClick(o))
        })("keydown.enter", function(o) {
            y(e);
            let r = d(2);
            return w(r.onCloseIconClick(o))
        }), m(2, Kn, 1, 1, "span", 4)(3, Yn, 1, 3, "TimesIcon", 4), v()()
    }
    if (t & 2) {
        let e = d(2);
        u(), l("ariaLabel", e.closeAriaLabel), _("class", e.cx("closeButton"))("data-pc-section", "closebutton"), u(), Ee(e.message.closeIcon ? 2 : 3)
    }
}

function Jn(t, n) {
    if (t & 1 && (f(0, "div", 4), m(1, Un, 8, 10, "ng-container", 5)(2, Qn, 1, 0, "ng-container", 3)(3, Xn, 4, 4, "div"), v()), t & 2) {
        let e = d();
        H(e.message == null ? null : e.message.contentStyleClass), l("ngClass", e.cx("messageContent")), _("data-pc-section", "content"), u(), l("ngIf", !e.template), u(), l("ngTemplateOutlet", e.template)("ngTemplateOutletContext", P(8, An, e.message)), u(), Ee((e.message == null ? null : e.message.closable) !== !1 ? 3 : -1)
    }
}
var eo = ["message"],
    to = ["headless"];

function io(t, n) {
    if (t & 1) {
        let e = F();
        f(0, "p-toastItem", 3), k("onClose", function(o) {
            y(e);
            let r = d();
            return w(r.onMessageClose(o))
        })("@toastAnimation.start", function(o) {
            y(e);
            let r = d();
            return w(r.onAnimationStart(o))
        })("@toastAnimation.done", function(o) {
            y(e);
            let r = d();
            return w(r.onAnimationEnd(o))
        }), v()
    }
    if (t & 2) {
        let e = n.$implicit,
            i = n.index,
            o = d();
        l("message", e)("index", i)("life", o.life)("template", o.template || o._template)("headlessTemplate", o.headlessTemplate || o._headlessTemplate)("@toastAnimation", void 0)("showTransformOptions", o.showTransformOptions)("hideTransformOptions", o.hideTransformOptions)("showTransitionOptions", o.showTransitionOptions)("hideTransitionOptions", o.hideTransitionOptions)
    }
}
var no = ({
        dt: t
    }) => `
.p-toast {
    width: ${t("toast.width")};
    white-space: pre-line;
    word-break: break-word;
}

.p-toast-message {
    margin: 0 0 1rem 0;
}

.p-toast-message-icon {
    flex-shrink: 0;
    font-size: ${t("toast.icon.size")};
    width: ${t("toast.icon.size")};
    height: ${t("toast.icon.size")};
}

.p-toast-message-content {
    display: flex;
    align-items: flex-start;
    padding: ${t("toast.content.padding")};
    gap: ${t("toast.content.gap")};
}

.p-toast-message-text {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: ${t("toast.text.gap")};
}

.p-toast-summary {
    font-weight: ${t("toast.summary.font.weight")};
    font-size: ${t("toast.summary.font.size")};
}

.p-toast-detail {
    font-weight: ${t("toast.detail.font.weight")};
    font-size: ${t("toast.detail.font.size")};
}

.p-toast-close-button {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    background: transparent;
    transition: background ${t("toast.transition.duration")}, color ${t("toast.transition.duration")}, outline-color ${t("toast.transition.duration")}, box-shadow ${t("toast.transition.duration")};
    outline-color: transparent;
    color: inherit;
    width: ${t("toast.close.button.width")};
    height: ${t("toast.close.button.height")};
    border-radius: ${t("toast.close.button.border.radius")};
    margin: -25% 0 0 0;
    right: -25%;
    padding: 0;
    border: none;
    user-select: none;
}

.p-toast-close-button:dir(rtl) {
    margin: -25% 0 0 auto;
    left: -25%;
    right: auto;
}

.p-toast-message-info,
.p-toast-message-success,
.p-toast-message-warn,
.p-toast-message-error,
.p-toast-message-secondary,
.p-toast-message-contrast {
    border-width: ${t("toast.border.width")};
    border-style: solid;
    backdrop-filter: blur(${t("toast.blur")});
    border-radius: ${t("toast.border.radius")};
}

.p-toast-close-icon {
    font-size: ${t("toast.close.icon.size")};
    width: ${t("toast.close.icon.size")};
    height: ${t("toast.close.icon.size")};
}

.p-toast-close-button:focus-visible {
    outline-width: ${t("focus.ring.width")};
    outline-style: ${t("focus.ring.style")};
    outline-offset: ${t("focus.ring.offset")};
}

.p-toast-message-info {
    background: ${t("toast.info.background")};
    border-color: ${t("toast.info.border.color")};
    color: ${t("toast.info.color")};
    box-shadow: ${t("toast.info.shadow")};
}

.p-toast-message-info .p-toast-detail {
    color: ${t("toast.info.detail.color")};
}

.p-toast-message-info .p-toast-close-button:focus-visible {
    outline-color: ${t("toast.info.close.button.focus.ring.color")};
    box-shadow: ${t("toast.info.close.button.focus.ring.shadow")};
}

.p-toast-message-info .p-toast-close-button:hover {
    background: ${t("toast.info.close.button.hover.background")};
}

.p-toast-message-success {
    background: ${t("toast.success.background")};
    border-color: ${t("toast.success.border.color")};
    color: ${t("toast.success.color")};
    box-shadow: ${t("toast.success.shadow")};
}

.p-toast-message-success .p-toast-detail {
    color: ${t("toast.success.detail.color")};
}

.p-toast-message-success .p-toast-close-button:focus-visible {
    outline-color: ${t("toast.success.close.button.focus.ring.color")};
    box-shadow: ${t("toast.success.close.button.focus.ring.shadow")};
}

.p-toast-message-success .p-toast-close-button:hover {
    background: ${t("toast.success.close.button.hover.background")};
}

.p-toast-message-warn {
    background: ${t("toast.warn.background")};
    border-color: ${t("toast.warn.border.color")};
    color: ${t("toast.warn.color")};
    box-shadow: ${t("toast.warn.shadow")};
}

.p-toast-message-warn .p-toast-detail {
    color: ${t("toast.warn.detail.color")};
}

.p-toast-message-warn .p-toast-close-button:focus-visible {
    outline-color: ${t("toast.warn.close.button.focus.ring.color")};
    box-shadow: ${t("toast.warn.close.button.focus.ring.shadow")};
}

.p-toast-message-warn .p-toast-close-button:hover {
    background: ${t("toast.warn.close.button.hover.background")};
}

.p-toast-message-error {
    background: ${t("toast.error.background")};
    border-color: ${t("toast.error.border.color")};
    color: ${t("toast.error.color")};
    box-shadow: ${t("toast.error.shadow")};
}

.p-toast-message-error .p-toast-detail {
    color: ${t("toast.error.detail.color")};
}

.p-toast-message-error .p-toast-close-button:focus-visible {
    outline-color: ${t("toast.error.close.button.focus.ring.color")};
    box-shadow: ${t("toast.error.close.button.focus.ring.shadow")};
}

.p-toast-message-error .p-toast-close-button:hover {
    background: ${t("toast.error.close.button.hover.background")};
}

.p-toast-message-secondary {
    background: ${t("toast.secondary.background")};
    border-color: ${t("toast.secondary.border.color")};
    color: ${t("toast.secondary.color")};
    box-shadow: ${t("toast.secondary.shadow")};
}

.p-toast-message-secondary .p-toast-detail {
    color: ${t("toast.secondary.detail.color")};
}

.p-toast-message-secondary .p-toast-close-button:focus-visible {
    outline-color: ${t("toast.secondary.close.button.focus.ring.color")};
    box-shadow: ${t("toast.secondary.close.button.focus.ring.shadow")};
}

.p-toast-message-secondary .p-toast-close-button:hover {
    background: ${t("toast.secondary.close.button.hover.background")};
}

.p-toast-message-contrast {
    background: ${t("toast.contrast.background")};
    border-color: ${t("toast.contrast.border.color")};
    color: ${t("toast.contrast.color")};
    box-shadow: ${t("toast.contrast.shadow")};
}

.p-toast-message-contrast .p-toast-detail {
    color: ${t("toast.contrast.detail.color")};
}

.p-toast-message-contrast .p-toast-close-button:focus-visible {
    outline-color: ${t("toast.contrast.close.button.focus.ring.color")};
    box-shadow: ${t("toast.contrast.close.button.focus.ring.shadow")};
}

.p-toast-message-contrast .p-toast-close-button:hover {
    background: ${t("toast.contrast.close.button.hover.background")};
}

.p-toast-top-center {
    transform: translateX(-50%);
}

.p-toast-bottom-center {
    transform: translateX(-50%);
}

.p-toast-center {
    min-width: 20vw;
    transform: translate(-50%, -50%);
}

.p-toast-message-enter-from {
    opacity: 0;
    transform: translateY(50%);
}

.p-toast-message-leave-from {
    max-height: 1000px;
}

.p-toast .p-toast-message.p-toast-message-leave-to {
    max-height: 0;
    opacity: 0;
    margin-bottom: 0;
    overflow: hidden;
}

.p-toast-message-enter-active {
    transition: transform 0.3s, opacity 0.3s;
}

.p-toast-message-leave-active {
    transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;
}
`,
    oo = {
        root: ({
            instance: t
        }) => {
            let {
                _position: n
            } = t;
            return {
                position: "fixed",
                top: n === "top-right" || n === "top-left" || n === "top-center" ? "20px" : n === "center" ? "50%" : null,
                right: (n === "top-right" || n === "bottom-right") && "20px",
                bottom: (n === "bottom-left" || n === "bottom-right" || n === "bottom-center") && "20px",
                left: n === "top-left" || n === "bottom-left" ? "20px" : n === "center" || n === "top-center" || n === "bottom-center" ? "50%" : null
            }
        }
    },
    ro = {
        root: ({
            instance: t
        }) => ({
            "p-toast p-component": !0,
            [`p-toast-${t._position}`]: !!t._position
        }),
        message: ({
            instance: t
        }) => ({
            "p-toast-message": !0,
            "p-toast-message-info": t.message.severity === "info" || t.message.severity === void 0,
            "p-toast-message-warn": t.message.severity === "warn",
            "p-toast-message-error": t.message.severity === "error",
            "p-toast-message-success": t.message.severity === "success",
            "p-toast-message-secondary": t.message.severity === "secondary",
            "p-toast-message-contrast": t.message.severity === "contrast"
        }),
        messageContent: "p-toast-message-content",
        messageIcon: ({
            instance: t
        }) => ({
            "p-toast-message-icon": !0,
            [`pi ${t.message.icon}`]: !!t.message.icon
        }),
        messageText: "p-toast-message-text",
        summary: "p-toast-summary",
        detail: "p-toast-detail",
        closeButton: "p-toast-close-button",
        closeIcon: ({
            instance: t
        }) => ({
            "p-toast-close-icon": !0,
            [`pi ${t.message.closeIcon}`]: !!t.message.closeIcon
        })
    },
    et = (() => {
        class t extends Se {
            name = "toast";
            theme = no;
            classes = ro;
            inlineStyles = oo;
            static\ u0275fac = (() => {
                let e;
                return function(o) {
                    return (e || (e = re(t)))(o || t)
                }
            })();
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac
            })
        }
        return t
    })();
var so = (() => {
        class t extends _e {
            zone;
            message;
            index;
            life;
            template;
            headlessTemplate;
            showTransformOptions;
            hideTransformOptions;
            showTransitionOptions;
            hideTransitionOptions;
            onClose = new x;
            containerViewChild;
            _componentStyle = p(et);
            timeout;
            constructor(e) {
                super(), this.zone = e
            }
            ngAfterViewInit() {
                super.ngAfterViewInit(), this.initTimeout()
            }
            initTimeout() {
                this.message ? .sticky || this.zone.runOutsideAngular(() => {
                    this.timeout = setTimeout(() => {
                        this.onClose.emit({
                            index: this.index,
                            message: this.message
                        })
                    }, this.message ? .life || this.life || 3e3)
                })
            }
            clearTimeout() {
                this.timeout && (clearTimeout(this.timeout), this.timeout = null)
            }
            onMouseEnter() {
                this.clearTimeout()
            }
            onMouseLeave() {
                this.initTimeout()
            }
            onCloseIconClick = e => {
                this.clearTimeout(), this.onClose.emit({
                    index: this.index,
                    message: this.message
                }), e.preventDefault()
            };
            get closeAriaLabel() {
                return this.config.translation.aria ? this.config.translation.aria.close : void 0
            }
            ngOnDestroy() {
                this.clearTimeout(), super.ngOnDestroy()
            }
            static\ u0275fac = function(i) {
                return new(i || t)(pe(B))
            };
            static\ u0275cmp = L({
                type: t,
                selectors: [
                    ["p-toastItem"]
                ],
                viewQuery: function(i, o) {
                    if (i & 1 && U(Ai, 5), i & 2) {
                        let r;
                        C(r = D()) && (o.containerViewChild = r.first)
                    }
                },
                inputs: {
                    message: "message",
                    index: [2, "index", "index", z],
                    life: [2, "life", "life", z],
                    template: "template",
                    headlessTemplate: "headlessTemplate",
                    showTransformOptions: "showTransformOptions",
                    hideTransformOptions: "hideTransformOptions",
                    showTransitionOptions: "showTransitionOptions",
                    hideTransitionOptions: "hideTransitionOptions"
                },
                outputs: {
                    onClose: "onClose"
                },
                features: [A([et]), se],
                decls: 4,
                vars: 15,
                consts: [
                    ["container", ""],
                    ["role", "alert", "aria-live", "assertive", "aria-atomic", "true", 3, "mouseenter", "mouseleave", "ngClass"],
                    [3, "ngClass", "class"],
                    [4, "ngTemplateOutlet", "ngTemplateOutletContext"],
                    [3, "ngClass"],
                    [4, "ngIf"],
                    [3, "ngClass", 4, "ngIf"],
                    ["type", "button", "autofocus", "", 3, "click", "keydown.enter", "ariaLabel"]
                ],
                template: function(i, o) {
                    if (i & 1) {
                        let r = F();
                        f(0, "div", 1, 0), k("mouseenter", function() {
                            return y(r), w(o.onMouseEnter())
                        })("mouseleave", function() {
                            return y(r), w(o.onMouseLeave())
                        }), m(2, Nn, 1, 5, "ng-container")(3, Jn, 4, 10, "div", 2), v()
                    }
                    i & 2 && (H(o.message == null ? null : o.message.styleClass), l("ngClass", o.cx("message"))("@messageState", P(13, Fn, di(8, Ln, o.showTransformOptions, o.hideTransformOptions, o.showTransitionOptions, o.hideTransitionOptions))), _("id", o.message == null ? null : o.message.id)("data-pc-name", "toast")("data-pc-section", "root"), u(2), Ee(o.headlessTemplate ? 2 : 3))
                },
                dependencies: [q, le, ie, me, Ti, Ii, ki, Ri, Ei, O],
                encapsulation: 2,
                data: {
                    animation: [fe("messageState", [Ce("visible", Z({
                        transform: "translateY(0)",
                        opacity: 1
                    })), K("void => *", [Z({
                        transform: "{{showTransformParams}}",
                        opacity: 0
                    }), ne("{{showTransitionParams}}")]), K("* => void", [ne("{{hideTransitionParams}}", Z({
                        height: 0,
                        opacity: 0,
                        transform: "{{hideTransformParams}}"
                    }))])])]
                },
                changeDetection: 0
            })
        }
        return t
    })(),
    ao = (() => {
        class t extends _e {
            key;
            autoZIndex = !0;
            baseZIndex = 0;
            life = 3e3;
            style;
            styleClass;
            get position() {
                return this._position
            }
            set position(e) {
                this._position = e, this.cd.markForCheck()
            }
            preventOpenDuplicates = !1;
            preventDuplicates = !1;
            showTransformOptions = "translateY(100%)";
            hideTransformOptions = "translateY(-100%)";
            showTransitionOptions = "300ms ease-out";
            hideTransitionOptions = "250ms ease-in";
            breakpoints;
            onClose = new x;
            template;
            headlessTemplate;
            containerViewChild;
            messageSubscription;
            clearSubscription;
            messages;
            messagesArchieve;
            _position = "top-right";
            messageService = p(Di);
            _componentStyle = p(et);
            styleElement;
            id = Ye("pn_id_");
            templates;
            ngOnInit() {
                super.ngOnInit(), this.messageSubscription = this.messageService.messageObserver.subscribe(e => {
                    if (e)
                        if (Array.isArray(e)) {
                            let i = e.filter(o => this.canAdd(o));
                            this.add(i)
                        } else this.canAdd(e) && this.add([e])
                }), this.clearSubscription = this.messageService.clearObserver.subscribe(e => {
                    e ? this.key === e && (this.messages = null) : this.messages = null, this.cd.markForCheck()
                })
            }
            _template;
            _headlessTemplate;
            ngAfterContentInit() {
                this.templates ? .forEach(e => {
                    switch (e.getType()) {
                        case "message":
                            this._template = e.template;
                            break;
                        case "headless":
                            this._headlessTemplate = e.template;
                            break;
                        default:
                            this._template = e.template;
                            break
                    }
                })
            }
            ngAfterViewInit() {
                super.ngAfterViewInit(), this.breakpoints && this.createStyle()
            }
            add(e) {
                this.messages = this.messages ? [...this.messages, ...e] : [...e], this.preventDuplicates && (this.messagesArchieve = this.messagesArchieve ? [...this.messagesArchieve, ...e] : [...e]), this.cd.markForCheck()
            }
            canAdd(e) {
                let i = this.key === e.key;
                return i && this.preventOpenDuplicates && (i = !this.containsMessage(this.messages, e)), i && this.preventDuplicates && (i = !this.containsMessage(this.messagesArchieve, e)), i
            }
            containsMessage(e, i) {
                return e ? e.find(o => o.summary === i.summary && o.detail == i.detail && o.severity === i.severity) != null : !1
            }
            onMessageClose(e) {
                this.messages ? .splice(e.index, 1), this.onClose.emit({
                    message: e.message
                }), this.cd.detectChanges()
            }
            onAnimationStart(e) {
                e.fromState === "void" && (this.renderer.setAttribute(this.containerViewChild ? .nativeElement, this.id, ""), this.autoZIndex && this.containerViewChild ? .nativeElement.style.zIndex === "" && N.set("modal", this.containerViewChild ? .nativeElement, this.baseZIndex || this.config.zIndex.modal))
            }
            onAnimationEnd(e) {
                e.toState === "void" && this.autoZIndex && Ci(this.messages) && N.clear(this.containerViewChild ? .nativeElement)
            }
            createStyle() {
                if (!this.styleElement) {
                    this.styleElement = this.renderer.createElement("style"), this.styleElement.type = "text/css", this.renderer.appendChild(this.document.head, this.styleElement);
                    let e = "";
                    for (let i in this.breakpoints) {
                        let o = "";
                        for (let r in this.breakpoints[i]) o += r + ":" + this.breakpoints[i][r] + " !important;";
                        e += `
                    @media screen and (max-width: ${i}) {
                        .p-toast[${this.id}] {
                           ${o}
                        }
                    }
                `
                    }
                    this.renderer.setProperty(this.styleElement, "innerHTML", e), xi(this.styleElement, "nonce", this.config ? .csp() ? .nonce)
                }
            }
            destroyStyle() {
                this.styleElement && (this.renderer.removeChild(this.document.head, this.styleElement), this.styleElement = null)
            }
            ngOnDestroy() {
                this.messageSubscription && this.messageSubscription.unsubscribe(), this.containerViewChild && this.autoZIndex && N.clear(this.containerViewChild.nativeElement), this.clearSubscription && this.clearSubscription.unsubscribe(), this.destroyStyle(), super.ngOnDestroy()
            }
            static\ u0275fac = (() => {
                let e;
                return function(o) {
                    return (e || (e = re(t)))(o || t)
                }
            })();
            static\ u0275cmp = L({
                type: t,
                selectors: [
                    ["p-toast"]
                ],
                contentQueries: function(i, o, r) {
                    if (i & 1 && (E(r, eo, 5), E(r, to, 5), E(r, De, 4)), i & 2) {
                        let s;
                        C(s = D()) && (o.template = s.first), C(s = D()) && (o.headlessTemplate = s.first), C(s = D()) && (o.templates = s)
                    }
                },
                viewQuery: function(i, o) {
                    if (i & 1 && U(Ai, 5), i & 2) {
                        let r;
                        C(r = D()) && (o.containerViewChild = r.first)
                    }
                },
                inputs: {
                    key: "key",
                    autoZIndex: [2, "autoZIndex", "autoZIndex", I],
                    baseZIndex: [2, "baseZIndex", "baseZIndex", z],
                    life: [2, "life", "life", z],
                    style: "style",
                    styleClass: "styleClass",
                    position: "position",
                    preventOpenDuplicates: [2, "preventOpenDuplicates", "preventOpenDuplicates", I],
                    preventDuplicates: [2, "preventDuplicates", "preventDuplicates", I],
                    showTransformOptions: "showTransformOptions",
                    hideTransformOptions: "hideTransformOptions",
                    showTransitionOptions: "showTransitionOptions",
                    hideTransitionOptions: "hideTransitionOptions",
                    breakpoints: "breakpoints"
                },
                outputs: {
                    onClose: "onClose"
                },
                features: [A([et]), se],
                decls: 3,
                vars: 7,
                consts: [
                    ["container", ""],
                    [3, "ngClass", "ngStyle"],
                    [3, "message", "index", "life", "template", "headlessTemplate", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "onClose", 4, "ngFor", "ngForOf"],
                    [3, "onClose", "message", "index", "life", "template", "headlessTemplate", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions"]
                ],
                template: function(i, o) {
                    i & 1 && (f(0, "div", 1, 0), m(2, io, 1, 10, "p-toastItem", 2), v()), i & 2 && (ai(o.style), H(o.styleClass), l("ngClass", o.cx("root"))("ngStyle", o.sx("root")), u(2), l("ngForOf", o.messages))
                },
                dependencies: [q, le, Ue, ue, so, O],
                encapsulation: 2,
                data: {
                    animation: [fe("toastAnimation", [K(":enter, :leave", [gi("@*", _i())])])]
                },
                changeDetection: 0
            })
        }
        return t
    })(),
    us = (() => {
        class t {
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275mod = G({
                type: t
            });
            static\ u0275inj = W({
                imports: [ao, O, O]
            })
        }
        return t
    })();
var lo = ["pMenuItemContent", ""],
    Ni = t => ({
        "p-disabled": t
    }),
    tt = t => ({
        $implicit: t
    }),
    co = () => ({
        exact: !1
    });

function po(t, n) {
    t & 1 && ee(0)
}

function ho(t, n) {
    if (t & 1 && (f(0, "a", 6), m(1, po, 1, 0, "ng-container", 7), v()), t & 2) {
        let e = d(2),
            i = Me(4);
        l("target", e.item.target)("ngClass", P(9, Ni, e.item.disabled)), _("title", e.item.title)("href", e.item.url || null, ni)("data-automationid", e.item.automationId)("tabindex", -1)("data-pc-section", "action"), u(), l("ngTemplateOutlet", i)("ngTemplateOutletContext", P(11, tt, e.item))
    }
}

function uo(t, n) {
    t & 1 && ee(0)
}

function mo(t, n) {
    if (t & 1 && (f(0, "a", 8), m(1, uo, 1, 0, "ng-container", 7), v()), t & 2) {
        let e = d(2),
            i = Me(4);
        l("routerLink", e.item.routerLink)("queryParams", e.item.queryParams)("routerLinkActiveOptions", e.item.routerLinkActiveOptions || ci(17, co))("target", e.item.target)("ngClass", P(18, Ni, e.item.disabled))("fragment", e.item.fragment)("queryParamsHandling", e.item.queryParamsHandling)("preserveFragment", e.item.preserveFragment)("skipLocationChange", e.item.skipLocationChange)("replaceUrl", e.item.replaceUrl)("state", e.item.state), _("data-automationid", e.item.automationId)("tabindex", -1)("data-pc-section", "action")("title", e.item.title), u(), l("ngTemplateOutlet", i)("ngTemplateOutletContext", P(20, tt, e.item))
    }
}

function fo(t, n) {
    if (t & 1 && (we(0), m(1, ho, 2, 13, "a", 4)(2, mo, 2, 22, "a", 5), xe()), t & 2) {
        let e = d();
        u(), l("ngIf", !(e.item != null && e.item.routerLink)), u(), l("ngIf", e.item == null ? null : e.item.routerLink)
    }
}

function _o(t, n) {}

function go(t, n) {
    t & 1 && m(0, _o, 0, 0, "ng-template")
}

function vo(t, n) {
    if (t & 1 && (we(0), m(1, go, 1, 0, null, 7), xe()), t & 2) {
        let e = d();
        u(), l("ngTemplateOutlet", e.itemTemplate)("ngTemplateOutletContext", P(2, tt, e.item))
    }
}

function bo(t, n) {
    if (t & 1 && T(0, "span", 12), t & 2) {
        let e = d(2);
        H(e.item.iconClass), l("ngClass", e.item.icon)("ngStyle", e.item.iconStyle)
    }
}

function yo(t, n) {
    if (t & 1 && (f(0, "span", 13), te(1), v()), t & 2) {
        let e = d(2);
        u(), ae(e.item.label)
    }
}

function wo(t, n) {
    if (t & 1 && (T(0, "span", 14), yt(1, "safeHtml")), t & 2) {
        let e = d(2);
        l("innerHTML", wt(1, 1, e.item.label), vt)
    }
}

function xo(t, n) {
    if (t & 1 && T(0, "p-badge", 15), t & 2) {
        let e = d(2);
        l("styleClass", e.item.badgeStyleClass)("value", e.item.badge)
    }
}

function Co(t, n) {
    if (t & 1 && m(0, bo, 1, 4, "span", 9)(1, yo, 2, 1, "span", 10)(2, wo, 2, 3, "ng-template", null, 1, We)(4, xo, 1, 2, "p-badge", 11), t & 2) {
        let e = Me(3),
            i = d();
        l("ngIf", i.item.icon), u(), l("ngIf", i.item.escape !== !1)("ngIfElse", e), u(3), l("ngIf", i.item.badge)
    }
}
var Do = ["start"],
    So = ["end"],
    To = ["header"],
    Io = ["item"],
    ko = ["submenuheader"],
    Ro = ["list"],
    Eo = ["container"],
    Po = t => ({
        "p-menu p-component": !0,
        "p-menu-overlay": t
    }),
    Oo = (t, n) => ({
        showTransitionParams: t,
        hideTransitionParams: n
    }),
    Mo = t => ({
        value: "visible",
        params: t
    }),
    Lo = (t, n) => ({
        "p-hidden": t,
        flex: n
    }),
    $i = (t, n) => ({
        "p-focus": t,
        "p-disabled": n
    });

function Fo(t, n) {
    t & 1 && ee(0)
}

function Vo(t, n) {
    if (t & 1 && (f(0, "div", 9), m(1, Fo, 1, 0, "ng-container", 10), v()), t & 2) {
        let e, i = d(2);
        _("data-pc-section", "start"), u(), l("ngTemplateOutlet", (e = i.startTemplate) !== null && e !== void 0 ? e : i._startTemplate)
    }
}

function Ao(t, n) {
    t & 1 && T(0, "li", 14)
}

function zo(t, n) {
    if (t & 1 && (f(0, "span"), te(1), v()), t & 2) {
        let e = d(3).$implicit;
        u(), ae(e.label)
    }
}

function No(t, n) {
    if (t & 1 && (T(0, "span", 18), yt(1, "safeHtml")), t & 2) {
        let e = d(3).$implicit;
        l("innerHTML", wt(1, 1, e.label), vt)
    }
}

function $o(t, n) {
    if (t & 1 && (we(0), m(1, zo, 2, 1, "span", 17)(2, No, 2, 3, "ng-template", null, 2, We), xe()), t & 2) {
        let e = Me(3),
            i = d(2).$implicit;
        u(), l("ngIf", i.escape !== !1)("ngIfElse", e)
    }
}

function Bo(t, n) {
    t & 1 && ee(0)
}

function Ho(t, n) {
    if (t & 1 && (f(0, "li", 15), m(1, $o, 4, 2, "ng-container", 7)(2, Bo, 1, 0, "ng-container", 16), v()), t & 2) {
        let e, i = d(),
            o = i.$implicit,
            r = i.index,
            s = d(3);
        l("ngClass", Q(7, Lo, o.visible === !1, o.visible))("tooltipOptions", o.tooltipOptions), _("data-automationid", o.automationId)("id", s.menuitemId(o, s.id, r)), u(), l("ngIf", !s.submenuHeaderTemplate && !s._submenuHeaderTemplate), u(), l("ngTemplateOutlet", (e = s.submenuHeaderTemplate) !== null && e !== void 0 ? e : s._submenuHeaderTemplate)("ngTemplateOutletContext", P(10, tt, o))
    }
}

function jo(t, n) {
    t & 1 && T(0, "li", 14)
}

function Zo(t, n) {
    if (t & 1) {
        let e = F();
        f(0, "li", 20), k("onMenuItemClick", function(o) {
            y(e);
            let r = d(),
                s = r.$implicit,
                a = r.index,
                c = d().index,
                h = d(3);
            return w(h.itemClick(o, h.menuitemId(s, h.id, c, a)))
        }), v()
    }
    if (t & 2) {
        let e, i = d(),
            o = i.$implicit,
            r = i.index,
            s = d().index,
            a = d(3);
        H(o.styleClass), l("pMenuItemContent", o)("itemTemplate", (e = a.itemTemplate) !== null && e !== void 0 ? e : a._itemTemplate)("ngClass", Q(13, $i, a.focusedOptionId() && a.menuitemId(o, a.id, s, r) === a.focusedOptionId(), a.disabled(o.disabled)))("ngStyle", o.style)("tooltipOptions", o.tooltipOptions), _("data-pc-section", "menuitem")("aria-label", a.label(o.label))("data-p-focused", a.isItemFocused(a.menuitemId(o, a.id, s, r)))("data-p-disabled", a.disabled(o.disabled))("aria-disabled", a.disabled(o.disabled))("id", a.menuitemId(o, a.id, s, r))
    }
}

function Wo(t, n) {
    if (t & 1 && m(0, jo, 1, 0, "li", 12)(1, Zo, 1, 16, "li", 19), t & 2) {
        let e = n.$implicit,
            i = d().$implicit;
        l("ngIf", e.separator && (e.visible !== !1 || i.visible !== !1)), u(), l("ngIf", !e.separator && e.visible !== !1 && (e.visible !== void 0 || i.visible !== !1))
    }
}

function Go(t, n) {
    if (t & 1 && m(0, Ao, 1, 0, "li", 12)(1, Ho, 3, 12, "li", 13)(2, Wo, 2, 2, "ng-template", 11), t & 2) {
        let e = n.$implicit;
        l("ngIf", e.separator && e.visible !== !1), u(), l("ngIf", !e.separator), u(), l("ngForOf", e.items)
    }
}

function Uo(t, n) {
    if (t & 1 && m(0, Go, 3, 3, "ng-template", 11), t & 2) {
        let e = d(2);
        l("ngForOf", e.model)
    }
}

function Qo(t, n) {
    t & 1 && T(0, "li", 14)
}

function qo(t, n) {
    if (t & 1) {
        let e = F();
        f(0, "li", 20), k("onMenuItemClick", function(o) {
            y(e);
            let r = d(),
                s = r.$implicit,
                a = r.index,
                c = d(3);
            return w(c.itemClick(o, c.menuitemId(s, c.id, a)))
        }), v()
    }
    if (t & 2) {
        let e, i = d(),
            o = i.$implicit,
            r = i.index,
            s = d(3);
        H(o.styleClass), l("pMenuItemContent", o)("itemTemplate", (e = s.itemTemplate) !== null && e !== void 0 ? e : s._itemTemplate)("ngClass", Q(13, $i, s.focusedOptionId() && s.menuitemId(o, s.id, r) === s.focusedOptionId(), s.disabled(o.disabled)))("ngStyle", o.style)("tooltipOptions", o.tooltipOptions), _("data-pc-section", "menuitem")("aria-label", s.label(o.label))("data-p-focused", s.isItemFocused(s.menuitemId(o, s.id, r)))("data-p-disabled", s.disabled(o.disabled))("aria-disabled", s.disabled(o.disabled))("id", s.menuitemId(o, s.id, r))
    }
}

function Ko(t, n) {
    if (t & 1 && m(0, Qo, 1, 0, "li", 12)(1, qo, 1, 16, "li", 19), t & 2) {
        let e = n.$implicit;
        l("ngIf", e.separator && e.visible !== !1), u(), l("ngIf", !e.separator && e.visible !== !1)
    }
}

function Yo(t, n) {
    if (t & 1 && m(0, Ko, 2, 2, "ng-template", 11), t & 2) {
        let e = d(2);
        l("ngForOf", e.model)
    }
}

function Xo(t, n) {
    t & 1 && ee(0)
}

function Jo(t, n) {
    if (t & 1 && (f(0, "div", 21), m(1, Xo, 1, 0, "ng-container", 10), v()), t & 2) {
        let e, i = d(2);
        _("data-pc-section", "end"), u(), l("ngTemplateOutlet", (e = i.endTemplate) !== null && e !== void 0 ? e : i._endTemplate)
    }
}

function er(t, n) {
    if (t & 1) {
        let e = F();
        f(0, "div", 4, 0), k("click", function(o) {
            y(e);
            let r = d();
            return w(r.onOverlayClick(o))
        })("@overlayAnimation.start", function(o) {
            y(e);
            let r = d();
            return w(r.onOverlayAnimationStart(o))
        })("@overlayAnimation.done", function(o) {
            y(e);
            let r = d();
            return w(r.onOverlayAnimationEnd(o))
        }), m(2, Vo, 2, 2, "div", 5), f(3, "ul", 6, 1), k("focus", function(o) {
            y(e);
            let r = d();
            return w(r.onListFocus(o))
        })("blur", function(o) {
            y(e);
            let r = d();
            return w(r.onListBlur(o))
        })("keydown", function(o) {
            y(e);
            let r = d();
            return w(r.onListKeyDown(o))
        }), m(5, Uo, 1, 1, null, 7)(6, Yo, 1, 1, null, 7), v(), m(7, Jo, 2, 2, "div", 8), v()
    }
    if (t & 2) {
        let e, i, o = d();
        H(o.styleClass), l("ngClass", P(18, Po, o.popup))("ngStyle", o.style)("@overlayAnimation", P(23, Mo, Q(20, Oo, o.showTransitionOptions, o.hideTransitionOptions)))("@.disabled", o.popup !== !0), _("data-pc-name", "menu")("id", o.id), u(2), l("ngIf", (e = o.startTemplate) !== null && e !== void 0 ? e : o._startTemplate), u(), _("id", o.id + "_list")("tabindex", o.getTabIndexValue())("data-pc-section", "menu")("aria-activedescendant", o.activedescendant())("aria-label", o.ariaLabel)("aria-labelledBy", o.ariaLabelledBy), u(2), l("ngIf", o.hasSubMenu()), u(), l("ngIf", !o.hasSubMenu()), u(), l("ngIf", (i = o.endTemplate) !== null && i !== void 0 ? i : o._endTemplate)
    }
}
var tr = ({
        dt: t
    }) => `
.p-menu {
    background: ${t("menu.background")};
    color: ${t("menu.color")};
    border: 1px solid ${t("menu.border.color")};
    border-radius: ${t("menu.border.radius")};
    min-width: 12.5rem;
}

.p-menu-list {
    margin: 0;
    padding: ${t("menu.list.padding")};
    outline: 0 none;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: ${t("menu.list.gap")};
}

.p-menu-item-content {
    transition: background ${t("menu.transition.duration")}, color ${t("menu.transition.duration")};
    border-radius: ${t("menu.item.border.radius")};
    color: ${t("menu.item.color")};
}

.p-menu-item-link {
    cursor: pointer;
    display: flex;
    align-items: center;
    text-decoration: none;
    overflow: hidden;
    position: relative;
    color: inherit;
    padding: ${t("menu.item.padding")};
    gap: ${t("menu.item.gap")};
    user-select: none;
    outline: 0 none;
}

.p-menu-item-label {
    line-height: 1;
}

.p-menu-item-icon {
    color: ${t("menu.item.icon.color")};
}

.p-menu-item.p-focus .p-menu-item-content {
    color: ${t("menu.item.focus.color")};
    background: ${t("menu.item.focus.background")};
}

.p-menu-item.p-focus .p-menu-item-icon {
    color: ${t("menu.item.icon.focus.color")};
}

.p-menu-item:not(.p-disabled) .p-menu-item-content:hover {
    color: ${t("menu.item.focus.color")};
    background: ${t("menu.item.focus.background")};
}

.p-menu-item:not(.p-disabled) .p-menu-item-content:hover .p-menu-item-icon {
    color: ${t("menu.item.icon.focus.color")};
}

.p-menu-overlay {
    box-shadow: ${t("menu.shadow")};
}

.p-menu-submenu-label {
    background: ${t("menu.submenu.label.background")};
    padding: ${t("menu.submenu.label.padding")};
    color: ${t("menu.submenu.label.color")};
    font-weight: ${t("menu.submenu.label.font.weight")};
}

.p-menu-separator {
    border-top: 1px solid ${t("menu.separator.border.color")};
}

/* For PrimeNG */
.p-menu-overlay {
    position: absolute;
}
`,
    ir = {
        root: ({
            props: t
        }) => ["p-menu p-component", {
            "p-menu-overlay": t.popup
        }],
        start: "p-menu-start",
        list: "p-menu-list",
        submenuLabel: "p-menu-submenu-label",
        separator: "p-menu-separator",
        end: "p-menu-end",
        item: ({
            instance: t
        }) => ["p-menu-item", {
            "p-focus": t.id === t.focusedOptionId,
            "p-disabled": t.disabled()
        }],
        itemContent: "p-menu-item-content",
        itemLink: "p-menu-item-link",
        itemIcon: "p-menu-item-icon",
        itemLabel: "p-menu-item-label"
    },
    zi = (() => {
        class t extends Se {
            name = "menu";
            theme = tr;
            classes = ir;
            static\ u0275fac = (() => {
                let e;
                return function(o) {
                    return (e || (e = re(t)))(o || t)
                }
            })();
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac
            })
        }
        return t
    })();
var Bi = (() => {
        class t {
            platformId;
            sanitizer;
            constructor(e, i) {
                this.platformId = e, this.sanitizer = i
            }
            transform(e) {
                return !e || !j(this.platformId) ? e : this.sanitizer.bypassSecurityTrustHtml(e)
            }
            static\ u0275fac = function(i) {
                return new(i || t)(pe(je, 16), pe(ui, 16))
            };
            static\ u0275pipe = ri({
                name: "safeHtml",
                type: t,
                pure: !0
            })
        }
        return t
    })(),
    nr = (() => {
        class t {
            item;
            itemTemplate;
            onMenuItemClick = new x;
            menu;
            constructor(e) {
                this.menu = e
            }
            onItemClick(e, i) {
                this.onMenuItemClick.emit({
                    originalEvent: e,
                    item: i
                })
            }
            static\ u0275fac = function(i) {
                return new(i || t)(pe(ft(() => Hi)))
            };
            static\ u0275cmp = L({
                type: t,
                selectors: [
                    ["", "pMenuItemContent", ""]
                ],
                inputs: {
                    item: [0, "pMenuItemContent", "item"],
                    itemTemplate: "itemTemplate"
                },
                outputs: {
                    onMenuItemClick: "onMenuItemClick"
                },
                attrs: lo,
                decls: 5,
                vars: 3,
                consts: [
                    ["itemContent", ""],
                    ["htmlLabel", ""],
                    [1, "p-menu-item-content", 3, "click"],
                    [4, "ngIf"],
                    ["class", "p-menu-item-link", "pRipple", "", 3, "target", "ngClass", 4, "ngIf"],
                    ["routerLinkActive", "p-menu-item-link-active", "class", "p-menu-item-link", "pRipple", "", 3, "routerLink", "queryParams", "routerLinkActiveOptions", "target", "ngClass", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", 4, "ngIf"],
                    ["pRipple", "", 1, "p-menu-item-link", 3, "target", "ngClass"],
                    [4, "ngTemplateOutlet", "ngTemplateOutletContext"],
                    ["routerLinkActive", "p-menu-item-link-active", "pRipple", "", 1, "p-menu-item-link", 3, "routerLink", "queryParams", "routerLinkActiveOptions", "target", "ngClass", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state"],
                    ["class", "p-menu-item-icon", 3, "ngClass", "class", "ngStyle", 4, "ngIf"],
                    ["class", "p-menu-item-label", 4, "ngIf", "ngIfElse"],
                    [3, "styleClass", "value", 4, "ngIf"],
                    [1, "p-menu-item-icon", 3, "ngClass", "ngStyle"],
                    [1, "p-menu-item-label"],
                    [1, "p-menu-item-label", 3, "innerHTML"],
                    [3, "styleClass", "value"]
                ],
                template: function(i, o) {
                    if (i & 1) {
                        let r = F();
                        f(0, "div", 2), k("click", function(a) {
                            return y(r), w(o.onItemClick(a, o.item))
                        }), m(1, fo, 3, 2, "ng-container", 3)(2, vo, 2, 4, "ng-container", 3)(3, Co, 5, 4, "ng-template", null, 0, We), v()
                    }
                    i & 2 && (_("data-pc-section", "content"), u(), l("ngIf", !o.itemTemplate), u(), l("ngIf", o.itemTemplate))
                },
                dependencies: [q, le, ie, me, ue, Ct, mi, fi, Oi, St, Tt, Li, O, Bi],
                encapsulation: 2
            })
        }
        return t
    })(),
    Hi = (() => {
        class t extends _e {
            overlayService;
            model;
            popup;
            style;
            styleClass;
            appendTo;
            autoZIndex = !0;
            baseZIndex = 0;
            showTransitionOptions = ".12s cubic-bezier(0, 0, 0.2, 1)";
            hideTransitionOptions = ".1s linear";
            ariaLabel;
            ariaLabelledBy;
            id;
            tabindex = 0;
            onShow = new x;
            onHide = new x;
            onBlur = new x;
            onFocus = new x;
            listViewChild;
            containerViewChild;
            container;
            scrollHandler;
            documentClickListener;
            documentResizeListener;
            preventDocumentDefault;
            target;
            visible;
            focusedOptionId = pi(() => this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : null);
            focusedOptionIndex = be(-1);
            selectedOptionIndex = be(-1);
            focused = !1;
            overlayVisible = !1;
            relativeAlign;
            _componentStyle = p(zi);
            constructor(e) {
                super(), this.overlayService = e, this.id = this.id || Ye("pn_id_")
            }
            toggle(e) {
                this.visible ? this.hide() : this.show(e), this.preventDocumentDefault = !0
            }
            show(e) {
                this.target = e.currentTarget, this.relativeAlign = e.relativeAlign, this.visible = !0, this.preventDocumentDefault = !0, this.overlayVisible = !0, this.cd.markForCheck()
            }
            ngOnInit() {
                super.ngOnInit(), this.popup || this.bindDocumentClickListener()
            }
            startTemplate;
            _startTemplate;
            endTemplate;
            _endTemplate;
            headerTemplate;
            _headerTemplate;
            itemTemplate;
            _itemTemplate;
            submenuHeaderTemplate;
            _submenuHeaderTemplate;
            templates;
            ngAfterContentInit() {
                this.templates ? .forEach(e => {
                    switch (e.getType()) {
                        case "start":
                            this._startTemplate = e.template;
                            break;
                        case "end":
                            this._endTemplate = e.template;
                            break;
                        case "item":
                            this._itemTemplate = e.template;
                            break;
                        case "submenuheader":
                            this._submenuHeaderTemplate = e.template;
                            break;
                        default:
                            this._itemTemplate = e.template;
                            break
                    }
                })
            }
            getTabIndexValue() {
                return this.tabindex !== void 0 ? this.tabindex.toString() : null
            }
            onOverlayAnimationStart(e) {
                switch (e.toState) {
                    case "visible":
                        this.popup && (this.container = e.element, this.moveOnTop(), this.onShow.emit({}), this.appendOverlay(), this.alignOverlay(), this.bindDocumentClickListener(), this.bindDocumentResizeListener(), this.bindScrollListener(), Ve(this.listViewChild.nativeElement));
                        break;
                    case "void":
                        this.onOverlayHide(), this.onHide.emit({});
                        break
                }
            }
            onOverlayAnimationEnd(e) {
                switch (e.toState) {
                    case "void":
                        this.autoZIndex && N.clear(e.element);
                        break
                }
            }
            alignOverlay() {
                this.relativeAlign ? yi(this.container, this.target) : Qe(this.container, this.target)
            }
            appendOverlay() {
                this.appendTo && (this.appendTo === "body" ? this.renderer.appendChild(this.document.body, this.container) : qe(this.appendTo, this.container))
            }
            restoreOverlayAppend() {
                this.container && this.appendTo && this.renderer.appendChild(this.el.nativeElement, this.container)
            }
            moveOnTop() {
                this.autoZIndex && N.set("menu", this.container, this.baseZIndex + this.config.zIndex.menu)
            }
            hide() {
                this.visible = !1, this.relativeAlign = !1, this.cd.markForCheck()
            }
            onWindowResize() {
                this.visible && !Ke() && this.hide()
            }
            menuitemId(e, i, o, r) {
                return e ? .id ? ? `${i}_${o}${r!==void 0?"_"+r:""}`
            }
            isItemFocused(e) {
                return this.focusedOptionId() === e
            }
            label(e) {
                return typeof e == "function" ? e() : e
            }
            disabled(e) {
                return typeof e == "function" ? e() : typeof e > "u" ? !1 : e
            }
            activedescendant() {
                return this.focused ? this.focusedOptionId() : void 0
            }
            onListFocus(e) {
                this.focused || (this.focused = !0, this.onFocus.emit(e))
            }
            onListBlur(e) {
                this.focused && (this.focused = !1, this.changeFocusedOptionIndex(-1), this.selectedOptionIndex.set(-1), this.focusedOptionIndex.set(-1), this.onBlur.emit(e))
            }
            onListKeyDown(e) {
                switch (e.code) {
                    case "ArrowDown":
                        this.onArrowDownKey(e);
                        break;
                    case "ArrowUp":
                        this.onArrowUpKey(e);
                        break;
                    case "Home":
                        this.onHomeKey(e);
                        break;
                    case "End":
                        this.onEndKey(e);
                        break;
                    case "Enter":
                        this.onEnterKey(e);
                        break;
                    case "NumpadEnter":
                        this.onEnterKey(e);
                        break;
                    case "Space":
                        this.onSpaceKey(e);
                        break;
                    case "Escape":
                    case "Tab":
                        this.popup && (Ve(this.target), this.hide()), this.overlayVisible && this.hide();
                        break;
                    default:
                        break
                }
            }
            onArrowDownKey(e) {
                let i = this.findNextOptionIndex(this.focusedOptionIndex());
                this.changeFocusedOptionIndex(i), e.preventDefault()
            }
            onArrowUpKey(e) {
                if (e.altKey && this.popup) Ve(this.target), this.hide(), e.preventDefault();
                else {
                    let i = this.findPrevOptionIndex(this.focusedOptionIndex());
                    this.changeFocusedOptionIndex(i), e.preventDefault()
                }
            }
            onHomeKey(e) {
                this.changeFocusedOptionIndex(0), e.preventDefault()
            }
            onEndKey(e) {
                this.changeFocusedOptionIndex(Le(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]').length - 1), e.preventDefault()
            }
            onEnterKey(e) {
                let i = Fe(this.containerViewChild.nativeElement, `li[id="${`${this.focusedOptionIndex()}`}"]`),
                    o = i && Fe(i, 'a[data-pc-section="action"]');
                this.popup && Ve(this.target), o ? o.click() : i && i.click(), e.preventDefault()
            }
            onSpaceKey(e) {
                this.onEnterKey(e)
            }
            findNextOptionIndex(e) {
                let o = [...Le(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]')].findIndex(r => r.id === e);
                return o > -1 ? o + 1 : 0
            }
            findPrevOptionIndex(e) {
                let o = [...Le(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]')].findIndex(r => r.id === e);
                return o > -1 ? o - 1 : 0
            }
            changeFocusedOptionIndex(e) {
                let i = Le(this.containerViewChild.nativeElement, 'li[data-pc-section="menuitem"][data-p-disabled="false"]');
                if (i.length > 0) {
                    let o = e >= i.length ? i.length - 1 : e < 0 ? 0 : e;
                    o > -1 && this.focusedOptionIndex.set(i[o].getAttribute("id"))
                }
            }
            itemClick(e, i) {
                let {
                    originalEvent: o,
                    item: r
                } = e;
                if (this.focused || (this.focused = !0, this.onFocus.emit()), r.disabled) {
                    o.preventDefault();
                    return
                }!r.url && !r.routerLink && o.preventDefault(), r.command && r.command({
                    originalEvent: o,
                    item: r
                }), this.popup && this.hide(), !this.popup && this.focusedOptionIndex() !== i && this.focusedOptionIndex.set(i)
            }
            onOverlayClick(e) {
                this.popup && this.overlayService.add({
                    originalEvent: e,
                    target: this.el.nativeElement
                }), this.preventDocumentDefault = !0
            }
            bindDocumentClickListener() {
                if (!this.documentClickListener && j(this.platformId)) {
                    let e = this.el ? this.el.nativeElement.ownerDocument : "document";
                    this.documentClickListener = this.renderer.listen(e, "click", i => {
                        let o = this.containerViewChild ? .nativeElement && !this.containerViewChild ? .nativeElement.contains(i.target),
                            r = !(this.target && (this.target === i.target || this.target.contains(i.target)));
                        !this.popup && o && r && this.onListBlur(i), this.preventDocumentDefault && this.overlayVisible && o && r && (this.hide(), this.preventDocumentDefault = !1)
                    })
                }
            }
            unbindDocumentClickListener() {
                this.documentClickListener && (this.documentClickListener(), this.documentClickListener = null)
            }
            bindDocumentResizeListener() {
                if (!this.documentResizeListener && j(this.platformId)) {
                    let e = this.document.defaultView;
                    this.documentResizeListener = this.renderer.listen(e, "resize", this.onWindowResize.bind(this))
                }
            }
            unbindDocumentResizeListener() {
                this.documentResizeListener && (this.documentResizeListener(), this.documentResizeListener = null)
            }
            bindScrollListener() {
                !this.scrollHandler && j(this.platformId) && (this.scrollHandler = new Je(this.target, () => {
                    this.visible && this.hide()
                })), this.scrollHandler ? .bindScrollListener()
            }
            unbindScrollListener() {
                this.scrollHandler && (this.scrollHandler.unbindScrollListener(), this.scrollHandler = null)
            }
            onOverlayHide() {
                this.unbindDocumentClickListener(), this.unbindDocumentResizeListener(), this.unbindScrollListener(), this.preventDocumentDefault = !1, this.cd.destroyed || (this.target = null)
            }
            ngOnDestroy() {
                this.popup && (this.scrollHandler && (this.scrollHandler.destroy(), this.scrollHandler = null), this.container && this.autoZIndex && N.clear(this.container), this.restoreOverlayAppend(), this.onOverlayHide()), this.popup || this.unbindDocumentClickListener(), super.ngOnDestroy()
            }
            hasSubMenu() {
                return this.model ? .some(e => e.items) ? ? !1
            }
            isItemHidden(e) {
                return e.separator ? e.visible === !1 || e.items && e.items.some(i => i.visible !== !1) : e.visible === !1
            }
            static\ u0275fac = function(i) {
                return new(i || t)(pe(Xe))
            };
            static\ u0275cmp = L({
                type: t,
                selectors: [
                    ["p-menu"]
                ],
                contentQueries: function(i, o, r) {
                    if (i & 1 && (E(r, Do, 4), E(r, So, 4), E(r, To, 4), E(r, Io, 4), E(r, ko, 4), E(r, De, 4)), i & 2) {
                        let s;
                        C(s = D()) && (o.startTemplate = s.first), C(s = D()) && (o.endTemplate = s.first), C(s = D()) && (o.headerTemplate = s.first), C(s = D()) && (o.itemTemplate = s.first), C(s = D()) && (o.submenuHeaderTemplate = s.first), C(s = D()) && (o.templates = s)
                    }
                },
                viewQuery: function(i, o) {
                    if (i & 1 && (U(Ro, 5), U(Eo, 5)), i & 2) {
                        let r;
                        C(r = D()) && (o.listViewChild = r.first), C(r = D()) && (o.containerViewChild = r.first)
                    }
                },
                inputs: {
                    model: "model",
                    popup: [2, "popup", "popup", I],
                    style: "style",
                    styleClass: "styleClass",
                    appendTo: "appendTo",
                    autoZIndex: [2, "autoZIndex", "autoZIndex", I],
                    baseZIndex: [2, "baseZIndex", "baseZIndex", z],
                    showTransitionOptions: "showTransitionOptions",
                    hideTransitionOptions: "hideTransitionOptions",
                    ariaLabel: "ariaLabel",
                    ariaLabelledBy: "ariaLabelledBy",
                    id: "id",
                    tabindex: [2, "tabindex", "tabindex", z]
                },
                outputs: {
                    onShow: "onShow",
                    onHide: "onHide",
                    onBlur: "onBlur",
                    onFocus: "onFocus"
                },
                features: [A([zi]), se],
                decls: 1,
                vars: 1,
                consts: [
                    ["container", ""],
                    ["list", ""],
                    ["htmlSubmenuLabel", ""],
                    [3, "ngClass", "class", "ngStyle", "click", 4, "ngIf"],
                    [3, "click", "ngClass", "ngStyle"],
                    ["class", "p-menu-start", 4, "ngIf"],
                    ["role", "menu", 1, "p-menu-list", "p-reset", 3, "focus", "blur", "keydown"],
                    [4, "ngIf"],
                    ["class", "p-menu-end", 4, "ngIf"],
                    [1, "p-menu-start"],
                    [4, "ngTemplateOutlet"],
                    ["ngFor", "", 3, "ngForOf"],
                    ["class", "p-menu-separator", "role", "separator", 4, "ngIf"],
                    ["class", "p-menu-submenu-label", "pTooltip", "", "role", "none", 3, "ngClass", "tooltipOptions", 4, "ngIf"],
                    ["role", "separator", 1, "p-menu-separator"],
                    ["pTooltip", "", "role", "none", 1, "p-menu-submenu-label", 3, "ngClass", "tooltipOptions"],
                    [4, "ngTemplateOutlet", "ngTemplateOutletContext"],
                    [4, "ngIf", "ngIfElse"],
                    [3, "innerHTML"],
                    ["class", "p-menu-item", "pTooltip", "", "role", "menuitem", 3, "pMenuItemContent", "itemTemplate", "ngClass", "ngStyle", "class", "tooltipOptions", "onMenuItemClick", 4, "ngIf"],
                    ["pTooltip", "", "role", "menuitem", 1, "p-menu-item", 3, "onMenuItemClick", "pMenuItemContent", "itemTemplate", "ngClass", "ngStyle", "tooltipOptions"],
                    [1, "p-menu-end"]
                ],
                template: function(i, o) {
                    i & 1 && m(0, er, 8, 25, "div", 3), i & 2 && l("ngIf", !o.popup || o.visible)
                },
                dependencies: [q, le, Ue, ie, me, ue, Ct, nr, St, Mi, Tt, O, Bi],
                encapsulation: 2,
                data: {
                    animation: [fe("overlayAnimation", [K(":enter", [Z({
                        opacity: 0,
                        transform: "scaleY(0.8)"
                    }), ne("{{showTransitionParams}}")]), K(":leave", [ne("{{hideTransitionParams}}", Z({
                        opacity: 0
                    }))])])]
                },
                changeDetection: 0
            })
        }
        return t
    })(),
    Ws = (() => {
        class t {
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275mod = G({
                type: t
            });
            static\ u0275inj = W({
                imports: [Hi, O, O]
            })
        }
        return t
    })();
var or = ["panel"],
    rr = ["triggerButton"],
    sr = ["*"];

function ar(t, n) {
    if (t & 1 && (f(0, "span", 7), te(1), v()), t & 2) {
        let e = d();
        u(), ae(e.label)
    }
}
var Xs = (() => {
    class t {
        constructor() {
            this.isExpanded$ = new b, this.isExpanded = !1, this.subscriptions = []
        }
        ngOnInit() {
            this.isExpanded$ || (this.isExpanded$ = new b)
        }
        ngAfterViewInit() {
            if (this.panel && this.triggerButton ? .nativeElement) try {
                "target" in this.panel && (this.panel.target = this.triggerButton.nativeElement), this.panel.el && this.panel.targetElement && (this.panel.targetElement = this.triggerButton.nativeElement)
            } catch (e) {
                console.warn("Could not set popover target programmatically:", e)
            }
            this.subscriptions.push(this.isExpanded$.subscribe(e => {
                if (this.panel && this.triggerButton ? .nativeElement)
                    if (e) {
                        let i = new MouseEvent("click", {
                            bubbles: !0,
                            cancelable: !0,
                            view: window
                        });
                        Object.defineProperty(i, "target", {
                            value: this.triggerButton.nativeElement,
                            writable: !1,
                            enumerable: !0
                        }), Object.defineProperty(i, "currentTarget", {
                            value: this.triggerButton.nativeElement,
                            writable: !1,
                            enumerable: !0
                        }), this.panel.toggle(i)
                    } else this.panel.hide()
            })), this.panel && (this.panel.onShow.subscribe(() => this.onPanelShow(this)), this.panel.onHide.subscribe(() => this.onPanelHide(this)))
        }
        ngOnDestroy() {
            this.subscriptions.forEach(e => e.unsubscribe())
        }
        togglePanel(e) {
            e && this.triggerButton ? .nativeElement && (!e.target || e.target !== this.triggerButton.nativeElement) && (Object.defineProperty(e, "target", {
                value: this.triggerButton.nativeElement,
                writable: !1,
                enumerable: !0
            }), Object.defineProperty(e, "currentTarget", {
                value: this.triggerButton.nativeElement,
                writable: !1,
                enumerable: !0
            })), this.panel.toggle(e)
        }
        onPanelShow(e) {
            e.isExpanded = !0
        }
        onPanelHide(e) {
            e.isExpanded = !1
        }
        static {
            this.\u0275fac = function(i) {
                return new(i || t)
            }
        }
        static {
            this.\u0275cmp = L({
                type: t,
                selectors: [
                    ["app-dropdown-editor"]
                ],
                viewQuery: function(i, o) {
                    if (i & 1 && (U(or, 5), U(rr, 5)), i & 2) {
                        let r;
                        C(r = D()) && (o.panel = r.first), C(r = D()) && (o.triggerButton = r.first)
                    }
                },
                inputs: {
                    label: "label",
                    value: "value",
                    isExpanded$: "isExpanded$"
                },
                ngContentSelectors: sr,
                decls: 9,
                vars: 3,
                consts: [
                    ["triggerButton", ""],
                    ["panel", ""],
                    [1, "dropdown-editor__button", "pur-button", "pur-button--form-control", "pur-button--icon-pencil", "pur-button--icon-on-end", 3, "click"],
                    [1, "pur-float-label"],
                    ["class", "pur-float-label__label", 4, "ngIf"],
                    [1, "pur-float-label__value"],
                    ["styleClass", "pur-overlaypanel"],
                    [1, "pur-float-label__label"]
                ],
                template: function(i, o) {
                    if (i & 1) {
                        let r = F();
                        Pe(), f(0, "button", 2, 0), k("click", function(a) {
                            return y(r), w(o.togglePanel(a))
                        }), f(2, "span", 3), m(3, ar, 2, 1, "span", 4), f(4, "span", 5), te(5), v()()(), f(6, "p-popover", 6, 1), Oe(8), v()
                    }
                    i & 2 && (_("aria-expanded", o.isExpanded), u(3), l("ngIf", o.label), u(2), ae(o.value))
                },
                dependencies: [q, ie, vi, Vi, kt, Pi],
                styles: ['[_ngcontent-%COMP%]:root{--pur-xxs: .5rem;--pur-xs: 1rem;--pur-sm: 1.5rem;--pur-md: 2rem;--pur-lg: 3rem;--pur-xl: 4rem;--pur-xxl: 6rem;--pur-breakpoint-xxs: 23.4375rem;--pur-breakpoint-xs: 50rem;--pur-breakpoint-sm: 67.5rem;--pur-breakpoint-md: 80rem;--pur-breakpoint-lg: 90rem;--pur-breakpoint-xl: 100rem;--pur-breakpoint-xxl: 120rem;--pur-breakpoint-xxxl: 160rem;--pur-sidebar-width: 13.1875rem;--pur-max-width: var(--pur-breakpoint-xxxl);--pur-gap: var(--pur-sm);--pur-gap-xs: var(--pur-xs);--pur-primary-red: #f00000;--pur-primary-blue: #001996;--pur-secondary-blue: #00a9ce;--pur-secondary-blue-darker: #00819e;--pur-secondary-orange: #ffa300;--pur-secondary-yellow: #fbdd40;--pur-secondary-green: #64a70b;--pur-secondary-magenta: #c800a1;--pur-secondary-grey-light: #a2aaad;--pur-secondary-grey-dark: #000;--pur-web-yellow: #f8c81e;--pur-web-green: #61A30A;--pur-web-grey-lighter: #f5f6f6;--pur-web-grey-light: #d3d3d3;--pur-web-grey: #c0c0c0;--pur-web-grey-dark: #495057;--pur-text-light: #fff;--pur-text-dark: #111;--pur-blue-magenta: #53525a;--pur-link: #001996;--pur-link-hover: #0a38e6;--pur-light-blue: #1d4ed8;--pur-alice-blue: #eff6ff;--pur-canvas: #ededed;--pur-backdrop: #303136;--pur-danger: #eb0000;--pur-Pattens-Blue: #dee2e6;--pur-webtoolkit-lightgrey-disabled: rgb(229, 229, 229);--pur-webtoolkit-darkgrey: rgb(73, 80, 87);--pur-webtoolkit-textcolour: rgb(17, 17, 17);--pur-webtoolkit-dropdown-filled: rgb(233, 233, 233);--pur-webtext-lightgreycolour1: rgb(245, 245, 245);--pur-secondary-black-shadow: rgba(0, 0, 0, .25);--pur-dropdown-header: rgb(248, 249, 250);--pur-font-mobile-xxs: .875rem;--pur-font-mobile-xs: 1rem;--pur-font-mobile-sm: 1.125rem;--pur-font-mobile-md: 1.25rem;--pur-font-mobile-lg: 1.625rem;--pur-font-mobile-xl: 1.875rem;--pur-font-mobile-xxl: 2.5rem;--pur-font-desktop-xxs: .875rem;--pur-font-desktop-xs: 1rem;--pur-font-desktop-sm: 1.25rem;--pur-font-desktop-md: 1.5rem;--pur-font-desktop-lg: 1.75rem;--pur-font-desktop-xl: 2rem;--pur-font-desktop-xxl: 2.5rem;--pur-line-mobile-xxs: 1.5rem;--pur-line-mobile-xs: 1.5rem;--pur-line-mobile-sm: 1.75rem;--pur-line-mobile-md: 1.75rem;--pur-line-mobile-lg: 2.5rem;--pur-line-mobile-xl: 2.5rem;--pur-line-mobile-xxl: 2.5rem;--pur-line-desktop-xxs: 1.5rem;--pur-line-desktop-xs: 1.5rem;--pur-line-desktop-sm: 1.5625rem;--pur-line-desktop-md: 2rem;--pur-line-desktop-lg: 3.5rem;--pur-line-desktop-xl: 3.75rem;--pur-line-desktop-xxl: 4.125rem;--pur-font-normal: 400;--pur-font-semibold: 600;--pur-font-body-family: "Open Sans", Arial, Helvetica, sans-serif;--pur-font-h1: var(--pur-font-normal) var(--pur-font-mobile-xxl)/var(--pur-line-mobile-xxl) var(--pur-font-body-family);--pur-font-h2: var(--pur-font-normal) var(--pur-font-mobile-xl)/var(--pur-line-mobile-xl) var(--pur-font-body-family);--pur-font-h3: var(--pur-font-normal) var(--pur-font-mobile-lg)/var(--pur-line-mobile-lg) var(--pur-font-body-family);--pur-font-h4: var(--pur-font-normal) var(--pur-font-mobile-md)/var(--pur-line-mobile-md) var(--pur-font-body-family);--pur-font-h5: var(--pur-font-normal) var(--pur-font-mobile-sm)/var(--pur-line-mobile-sm) var(--pur-font-body-family);--pur-font-body: var(--pur-font-normal) var(--pur-font-mobile-xs)/var(--pur-line-mobile-xs) var(--pur-font-body-family);--pur-font-legal: var(--pur-font-normal) var(--pur-font-mobile-xxs)/var(--pur-line-mobile-xxs) var(--pur-font-body-family);--pur-border-xxs: 1px;--pur-border-xs: 2px;--pur-border-md: .25rem;--pur-radius-sm: .25rem;--pur-radius-md: .625rem;--pur-shadow-md: drop-shadow(4px 4px 12px rgba(0, 0, 0, .16));--pur-duration: .15s;--pur-timing: ease-out;--pur-grey-high-dark: #757575;--pur-light-blue-bg:#00A2C7;--pur-p-chips-textcolor:#2C2C30;--pur-setting-editbutton:#5B6062;--pur-setting-openbutton:#056EC7;--pur-setting-deletebutton:#c01120;--pur-white:#FFFFFF;--pur-field-bordercolor:#919191}@media (min-width: 67.5rem){[_ngcontent-%COMP%]:root{--pur-font-h1: var(--pur-font-normal) var(--pur-font-desktop-xxl)/var(--pur-line-desktop-xxl) var(--pur-font-body-family);--pur-font-h2: var(--pur-font-normal) var(--pur-font-desktop-xl)/var(--pur-line-desktop-xl) var(--pur-font-body-family);--pur-font-h3: var(--pur-font-normal) var(--pur-font-desktop-lg)/var(--pur-line-desktop-lg) var(--pur-font-body-family);--pur-font-h4: var(--pur-font-normal) var(--pur-font-desktop-md)/var(--pur-line-desktop-md) var(--pur-font-body-family);--pur-font-h5: var(--pur-font-normal) var(--pur-font-desktop-sm)/var(--pur-line-desktop-sm) var(--pur-font-body-family);--pur-font-body: var(--pur-font-normal) var(--pur-font-desktop-xs)/var(--pur-line-desktop-xs) var(--pur-font-body-family);--pur-font-legal: var(--pur-font-normal) var(--pur-font-desktop-xxs)/var(--pur-line-desktop-xxs) var(--pur-font-body-family)}}.dropdown-editor__button[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%]{--pur-max-width: none}.dropdown-editor--xxs[_nghost-%COMP%]{--pur-max-width: calc(var(--pur-xxs) * 3)}.dropdown-editor--xs[_nghost-%COMP%]{--pur-max-width: calc(var(--pur-xs) * 3)}.dropdown-editor--sm[_nghost-%COMP%]{--pur-max-width: calc(var(--pur-sm) * 3)}.dropdown-editor--md[_nghost-%COMP%]{--pur-max-width: calc(var(--pur-md) * 3)}.dropdown-editor--lg[_nghost-%COMP%]{--pur-max-width: calc(var(--pur-lg) * 3)}.dropdown-editor--xl[_nghost-%COMP%]{--pur-max-width: calc(var(--pur-xl) * 3)}.dropdown-editor--xxl[_nghost-%COMP%]{--pur-max-width: calc(var(--pur-xxl) * 3)}.pur-float-label__value[_ngcontent-%COMP%]{width:var(--pur-max-width);overflow:hidden;text-overflow:ellipsis}[_nghost-%COMP%]     .pur-overlaypanel .p-popover-content, [_nghost-%COMP%]     .pur-overlaypanel .p-overlaypanel-content{position:relative;overflow:visible;z-index:auto}[_nghost-%COMP%]     .pur-overlaypanel [role=dialog]{position:relative;z-index:1}']
            })
        }
    }
    return t
})();
var Rt;

function lr() {
    if (Rt == null) {
        let t = typeof document < "u" ? document.head : null;
        Rt = !!(t && (t.createShadowRoot || t.attachShadow))
    }
    return Rt
}

function it(t) {
    if (lr()) {
        let n = t.getRootNode ? t.getRootNode() : null;
        if (typeof ShadowRoot < "u" && ShadowRoot && n instanceof ShadowRoot) return n
    }
    return null
}

function Ae(t) {
    return t.composedPath ? t.composedPath()[0] : t.target
}

function ji(t) {
    return t.buttons === 0 || t.detail === 0
}

function Zi(t) {
    let n = t.touches && t.touches[0] || t.changedTouches && t.changedTouches[0];
    return !!n && n.identifier === -1 && (n.radiusX == null || n.radiusX === 1) && (n.radiusY == null || n.radiusY === 1)
}

function nt(t, n = 0) {
    return cr(t) ? Number(t) : arguments.length === 2 ? n : 0
}

function cr(t) {
    return !isNaN(parseFloat(t)) && !isNaN(Number(t))
}

function Y(t) {
    return t instanceof ve ? t.nativeElement : t
}

function ce(t, n, e, i, o) {
    let r = parseInt(xt.major),
        s = parseInt(xt.minor);
    return r > 19 || r === 19 && s > 0 || r === 0 && s === 0 ? t.listen(n, e, i, o) : (n.addEventListener(e, i, o), () => {
        n.removeEventListener(e, i, o)
    })
}
var ot = new WeakMap,
    Wi = (() => {
        class t {
            _appRef;
            _injector = p(ke);
            _environmentInjector = p(ti);
            load(e) {
                let i = this._appRef = this._appRef || this._injector.get(si),
                    o = ot.get(i);
                o || (o = {
                    loaders: new Set,
                    refs: []
                }, ot.set(i, o), i.onDestroy(() => {
                    ot.get(i) ? .refs.forEach(r => r.destroy()), ot.delete(i)
                })), o.loaders.has(e) || (o.loaders.add(e), o.refs.push(hi(e, {
                    environmentInjector: this._environmentInjector
                })))
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac,
                providedIn: "root"
            })
        }
        return t
    })();
var Et;
try {
    Et = typeof Intl < "u" && Intl.v8BreakIterator
} catch {
    Et = !1
}
var Pt = (() => {
    class t {
        _platformId = p(je);
        isBrowser = this._platformId ? j(this._platformId) : typeof document == "object" && !!document;
        EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);
        TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);
        BLINK = this.isBrowser && !!(window.chrome || Et) && typeof CSS < "u" && !this.EDGE && !this.TRIDENT;
        WEBKIT = this.isBrowser && /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;
        IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !("MSStream" in window);
        FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);
        ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;
        SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;
        constructor() {}
        static\ u0275fac = function(i) {
            return new(i || t)
        };
        static\ u0275prov = S({
            token: t,
            factory: t.\u0275fac,
            providedIn: "root"
        })
    }
    return t
})();
var dr = new J("cdk-dir-doc", {
    providedIn: "root",
    factory: pr
});

function pr() {
    return p(he)
}
var hr = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;

function ur(t) {
    let n = t ? .toLowerCase() || "";
    return n === "auto" && typeof navigator < "u" && navigator ? .language ? hr.test(navigator.language) ? "rtl" : "ltr" : n === "rtl" ? "rtl" : "ltr"
}
var Ot = (() => {
    class t {
        value = "ltr";
        change = new x;
        constructor() {
            let e = p(dr, {
                optional: !0
            });
            if (e) {
                let i = e.body ? e.body.dir : null,
                    o = e.documentElement ? e.documentElement.dir : null;
                this.value = ur(i || o || "ltr")
            }
        }
        ngOnDestroy() {
            this.change.complete()
        }
        static\ u0275fac = function(i) {
            return new(i || t)
        };
        static\ u0275prov = S({
            token: t,
            factory: t.\u0275fac,
            providedIn: "root"
        })
    }
    return t
})();
var fr = 20,
    Gi = (() => {
        class t {
            _ngZone = p(B);
            _platform = p(Pt);
            _renderer = p(ye).createRenderer(null, null);
            _cleanupGlobalListener;
            constructor() {}
            _scrolled = new b;
            _scrolledCount = 0;
            scrollContainers = new Map;
            register(e) {
                this.scrollContainers.has(e) || this.scrollContainers.set(e, e.elementScrolled().subscribe(() => this._scrolled.next(e)))
            }
            deregister(e) {
                let i = this.scrollContainers.get(e);
                i && (i.unsubscribe(), this.scrollContainers.delete(e))
            }
            scrolled(e = fr) {
                return this._platform.isBrowser ? new Ie(i => {
                    this._cleanupGlobalListener || (this._cleanupGlobalListener = this._ngZone.runOutsideAngular(() => this._renderer.listen("document", "scroll", () => this._scrolled.next())));
                    let o = e > 0 ? this._scrolled.pipe(ut(e)).subscribe(i) : this._scrolled.subscribe(i);
                    return this._scrolledCount++, () => {
                        o.unsubscribe(), this._scrolledCount--, this._scrolledCount || (this._cleanupGlobalListener ? .(), this._cleanupGlobalListener = void 0)
                    }
                }) : qt()
            }
            ngOnDestroy() {
                this._cleanupGlobalListener ? .(), this._cleanupGlobalListener = void 0, this.scrollContainers.forEach((e, i) => this.deregister(i)), this._scrolled.complete()
            }
            ancestorScrolled(e, i) {
                let o = this.getAncestorScrollContainers(e);
                return this.scrolled(i).pipe(Xt(r => !r || o.indexOf(r) > -1))
            }
            getAncestorScrollContainers(e) {
                let i = [];
                return this.scrollContainers.forEach((o, r) => {
                    this._scrollableContainsElement(r, e) && i.push(r)
                }), i
            }
            _scrollableContainsElement(e, i) {
                let o = Y(i),
                    r = e.getElementRef().nativeElement;
                do
                    if (o == r) return !0; while (o = o.parentElement);
                return !1
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac,
                providedIn: "root"
            })
        }
        return t
    })();
var _r = 20,
    Ui = (() => {
        class t {
            _platform = p(Pt);
            _listeners;
            _viewportSize;
            _change = new b;
            _document = p(he, {
                optional: !0
            });
            constructor() {
                let e = p(B),
                    i = p(ye).createRenderer(null, null);
                e.runOutsideAngular(() => {
                    if (this._platform.isBrowser) {
                        let o = r => this._change.next(r);
                        this._listeners = [i.listen("window", "resize", o), i.listen("window", "orientationchange", o)]
                    }
                    this.change().subscribe(() => this._viewportSize = null)
                })
            }
            ngOnDestroy() {
                this._listeners ? .forEach(e => e()), this._change.complete()
            }
            getViewportSize() {
                this._viewportSize || this._updateViewportSize();
                let e = {
                    width: this._viewportSize.width,
                    height: this._viewportSize.height
                };
                return this._platform.isBrowser || (this._viewportSize = null), e
            }
            getViewportRect() {
                let e = this.getViewportScrollPosition(),
                    {
                        width: i,
                        height: o
                    } = this.getViewportSize();
                return {
                    top: e.top,
                    left: e.left,
                    bottom: e.top + o,
                    right: e.left + i,
                    height: o,
                    width: i
                }
            }
            getViewportScrollPosition() {
                if (!this._platform.isBrowser) return {
                    top: 0,
                    left: 0
                };
                let e = this._document,
                    i = this._getWindow(),
                    o = e.documentElement,
                    r = o.getBoundingClientRect(),
                    s = -r.top || e.body.scrollTop || i.scrollY || o.scrollTop || 0,
                    a = -r.left || e.body.scrollLeft || i.scrollX || o.scrollLeft || 0;
                return {
                    top: s,
                    left: a
                }
            }
            change(e = _r) {
                return e > 0 ? this._change.pipe(ut(e)) : this._change
            }
            _getWindow() {
                return this._document.defaultView || window
            }
            _updateViewportSize() {
                let e = this._getWindow();
                this._viewportSize = this._platform.isBrowser ? {
                    width: e.innerWidth,
                    height: e.innerHeight
                } : {
                    width: 0,
                    height: 0
                }
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac,
                providedIn: "root"
            })
        }
        return t
    })();
var Qi = (() => {
    class t {
        static\ u0275fac = function(i) {
            return new(i || t)
        };
        static\ u0275mod = G({
            type: t
        });
        static\ u0275inj = W({})
    }
    return t
})();
var Mt = {},
    qi = (() => {
        class t {
            _appId = p(ii);
            getId(e) {
                return this._appId !== "ng" && (e += this._appId), Mt.hasOwnProperty(e) || (Mt[e] = 0), `${e}${Mt[e]++}`
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac,
                providedIn: "root"
            })
        }
        return t
    })();

function Ki(t) {
    return Array.isArray(t) ? t : [t]
}

function pn(t) {
    let n = t.cloneNode(!0),
        e = n.querySelectorAll("[id]"),
        i = t.nodeName.toLowerCase();
    n.removeAttribute("id");
    for (let o = 0; o < e.length; o++) e[o].removeAttribute("id");
    return i === "canvas" ? Ji(t, n) : (i === "input" || i === "select" || i === "textarea") && Xi(t, n), Yi("canvas", t, n, Ji), Yi("input, textarea, select", t, n, Xi), n
}

function Yi(t, n, e, i) {
    let o = n.querySelectorAll(t);
    if (o.length) {
        let r = e.querySelectorAll(t);
        for (let s = 0; s < o.length; s++) i(o[s], r[s])
    }
}
var gr = 0;

function Xi(t, n) {
    n.type !== "file" && (n.value = t.value), n.type === "radio" && n.name && (n.name = `mat-clone-${n.name}-${gr++}`)
}

function Ji(t, n) {
    let e = n.getContext("2d");
    if (e) try {
        e.drawImage(t, 0, 0)
    } catch {}
}

function Ht(t) {
    let n = t.getBoundingClientRect();
    return {
        top: n.top,
        right: n.right,
        bottom: n.bottom,
        left: n.left,
        width: n.width,
        height: n.height,
        x: n.x,
        y: n.y
    }
}

function Vt(t, n, e) {
    let {
        top: i,
        bottom: o,
        left: r,
        right: s
    } = t;
    return e >= i && e <= o && n >= r && n <= s
}

function $e(t, n, e) {
    t.top += n, t.bottom = t.top + t.height, t.left += e, t.right = t.left + t.width
}

function en(t, n, e, i) {
    let {
        top: o,
        right: r,
        bottom: s,
        left: a,
        width: c,
        height: h
    } = t, g = c * n, M = h * n;
    return i > o - M && i < s + M && e > a - g && e < r + g
}
var rt = class {
    _document;
    positions = new Map;
    constructor(n) {
        this._document = n
    }
    clear() {
        this.positions.clear()
    }
    cache(n) {
        this.clear(), this.positions.set(this._document, {
            scrollPosition: this.getViewportScrollPosition()
        }), n.forEach(e => {
            this.positions.set(e, {
                scrollPosition: {
                    top: e.scrollTop,
                    left: e.scrollLeft
                },
                clientRect: Ht(e)
            })
        })
    }
    handleScroll(n) {
        let e = Ae(n),
            i = this.positions.get(e);
        if (!i) return null;
        let o = i.scrollPosition,
            r, s;
        if (e === this._document) {
            let h = this.getViewportScrollPosition();
            r = h.top, s = h.left
        } else r = e.scrollTop, s = e.scrollLeft;
        let a = o.top - r,
            c = o.left - s;
        return this.positions.forEach((h, g) => {
            h.clientRect && e !== g && e.contains(g) && $e(h.clientRect, a, c)
        }), o.top = r, o.left = s, {
            top: a,
            left: c
        }
    }
    getViewportScrollPosition() {
        return {
            top: window.scrollY,
            left: window.scrollX
        }
    }
};

function hn(t, n) {
    let e = t.rootNodes;
    if (e.length === 1 && e[0].nodeType === n.ELEMENT_NODE) return e[0];
    let i = n.createElement("div");
    return e.forEach(o => i.appendChild(o)), i
}

function jt(t, n, e) {
    for (let i in n)
        if (n.hasOwnProperty(i)) {
            let o = n[i];
            o ? t.setProperty(i, o, e ? .has(i) ? "important" : "") : t.removeProperty(i)
        }
    return t
}

function Te(t, n) {
    let e = n ? "" : "none";
    jt(t.style, {
        "touch-action": n ? "" : "none",
        "-webkit-user-drag": n ? "" : "none",
        "-webkit-tap-highlight-color": n ? "" : "transparent",
        "user-select": e,
        "-ms-user-select": e,
        "-webkit-user-select": e,
        "-moz-user-select": e
    })
}

function tn(t, n, e) {
    jt(t.style, {
        position: n ? "" : "fixed",
        top: n ? "" : "0",
        opacity: n ? "" : "0",
        left: n ? "" : "-999em"
    }, e)
}

function st(t, n) {
    return n && n != "none" ? t + " " + n : t
}

function nn(t, n) {
    t.style.width = `${n.width}px`, t.style.height = `${n.height}px`, t.style.transform = at(n.left, n.top)
}

function at(t, n) {
    return `translate3d(${Math.round(t)}px, ${Math.round(n)}px, 0)`
}

function on(t) {
    let n = t.toLowerCase().indexOf("ms") > -1 ? 1 : 1e3;
    return parseFloat(t) * n
}

function vr(t) {
    let n = getComputedStyle(t),
        e = Lt(n, "transition-property"),
        i = e.find(a => a === "transform" || a === "all");
    if (!i) return 0;
    let o = e.indexOf(i),
        r = Lt(n, "transition-duration"),
        s = Lt(n, "transition-delay");
    return on(r[o]) + on(s[o])
}

function Lt(t, n) {
    return t.getPropertyValue(n).split(",").map(i => i.trim())
}
var br = new Set(["position"]),
    At = class {
        _document;
        _rootElement;
        _direction;
        _initialDomRect;
        _previewTemplate;
        _previewClass;
        _pickupPositionOnPage;
        _initialTransform;
        _zIndex;
        _renderer;
        _previewEmbeddedView;
        _preview;
        get element() {
            return this._preview
        }
        constructor(n, e, i, o, r, s, a, c, h, g) {
            this._document = n, this._rootElement = e, this._direction = i, this._initialDomRect = o, this._previewTemplate = r, this._previewClass = s, this._pickupPositionOnPage = a, this._initialTransform = c, this._zIndex = h, this._renderer = g
        }
        attach(n) {
            this._preview = this._createPreview(), n.appendChild(this._preview), rn(this._preview) && this._preview.showPopover()
        }
        destroy() {
            this._preview.remove(), this._previewEmbeddedView ? .destroy(), this._preview = this._previewEmbeddedView = null
        }
        setTransform(n) {
            this._preview.style.transform = n
        }
        getBoundingClientRect() {
            return this._preview.getBoundingClientRect()
        }
        addClass(n) {
            this._preview.classList.add(n)
        }
        getTransitionDuration() {
            return vr(this._preview)
        }
        addEventListener(n, e) {
            return this._renderer.listen(this._preview, n, e)
        }
        _createPreview() {
            let n = this._previewTemplate,
                e = this._previewClass,
                i = n ? n.template : null,
                o;
            if (i && n) {
                let r = n.matchSize ? this._initialDomRect : null,
                    s = n.viewContainer.createEmbeddedView(i, n.context);
                s.detectChanges(), o = hn(s, this._document), this._previewEmbeddedView = s, n.matchSize ? nn(o, r) : o.style.transform = at(this._pickupPositionOnPage.x, this._pickupPositionOnPage.y)
            } else o = pn(this._rootElement), nn(o, this._initialDomRect), this._initialTransform && (o.style.transform = this._initialTransform);
            return jt(o.style, {
                "pointer-events": "none",
                margin: rn(o) ? "0 auto 0 0" : "0",
                position: "fixed",
                top: "0",
                left: "0",
                "z-index": this._zIndex + ""
            }, br), Te(o, !1), o.classList.add("cdk-drag-preview"), o.setAttribute("popover", "manual"), o.setAttribute("dir", this._direction), e && (Array.isArray(e) ? e.forEach(r => o.classList.add(r)) : o.classList.add(e)), o
        }
    };

function rn(t) {
    return "showPopover" in t
}
var yr = {
        passive: !0
    },
    sn = {
        passive: !1
    },
    wr = {
        passive: !1,
        capture: !0
    },
    xr = 800,
    an = new Set(["position"]),
    zt = class {
        _config;
        _document;
        _ngZone;
        _viewportRuler;
        _dragDropRegistry;
        _renderer;
        _rootElementCleanups;
        _cleanupShadowRootSelectStart;
        _preview;
        _previewContainer;
        _placeholderRef;
        _placeholder;
        _pickupPositionInElement;
        _pickupPositionOnPage;
        _anchor;
        _passiveTransform = {
            x: 0,
            y: 0
        };
        _activeTransform = {
            x: 0,
            y: 0
        };
        _initialTransform;
        _hasStartedDragging = be(!1);
        _hasMoved;
        _initialContainer;
        _initialIndex;
        _parentPositions;
        _moveEvents = new b;
        _pointerDirectionDelta;
        _pointerPositionAtLastDirectionChange;
        _lastKnownPointerPosition;
        _rootElement;
        _ownerSVGElement;
        _rootElementTapHighlight;
        _pointerMoveSubscription = de.EMPTY;
        _pointerUpSubscription = de.EMPTY;
        _scrollSubscription = de.EMPTY;
        _resizeSubscription = de.EMPTY;
        _lastTouchEventTime;
        _dragStartTime;
        _boundaryElement = null;
        _nativeInteractionsEnabled = !0;
        _initialDomRect;
        _previewRect;
        _boundaryRect;
        _previewTemplate;
        _placeholderTemplate;
        _handles = [];
        _disabledHandles = new Set;
        _dropContainer;
        _direction = "ltr";
        _parentDragRef;
        _cachedShadowRoot;
        lockAxis;
        dragStartDelay = 0;
        previewClass;
        scale = 1;
        get disabled() {
            return this._disabled || !!(this._dropContainer && this._dropContainer.disabled)
        }
        set disabled(n) {
            n !== this._disabled && (this._disabled = n, this._toggleNativeDragInteractions(), this._handles.forEach(e => Te(e, n)))
        }
        _disabled = !1;
        beforeStarted = new b;
        started = new b;
        released = new b;
        ended = new b;
        entered = new b;
        exited = new b;
        dropped = new b;
        moved = this._moveEvents;
        data;
        constrainPosition;
        constructor(n, e, i, o, r, s, a) {
            this._config = e, this._document = i, this._ngZone = o, this._viewportRuler = r, this._dragDropRegistry = s, this._renderer = a, this.withRootElement(n).withParent(e.parentDragRef || null), this._parentPositions = new rt(i), s.registerDragItem(this)
        }
        getPlaceholderElement() {
            return this._placeholder
        }
        getRootElement() {
            return this._rootElement
        }
        getVisibleElement() {
            return this.isDragging() ? this.getPlaceholderElement() : this.getRootElement()
        }
        withHandles(n) {
            this._handles = n.map(i => Y(i)), this._handles.forEach(i => Te(i, this.disabled)), this._toggleNativeDragInteractions();
            let e = new Set;
            return this._disabledHandles.forEach(i => {
                this._handles.indexOf(i) > -1 && e.add(i)
            }), this._disabledHandles = e, this
        }
        withPreviewTemplate(n) {
            return this._previewTemplate = n, this
        }
        withPlaceholderTemplate(n) {
            return this._placeholderTemplate = n, this
        }
        withRootElement(n) {
            let e = Y(n);
            return e !== this._rootElement && (this._removeRootElementListeners(), this._rootElementCleanups = this._ngZone.runOutsideAngular(() => [ce(this._renderer, e, "mousedown", this._pointerDown, sn), ce(this._renderer, e, "touchstart", this._pointerDown, yr), ce(this._renderer, e, "dragstart", this._nativeDragStart, sn)]), this._initialTransform = void 0, this._rootElement = e), typeof SVGElement < "u" && this._rootElement instanceof SVGElement && (this._ownerSVGElement = this._rootElement.ownerSVGElement), this
        }
        withBoundaryElement(n) {
            return this._boundaryElement = n ? Y(n) : null, this._resizeSubscription.unsubscribe(), n && (this._resizeSubscription = this._viewportRuler.change(10).subscribe(() => this._containInsideBoundaryOnResize())), this
        }
        withParent(n) {
            return this._parentDragRef = n, this
        }
        dispose() {
            this._removeRootElementListeners(), this.isDragging() && this._rootElement ? .remove(), this._anchor ? .remove(), this._destroyPreview(), this._destroyPlaceholder(), this._dragDropRegistry.removeDragItem(this), this._removeListeners(), this.beforeStarted.complete(), this.started.complete(), this.released.complete(), this.ended.complete(), this.entered.complete(), this.exited.complete(), this.dropped.complete(), this._moveEvents.complete(), this._handles = [], this._disabledHandles.clear(), this._dropContainer = void 0, this._resizeSubscription.unsubscribe(), this._parentPositions.clear(), this._boundaryElement = this._rootElement = this._ownerSVGElement = this._placeholderTemplate = this._previewTemplate = this._anchor = this._parentDragRef = null
        }
        isDragging() {
            return this._hasStartedDragging() && this._dragDropRegistry.isDragging(this)
        }
        reset() {
            this._rootElement.style.transform = this._initialTransform || "", this._activeTransform = {
                x: 0,
                y: 0
            }, this._passiveTransform = {
                x: 0,
                y: 0
            }
        }
        disableHandle(n) {
            !this._disabledHandles.has(n) && this._handles.indexOf(n) > -1 && (this._disabledHandles.add(n), Te(n, !0))
        }
        enableHandle(n) {
            this._disabledHandles.has(n) && (this._disabledHandles.delete(n), Te(n, this.disabled))
        }
        withDirection(n) {
            return this._direction = n, this
        }
        _withDropContainer(n) {
            this._dropContainer = n
        }
        getFreeDragPosition() {
            let n = this.isDragging() ? this._activeTransform : this._passiveTransform;
            return {
                x: n.x,
                y: n.y
            }
        }
        setFreeDragPosition(n) {
            return this._activeTransform = {
                x: 0,
                y: 0
            }, this._passiveTransform.x = n.x, this._passiveTransform.y = n.y, this._dropContainer || this._applyRootElementTransform(n.x, n.y), this
        }
        withPreviewContainer(n) {
            return this._previewContainer = n, this
        }
        _sortFromLastPointerPosition() {
            let n = this._lastKnownPointerPosition;
            n && this._dropContainer && this._updateActiveDropContainer(this._getConstrainedPointerPosition(n), n)
        }
        _removeListeners() {
            this._pointerMoveSubscription.unsubscribe(), this._pointerUpSubscription.unsubscribe(), this._scrollSubscription.unsubscribe(), this._cleanupShadowRootSelectStart ? .(), this._cleanupShadowRootSelectStart = void 0
        }
        _destroyPreview() {
            this._preview ? .destroy(), this._preview = null
        }
        _destroyPlaceholder() {
            this._placeholder ? .remove(), this._placeholderRef ? .destroy(), this._placeholder = this._placeholderRef = null
        }
        _pointerDown = n => {
            if (this.beforeStarted.next(), this._handles.length) {
                let e = this._getTargetHandle(n);
                e && !this._disabledHandles.has(e) && !this.disabled && this._initializeDragSequence(e, n)
            } else this.disabled || this._initializeDragSequence(this._rootElement, n)
        };
        _pointerMove = n => {
            let e = this._getPointerPositionOnPage(n);
            if (!this._hasStartedDragging()) {
                let o = Math.abs(e.x - this._pickupPositionOnPage.x),
                    r = Math.abs(e.y - this._pickupPositionOnPage.y);
                if (o + r >= this._config.dragStartThreshold) {
                    let a = Date.now() >= this._dragStartTime + this._getDragStartDelay(n),
                        c = this._dropContainer;
                    if (!a) {
                        this._endDragSequence(n);
                        return
                    }(!c || !c.isDragging() && !c.isReceiving()) && (n.cancelable && n.preventDefault(), this._hasStartedDragging.set(!0), this._ngZone.run(() => this._startDragSequence(n)))
                }
                return
            }
            n.cancelable && n.preventDefault();
            let i = this._getConstrainedPointerPosition(e);
            if (this._hasMoved = !0, this._lastKnownPointerPosition = e, this._updatePointerDirectionDelta(i), this._dropContainer) this._updateActiveDropContainer(i, e);
            else {
                let o = this.constrainPosition ? this._initialDomRect : this._pickupPositionOnPage,
                    r = this._activeTransform;
                r.x = i.x - o.x + this._passiveTransform.x, r.y = i.y - o.y + this._passiveTransform.y, this._applyRootElementTransform(r.x, r.y)
            }
            this._moveEvents.observers.length && this._ngZone.run(() => {
                this._moveEvents.next({
                    source: this,
                    pointerPosition: i,
                    event: n,
                    distance: this._getDragDistance(i),
                    delta: this._pointerDirectionDelta
                })
            })
        };
        _pointerUp = n => {
            this._endDragSequence(n)
        };
        _endDragSequence(n) {
            if (this._dragDropRegistry.isDragging(this) && (this._removeListeners(), this._dragDropRegistry.stopDragging(this), this._toggleNativeDragInteractions(), this._handles && (this._rootElement.style.webkitTapHighlightColor = this._rootElementTapHighlight), !!this._hasStartedDragging()))
                if (this.released.next({
                        source: this,
                        event: n
                    }), this._dropContainer) this._dropContainer._stopScrolling(), this._animatePreviewToPlaceholder().then(() => {
                    this._cleanupDragArtifacts(n), this._cleanupCachedDimensions(), this._dragDropRegistry.stopDragging(this)
                });
                else {
                    this._passiveTransform.x = this._activeTransform.x;
                    let e = this._getPointerPositionOnPage(n);
                    this._passiveTransform.y = this._activeTransform.y, this._ngZone.run(() => {
                        this.ended.next({
                            source: this,
                            distance: this._getDragDistance(e),
                            dropPoint: e,
                            event: n
                        })
                    }), this._cleanupCachedDimensions(), this._dragDropRegistry.stopDragging(this)
                }
        }
        _startDragSequence(n) {
            ze(n) && (this._lastTouchEventTime = Date.now()), this._toggleNativeDragInteractions();
            let e = this._getShadowRoot(),
                i = this._dropContainer;
            if (e && this._ngZone.runOutsideAngular(() => {
                    this._cleanupShadowRootSelectStart = ce(this._renderer, e, "selectstart", Cr, wr)
                }), i) {
                let o = this._rootElement,
                    r = o.parentNode,
                    s = this._placeholder = this._createPlaceholderElement(),
                    a = this._anchor = this._anchor || this._document.createComment("");
                r.insertBefore(a, o), this._initialTransform = o.style.transform || "", this._preview = new At(this._document, this._rootElement, this._direction, this._initialDomRect, this._previewTemplate || null, this.previewClass || null, this._pickupPositionOnPage, this._initialTransform, this._config.zIndex || 1e3, this._renderer), this._preview.attach(this._getPreviewInsertionPoint(r, e)), tn(o, !1, an), this._document.body.appendChild(r.replaceChild(s, o)), this.started.next({
                    source: this,
                    event: n
                }), i.start(), this._initialContainer = i, this._initialIndex = i.getItemIndex(this)
            } else this.started.next({
                source: this,
                event: n
            }), this._initialContainer = this._initialIndex = void 0;
            this._parentPositions.cache(i ? i.getScrollableParents() : [])
        }
        _initializeDragSequence(n, e) {
            this._parentDragRef && e.stopPropagation();
            let i = this.isDragging(),
                o = ze(e),
                r = !o && e.button !== 0,
                s = this._rootElement,
                a = Ae(e),
                c = !o && this._lastTouchEventTime && this._lastTouchEventTime + xr > Date.now(),
                h = o ? Zi(e) : ji(e);
            if (a && a.draggable && e.type === "mousedown" && e.preventDefault(), i || r || c || h) return;
            if (this._handles.length) {
                let X = s.style;
                this._rootElementTapHighlight = X.webkitTapHighlightColor || "", X.webkitTapHighlightColor = "transparent"
            }
            this._hasMoved = !1, this._hasStartedDragging.set(this._hasMoved), this._removeListeners(), this._initialDomRect = this._rootElement.getBoundingClientRect(), this._pointerMoveSubscription = this._dragDropRegistry.pointerMove.subscribe(this._pointerMove), this._pointerUpSubscription = this._dragDropRegistry.pointerUp.subscribe(this._pointerUp), this._scrollSubscription = this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(X => this._updateOnScroll(X)), this._boundaryElement && (this._boundaryRect = Ht(this._boundaryElement));
            let g = this._previewTemplate;
            this._pickupPositionInElement = g && g.template && !g.matchSize ? {
                x: 0,
                y: 0
            } : this._getPointerPositionInElement(this._initialDomRect, n, e);
            let M = this._pickupPositionOnPage = this._lastKnownPointerPosition = this._getPointerPositionOnPage(e);
            this._pointerDirectionDelta = {
                x: 0,
                y: 0
            }, this._pointerPositionAtLastDirectionChange = {
                x: M.x,
                y: M.y
            }, this._dragStartTime = Date.now(), this._dragDropRegistry.startDragging(this, e)
        }
        _cleanupDragArtifacts(n) {
            tn(this._rootElement, !0, an), this._anchor.parentNode.replaceChild(this._rootElement, this._anchor), this._destroyPreview(), this._destroyPlaceholder(), this._initialDomRect = this._boundaryRect = this._previewRect = this._initialTransform = void 0, this._ngZone.run(() => {
                let e = this._dropContainer,
                    i = e.getItemIndex(this),
                    o = this._getPointerPositionOnPage(n),
                    r = this._getDragDistance(o),
                    s = e._isOverContainer(o.x, o.y);
                this.ended.next({
                    source: this,
                    distance: r,
                    dropPoint: o,
                    event: n
                }), this.dropped.next({
                    item: this,
                    currentIndex: i,
                    previousIndex: this._initialIndex,
                    container: e,
                    previousContainer: this._initialContainer,
                    isPointerOverContainer: s,
                    distance: r,
                    dropPoint: o,
                    event: n
                }), e.drop(this, i, this._initialIndex, this._initialContainer, s, r, o, n), this._dropContainer = this._initialContainer
            })
        }
        _updateActiveDropContainer({
            x: n,
            y: e
        }, {
            x: i,
            y: o
        }) {
            let r = this._initialContainer._getSiblingContainerFromPosition(this, n, e);
            !r && this._dropContainer !== this._initialContainer && this._initialContainer._isOverContainer(n, e) && (r = this._initialContainer), r && r !== this._dropContainer && this._ngZone.run(() => {
                this.exited.next({
                    item: this,
                    container: this._dropContainer
                }), this._dropContainer.exit(this), this._dropContainer = r, this._dropContainer.enter(this, n, e, r === this._initialContainer && r.sortingDisabled ? this._initialIndex : void 0), this.entered.next({
                    item: this,
                    container: r,
                    currentIndex: r.getItemIndex(this)
                })
            }), this.isDragging() && (this._dropContainer._startScrollingIfNecessary(i, o), this._dropContainer._sortItem(this, n, e, this._pointerDirectionDelta), this.constrainPosition ? this._applyPreviewTransform(n, e) : this._applyPreviewTransform(n - this._pickupPositionInElement.x, e - this._pickupPositionInElement.y))
        }
        _animatePreviewToPlaceholder() {
            if (!this._hasMoved) return Promise.resolve();
            let n = this._placeholder.getBoundingClientRect();
            this._preview.addClass("cdk-drag-animating"), this._applyPreviewTransform(n.left, n.top);
            let e = this._preview.getTransitionDuration();
            return e === 0 ? Promise.resolve() : this._ngZone.runOutsideAngular(() => new Promise(i => {
                let o = a => {
                        (!a || this._preview && Ae(a) === this._preview.element && a.propertyName === "transform") && (s(), i(), clearTimeout(r))
                    },
                    r = setTimeout(o, e * 1.5),
                    s = this._preview.addEventListener("transitionend", o)
            }))
        }
        _createPlaceholderElement() {
            let n = this._placeholderTemplate,
                e = n ? n.template : null,
                i;
            return e ? (this._placeholderRef = n.viewContainer.createEmbeddedView(e, n.context), this._placeholderRef.detectChanges(), i = hn(this._placeholderRef, this._document)) : i = pn(this._rootElement), i.style.pointerEvents = "none", i.classList.add("cdk-drag-placeholder"), i
        }
        _getPointerPositionInElement(n, e, i) {
            let o = e === this._rootElement ? null : e,
                r = o ? o.getBoundingClientRect() : n,
                s = ze(i) ? i.targetTouches[0] : i,
                a = this._getViewportScrollPosition(),
                c = s.pageX - r.left - a.left,
                h = s.pageY - r.top - a.top;
            return {
                x: r.left - n.left + c,
                y: r.top - n.top + h
            }
        }
        _getPointerPositionOnPage(n) {
            let e = this._getViewportScrollPosition(),
                i = ze(n) ? n.touches[0] || n.changedTouches[0] || {
                    pageX: 0,
                    pageY: 0
                } : n,
                o = i.pageX - e.left,
                r = i.pageY - e.top;
            if (this._ownerSVGElement) {
                let s = this._ownerSVGElement.getScreenCTM();
                if (s) {
                    let a = this._ownerSVGElement.createSVGPoint();
                    return a.x = o, a.y = r, a.matrixTransform(s.inverse())
                }
            }
            return {
                x: o,
                y: r
            }
        }
        _getConstrainedPointerPosition(n) {
            let e = this._dropContainer ? this._dropContainer.lockAxis : null,
                {
                    x: i,
                    y: o
                } = this.constrainPosition ? this.constrainPosition(n, this, this._initialDomRect, this._pickupPositionInElement) : n;
            if (this.lockAxis === "x" || e === "x" ? o = this._pickupPositionOnPage.y - (this.constrainPosition ? this._pickupPositionInElement.y : 0) : (this.lockAxis === "y" || e === "y") && (i = this._pickupPositionOnPage.x - (this.constrainPosition ? this._pickupPositionInElement.x : 0)), this._boundaryRect) {
                let {
                    x: r,
                    y: s
                } = this.constrainPosition ? {
                    x: 0,
                    y: 0
                } : this._pickupPositionInElement, a = this._boundaryRect, {
                    width: c,
                    height: h
                } = this._getPreviewRect(), g = a.top + s, M = a.bottom - (h - s), X = a.left + r, dt = a.right - (c - r);
                i = ln(i, X, dt), o = ln(o, g, M)
            }
            return {
                x: i,
                y: o
            }
        }
        _updatePointerDirectionDelta(n) {
            let {
                x: e,
                y: i
            } = n, o = this._pointerDirectionDelta, r = this._pointerPositionAtLastDirectionChange, s = Math.abs(e - r.x), a = Math.abs(i - r.y);
            return s > this._config.pointerDirectionChangeThreshold && (o.x = e > r.x ? 1 : -1, r.x = e), a > this._config.pointerDirectionChangeThreshold && (o.y = i > r.y ? 1 : -1, r.y = i), o
        }
        _toggleNativeDragInteractions() {
            if (!this._rootElement || !this._handles) return;
            let n = this._handles.length > 0 || !this.isDragging();
            n !== this._nativeInteractionsEnabled && (this._nativeInteractionsEnabled = n, Te(this._rootElement, n))
        }
        _removeRootElementListeners() {
            this._rootElementCleanups ? .forEach(n => n()), this._rootElementCleanups = void 0
        }
        _applyRootElementTransform(n, e) {
            let i = 1 / this.scale,
                o = at(n * i, e * i),
                r = this._rootElement.style;
            this._initialTransform == null && (this._initialTransform = r.transform && r.transform != "none" ? r.transform : ""), r.transform = st(o, this._initialTransform)
        }
        _applyPreviewTransform(n, e) {
            let i = this._previewTemplate ? .template ? void 0 : this._initialTransform,
                o = at(n, e);
            this._preview.setTransform(st(o, i))
        }
        _getDragDistance(n) {
            let e = this._pickupPositionOnPage;
            return e ? {
                x: n.x - e.x,
                y: n.y - e.y
            } : {
                x: 0,
                y: 0
            }
        }
        _cleanupCachedDimensions() {
            this._boundaryRect = this._previewRect = void 0, this._parentPositions.clear()
        }
        _containInsideBoundaryOnResize() {
            let {
                x: n,
                y: e
            } = this._passiveTransform;
            if (n === 0 && e === 0 || this.isDragging() || !this._boundaryElement) return;
            let i = this._rootElement.getBoundingClientRect(),
                o = this._boundaryElement.getBoundingClientRect();
            if (o.width === 0 && o.height === 0 || i.width === 0 && i.height === 0) return;
            let r = o.left - i.left,
                s = i.right - o.right,
                a = o.top - i.top,
                c = i.bottom - o.bottom;
            o.width > i.width ? (r > 0 && (n += r), s > 0 && (n -= s)) : n = 0, o.height > i.height ? (a > 0 && (e += a), c > 0 && (e -= c)) : e = 0, (n !== this._passiveTransform.x || e !== this._passiveTransform.y) && this.setFreeDragPosition({
                y: e,
                x: n
            })
        }
        _getDragStartDelay(n) {
            let e = this.dragStartDelay;
            return typeof e == "number" ? e : ze(n) ? e.touch : e ? e.mouse : 0
        }
        _updateOnScroll(n) {
            let e = this._parentPositions.handleScroll(n);
            if (e) {
                let i = Ae(n);
                this._boundaryRect && i !== this._boundaryElement && i.contains(this._boundaryElement) && $e(this._boundaryRect, e.top, e.left), this._pickupPositionOnPage.x += e.left, this._pickupPositionOnPage.y += e.top, this._dropContainer || (this._activeTransform.x -= e.left, this._activeTransform.y -= e.top, this._applyRootElementTransform(this._activeTransform.x, this._activeTransform.y))
            }
        }
        _getViewportScrollPosition() {
            return this._parentPositions.positions.get(this._document) ? .scrollPosition || this._parentPositions.getViewportScrollPosition()
        }
        _getShadowRoot() {
            return this._cachedShadowRoot === void 0 && (this._cachedShadowRoot = it(this._rootElement)), this._cachedShadowRoot
        }
        _getPreviewInsertionPoint(n, e) {
            let i = this._previewContainer || "global";
            if (i === "parent") return n;
            if (i === "global") {
                let o = this._document;
                return e || o.fullscreenElement || o.webkitFullscreenElement || o.mozFullScreenElement || o.msFullscreenElement || o.body
            }
            return Y(i)
        }
        _getPreviewRect() {
            return (!this._previewRect || !this._previewRect.width && !this._previewRect.height) && (this._previewRect = this._preview ? this._preview.getBoundingClientRect() : this._initialDomRect), this._previewRect
        }
        _nativeDragStart = n => {
            if (this._handles.length) {
                let e = this._getTargetHandle(n);
                e && !this._disabledHandles.has(e) && !this.disabled && n.preventDefault()
            } else this.disabled || n.preventDefault()
        };
        _getTargetHandle(n) {
            return this._handles.find(e => n.target && (n.target === e || e.contains(n.target)))
        }
    };

function ln(t, n, e) {
    return Math.max(n, Math.min(e, t))
}

function ze(t) {
    return t.type[0] === "t"
}

function Cr(t) {
    t.preventDefault()
}

function un(t, n, e) {
    let i = lt(n, t.length - 1),
        o = lt(e, t.length - 1);
    if (i === o) return;
    let r = t[i],
        s = o < i ? -1 : 1;
    for (let a = i; a !== o; a += s) t[a] = t[a + s];
    t[o] = r
}

function ml(t, n, e, i) {
    let o = lt(e, t.length - 1),
        r = lt(i, n.length);
    t.length && n.splice(r, 0, t.splice(o, 1)[0])
}

function lt(t, n) {
    return Math.max(0, Math.min(n, t))
}
var ct = class {
        _dragDropRegistry;
        _element;
        _sortPredicate;
        _itemPositions = [];
        _activeDraggables;
        orientation = "vertical";
        direction;
        constructor(n) {
            this._dragDropRegistry = n
        }
        _previousSwap = {
            drag: null,
            delta: 0,
            overlaps: !1
        };
        start(n) {
            this.withItems(n)
        }
        sort(n, e, i, o) {
            let r = this._itemPositions,
                s = this._getItemIndexFromPointerPosition(n, e, i, o);
            if (s === -1 && r.length > 0) return null;
            let a = this.orientation === "horizontal",
                c = r.findIndex(V => V.drag === n),
                h = r[s],
                g = r[c].clientRect,
                M = h.clientRect,
                X = c > s ? 1 : -1,
                dt = this._getItemOffsetPx(g, M, X),
                yn = this._getSiblingOffsetPx(c, r, X),
                wn = r.slice();
            return un(r, c, s), r.forEach((V, xn) => {
                if (wn[xn] === V) return;
                let Wt = V.drag === n,
                    pt = Wt ? dt : yn,
                    Gt = Wt ? n.getPlaceholderElement() : V.drag.getRootElement();
                V.offset += pt;
                let Ut = Math.round(V.offset * (1 / V.drag.scale));
                a ? (Gt.style.transform = st(`translate3d(${Ut}px, 0, 0)`, V.initialTransform), $e(V.clientRect, 0, pt)) : (Gt.style.transform = st(`translate3d(0, ${Ut}px, 0)`, V.initialTransform), $e(V.clientRect, pt, 0))
            }), this._previousSwap.overlaps = Vt(M, e, i), this._previousSwap.drag = h.drag, this._previousSwap.delta = a ? o.x : o.y, {
                previousIndex: c,
                currentIndex: s
            }
        }
        enter(n, e, i, o) {
            let r = o == null || o < 0 ? this._getItemIndexFromPointerPosition(n, e, i) : o,
                s = this._activeDraggables,
                a = s.indexOf(n),
                c = n.getPlaceholderElement(),
                h = s[r];
            if (h === n && (h = s[r + 1]), !h && (r == null || r === -1 || r < s.length - 1) && this._shouldEnterAsFirstChild(e, i) && (h = s[0]), a > -1 && s.splice(a, 1), h && !this._dragDropRegistry.isDragging(h)) {
                let g = h.getRootElement();
                g.parentElement.insertBefore(c, g), s.splice(r, 0, n)
            } else this._element.appendChild(c), s.push(n);
            c.style.transform = "", this._cacheItemPositions()
        }
        withItems(n) {
            this._activeDraggables = n.slice(), this._cacheItemPositions()
        }
        withSortPredicate(n) {
            this._sortPredicate = n
        }
        reset() {
            this._activeDraggables ? .forEach(n => {
                let e = n.getRootElement();
                if (e) {
                    let i = this._itemPositions.find(o => o.drag === n) ? .initialTransform;
                    e.style.transform = i || ""
                }
            }), this._itemPositions = [], this._activeDraggables = [], this._previousSwap.drag = null, this._previousSwap.delta = 0, this._previousSwap.overlaps = !1
        }
        getActiveItemsSnapshot() {
            return this._activeDraggables
        }
        getItemIndex(n) {
            return (this.orientation === "horizontal" && this.direction === "rtl" ? this._itemPositions.slice().reverse() : this._itemPositions).findIndex(i => i.drag === n)
        }
        updateOnScroll(n, e) {
            this._itemPositions.forEach(({
                clientRect: i
            }) => {
                $e(i, n, e)
            }), this._itemPositions.forEach(({
                drag: i
            }) => {
                this._dragDropRegistry.isDragging(i) && i._sortFromLastPointerPosition()
            })
        }
        withElementContainer(n) {
            this._element = n
        }
        _cacheItemPositions() {
            let n = this.orientation === "horizontal";
            this._itemPositions = this._activeDraggables.map(e => {
                let i = e.getVisibleElement();
                return {
                    drag: e,
                    offset: 0,
                    initialTransform: i.style.transform || "",
                    clientRect: Ht(i)
                }
            }).sort((e, i) => n ? e.clientRect.left - i.clientRect.left : e.clientRect.top - i.clientRect.top)
        }
        _getItemOffsetPx(n, e, i) {
            let o = this.orientation === "horizontal",
                r = o ? e.left - n.left : e.top - n.top;
            return i === -1 && (r += o ? e.width - n.width : e.height - n.height), r
        }
        _getSiblingOffsetPx(n, e, i) {
            let o = this.orientation === "horizontal",
                r = e[n].clientRect,
                s = e[n + i * -1],
                a = r[o ? "width" : "height"] * i;
            if (s) {
                let c = o ? "left" : "top",
                    h = o ? "right" : "bottom";
                i === -1 ? a -= s.clientRect[c] - r[h] : a += r[c] - s.clientRect[h]
            }
            return a
        }
        _shouldEnterAsFirstChild(n, e) {
            if (!this._activeDraggables.length) return !1;
            let i = this._itemPositions,
                o = this.orientation === "horizontal";
            if (i[0].drag !== this._activeDraggables[0]) {
                let s = i[i.length - 1].clientRect;
                return o ? n >= s.right : e >= s.bottom
            } else {
                let s = i[0].clientRect;
                return o ? n <= s.left : e <= s.top
            }
        }
        _getItemIndexFromPointerPosition(n, e, i, o) {
            let r = this.orientation === "horizontal",
                s = this._itemPositions.findIndex(({
                    drag: a,
                    clientRect: c
                }) => {
                    if (a === n) return !1;
                    if (o) {
                        let h = r ? o.x : o.y;
                        if (a === this._previousSwap.drag && this._previousSwap.overlaps && h === this._previousSwap.delta) return !1
                    }
                    return r ? e >= Math.floor(c.left) && e < Math.floor(c.right) : i >= Math.floor(c.top) && i < Math.floor(c.bottom)
                });
            return s === -1 || !this._sortPredicate(s, n) ? -1 : s
        }
    },
    Nt = class {
        _document;
        _dragDropRegistry;
        _element;
        _sortPredicate;
        _rootNode;
        _activeItems;
        _previousSwap = {
            drag: null,
            deltaX: 0,
            deltaY: 0,
            overlaps: !1
        };
        _relatedNodes = [];
        constructor(n, e) {
            this._document = n, this._dragDropRegistry = e
        }
        start(n) {
            let e = this._element.childNodes;
            this._relatedNodes = [];
            for (let i = 0; i < e.length; i++) {
                let o = e[i];
                this._relatedNodes.push([o, o.nextSibling])
            }
            this.withItems(n)
        }
        sort(n, e, i, o) {
            let r = this._getItemIndexFromPointerPosition(n, e, i),
                s = this._previousSwap;
            if (r === -1 || this._activeItems[r] === n) return null;
            let a = this._activeItems[r];
            if (s.drag === a && s.overlaps && s.deltaX === o.x && s.deltaY === o.y) return null;
            let c = this.getItemIndex(n),
                h = n.getPlaceholderElement(),
                g = a.getRootElement();
            r > c ? g.after(h) : g.before(h), un(this._activeItems, c, r);
            let M = this._getRootNode().elementFromPoint(e, i);
            return s.deltaX = o.x, s.deltaY = o.y, s.drag = a, s.overlaps = g === M || g.contains(M), {
                previousIndex: c,
                currentIndex: r
            }
        }
        enter(n, e, i, o) {
            let r = o == null || o < 0 ? this._getItemIndexFromPointerPosition(n, e, i) : o;
            r === -1 && (r = this._getClosestItemIndexToPointer(n, e, i));
            let s = this._activeItems[r],
                a = this._activeItems.indexOf(n);
            a > -1 && this._activeItems.splice(a, 1), s && !this._dragDropRegistry.isDragging(s) ? (this._activeItems.splice(r, 0, n), s.getRootElement().before(n.getPlaceholderElement())) : (this._activeItems.push(n), this._element.appendChild(n.getPlaceholderElement()))
        }
        withItems(n) {
            this._activeItems = n.slice()
        }
        withSortPredicate(n) {
            this._sortPredicate = n
        }
        reset() {
            let n = this._element,
                e = this._previousSwap;
            for (let i = this._relatedNodes.length - 1; i > -1; i--) {
                let [o, r] = this._relatedNodes[i];
                o.parentNode === n && o.nextSibling !== r && (r === null ? n.appendChild(o) : r.parentNode === n && n.insertBefore(o, r))
            }
            this._relatedNodes = [], this._activeItems = [], e.drag = null, e.deltaX = e.deltaY = 0, e.overlaps = !1
        }
        getActiveItemsSnapshot() {
            return this._activeItems
        }
        getItemIndex(n) {
            return this._activeItems.indexOf(n)
        }
        updateOnScroll() {
            this._activeItems.forEach(n => {
                this._dragDropRegistry.isDragging(n) && n._sortFromLastPointerPosition()
            })
        }
        withElementContainer(n) {
            n !== this._element && (this._element = n, this._rootNode = void 0)
        }
        _getItemIndexFromPointerPosition(n, e, i) {
            let o = this._getRootNode().elementFromPoint(Math.floor(e), Math.floor(i)),
                r = o ? this._activeItems.findIndex(s => {
                    let a = s.getRootElement();
                    return o === a || a.contains(o)
                }) : -1;
            return r === -1 || !this._sortPredicate(r, n) ? -1 : r
        }
        _getRootNode() {
            return this._rootNode || (this._rootNode = it(this._element) || this._document), this._rootNode
        }
        _getClosestItemIndexToPointer(n, e, i) {
            if (this._activeItems.length === 0) return -1;
            if (this._activeItems.length === 1) return 0;
            let o = 1 / 0,
                r = -1;
            for (let s = 0; s < this._activeItems.length; s++) {
                let a = this._activeItems[s];
                if (a !== n) {
                    let {
                        x: c,
                        y: h
                    } = a.getRootElement().getBoundingClientRect(), g = Math.hypot(e - c, i - h);
                    g < o && (o = g, r = s)
                }
            }
            return r
        }
    },
    cn = .05,
    mn = .05,
    $ = function(t) {
        return t[t.NONE = 0] = "NONE", t[t.UP = 1] = "UP", t[t.DOWN = 2] = "DOWN", t
    }($ || {}),
    R = function(t) {
        return t[t.NONE = 0] = "NONE", t[t.LEFT = 1] = "LEFT", t[t.RIGHT = 2] = "RIGHT", t
    }(R || {}),
    $t = class {
        _dragDropRegistry;
        _ngZone;
        _viewportRuler;
        element;
        disabled = !1;
        sortingDisabled = !1;
        lockAxis;
        autoScrollDisabled = !1;
        autoScrollStep = 2;
        enterPredicate = () => !0;
        sortPredicate = () => !0;
        beforeStarted = new b;
        entered = new b;
        exited = new b;
        dropped = new b;
        sorted = new b;
        receivingStarted = new b;
        receivingStopped = new b;
        data;
        _container;
        _isDragging = !1;
        _parentPositions;
        _sortStrategy;
        _domRect;
        _draggables = [];
        _siblings = [];
        _activeSiblings = new Set;
        _viewportScrollSubscription = de.EMPTY;
        _verticalScrollDirection = $.NONE;
        _horizontalScrollDirection = R.NONE;
        _scrollNode;
        _stopScrollTimers = new b;
        _cachedShadowRoot = null;
        _document;
        _scrollableElements = [];
        _initialScrollSnap;
        _direction = "ltr";
        constructor(n, e, i, o, r) {
            this._dragDropRegistry = e, this._ngZone = o, this._viewportRuler = r;
            let s = this.element = Y(n);
            this._document = i, this.withOrientation("vertical").withElementContainer(s), e.registerDropContainer(this), this._parentPositions = new rt(i)
        }
        dispose() {
            this._stopScrolling(), this._stopScrollTimers.complete(), this._viewportScrollSubscription.unsubscribe(), this.beforeStarted.complete(), this.entered.complete(), this.exited.complete(), this.dropped.complete(), this.sorted.complete(), this.receivingStarted.complete(), this.receivingStopped.complete(), this._activeSiblings.clear(), this._scrollNode = null, this._parentPositions.clear(), this._dragDropRegistry.removeDropContainer(this)
        }
        isDragging() {
            return this._isDragging
        }
        start() {
            this._draggingStarted(), this._notifyReceivingSiblings()
        }
        enter(n, e, i, o) {
            this._draggingStarted(), o == null && this.sortingDisabled && (o = this._draggables.indexOf(n)), this._sortStrategy.enter(n, e, i, o), this._cacheParentPositions(), this._notifyReceivingSiblings(), this.entered.next({
                item: n,
                container: this,
                currentIndex: this.getItemIndex(n)
            })
        }
        exit(n) {
            this._reset(), this.exited.next({
                item: n,
                container: this
            })
        }
        drop(n, e, i, o, r, s, a, c = {}) {
            this._reset(), this.dropped.next({
                item: n,
                currentIndex: e,
                previousIndex: i,
                container: this,
                previousContainer: o,
                isPointerOverContainer: r,
                distance: s,
                dropPoint: a,
                event: c
            })
        }
        withItems(n) {
            let e = this._draggables;
            return this._draggables = n, n.forEach(i => i._withDropContainer(this)), this.isDragging() && (e.filter(o => o.isDragging()).every(o => n.indexOf(o) === -1) ? this._reset() : this._sortStrategy.withItems(this._draggables)), this
        }
        withDirection(n) {
            return this._direction = n, this._sortStrategy instanceof ct && (this._sortStrategy.direction = n), this
        }
        connectedTo(n) {
            return this._siblings = n.slice(), this
        }
        withOrientation(n) {
            if (n === "mixed") this._sortStrategy = new Nt(this._document, this._dragDropRegistry);
            else {
                let e = new ct(this._dragDropRegistry);
                e.direction = this._direction, e.orientation = n, this._sortStrategy = e
            }
            return this._sortStrategy.withElementContainer(this._container), this._sortStrategy.withSortPredicate((e, i) => this.sortPredicate(e, i, this)), this
        }
        withScrollableParents(n) {
            let e = this._container;
            return this._scrollableElements = n.indexOf(e) === -1 ? [e, ...n] : n.slice(), this
        }
        withElementContainer(n) {
            if (n === this._container) return this;
            let e = Y(this.element),
                i = this._scrollableElements.indexOf(this._container),
                o = this._scrollableElements.indexOf(n);
            return i > -1 && this._scrollableElements.splice(i, 1), o > -1 && this._scrollableElements.splice(o, 1), this._sortStrategy && this._sortStrategy.withElementContainer(n), this._cachedShadowRoot = null, this._scrollableElements.unshift(n), this._container = n, this
        }
        getScrollableParents() {
            return this._scrollableElements
        }
        getItemIndex(n) {
            return this._isDragging ? this._sortStrategy.getItemIndex(n) : this._draggables.indexOf(n)
        }
        isReceiving() {
            return this._activeSiblings.size > 0
        }
        _sortItem(n, e, i, o) {
            if (this.sortingDisabled || !this._domRect || !en(this._domRect, cn, e, i)) return;
            let r = this._sortStrategy.sort(n, e, i, o);
            r && this.sorted.next({
                previousIndex: r.previousIndex,
                currentIndex: r.currentIndex,
                container: this,
                item: n
            })
        }
        _startScrollingIfNecessary(n, e) {
            if (this.autoScrollDisabled) return;
            let i, o = $.NONE,
                r = R.NONE;
            if (this._parentPositions.positions.forEach((s, a) => {
                    a === this._document || !s.clientRect || i || en(s.clientRect, cn, n, e) && ([o, r] = Dr(a, s.clientRect, this._direction, n, e), (o || r) && (i = a))
                }), !o && !r) {
                let {
                    width: s,
                    height: a
                } = this._viewportRuler.getViewportSize(), c = {
                    width: s,
                    height: a,
                    top: 0,
                    right: s,
                    bottom: a,
                    left: 0
                };
                o = fn(c, e), r = _n(c, n), i = window
            }
            i && (o !== this._verticalScrollDirection || r !== this._horizontalScrollDirection || i !== this._scrollNode) && (this._verticalScrollDirection = o, this._horizontalScrollDirection = r, this._scrollNode = i, (o || r) && i ? this._ngZone.runOutsideAngular(this._startScrollInterval) : this._stopScrolling())
        }
        _stopScrolling() {
            this._stopScrollTimers.next()
        }
        _draggingStarted() {
            let n = this._container.style;
            this.beforeStarted.next(), this._isDragging = !0, this._initialScrollSnap = n.msScrollSnapType || n.scrollSnapType || "", n.scrollSnapType = n.msScrollSnapType = "none", this._sortStrategy.start(this._draggables), this._cacheParentPositions(), this._viewportScrollSubscription.unsubscribe(), this._listenToScrollEvents()
        }
        _cacheParentPositions() {
            this._parentPositions.cache(this._scrollableElements), this._domRect = this._parentPositions.positions.get(this._container).clientRect
        }
        _reset() {
            this._isDragging = !1;
            let n = this._container.style;
            n.scrollSnapType = n.msScrollSnapType = this._initialScrollSnap, this._siblings.forEach(e => e._stopReceiving(this)), this._sortStrategy.reset(), this._stopScrolling(), this._viewportScrollSubscription.unsubscribe(), this._parentPositions.clear()
        }
        _startScrollInterval = () => {
            this._stopScrolling(), Yt(0, ht).pipe(ge(this._stopScrollTimers)).subscribe(() => {
                let n = this._scrollNode,
                    e = this.autoScrollStep;
                this._verticalScrollDirection === $.UP ? n.scrollBy(0, -e) : this._verticalScrollDirection === $.DOWN && n.scrollBy(0, e), this._horizontalScrollDirection === R.LEFT ? n.scrollBy(-e, 0) : this._horizontalScrollDirection === R.RIGHT && n.scrollBy(e, 0)
            })
        };
        _isOverContainer(n, e) {
            return this._domRect != null && Vt(this._domRect, n, e)
        }
        _getSiblingContainerFromPosition(n, e, i) {
            return this._siblings.find(o => o._canReceive(n, e, i))
        }
        _canReceive(n, e, i) {
            if (!this._domRect || !Vt(this._domRect, e, i) || !this.enterPredicate(n, this)) return !1;
            let o = this._getShadowRoot().elementFromPoint(e, i);
            return o ? o === this._container || this._container.contains(o) : !1
        }
        _startReceiving(n, e) {
            let i = this._activeSiblings;
            !i.has(n) && e.every(o => this.enterPredicate(o, this) || this._draggables.indexOf(o) > -1) && (i.add(n), this._cacheParentPositions(), this._listenToScrollEvents(), this.receivingStarted.next({
                initiator: n,
                receiver: this,
                items: e
            }))
        }
        _stopReceiving(n) {
            this._activeSiblings.delete(n), this._viewportScrollSubscription.unsubscribe(), this.receivingStopped.next({
                initiator: n,
                receiver: this
            })
        }
        _listenToScrollEvents() {
            this._viewportScrollSubscription = this._dragDropRegistry.scrolled(this._getShadowRoot()).subscribe(n => {
                if (this.isDragging()) {
                    let e = this._parentPositions.handleScroll(n);
                    e && this._sortStrategy.updateOnScroll(e.top, e.left)
                } else this.isReceiving() && this._cacheParentPositions()
            })
        }
        _getShadowRoot() {
            if (!this._cachedShadowRoot) {
                let n = it(this._container);
                this._cachedShadowRoot = n || this._document
            }
            return this._cachedShadowRoot
        }
        _notifyReceivingSiblings() {
            let n = this._sortStrategy.getActiveItemsSnapshot().filter(e => e.isDragging());
            this._siblings.forEach(e => e._startReceiving(this, n))
        }
    };

function fn(t, n) {
    let {
        top: e,
        bottom: i,
        height: o
    } = t, r = o * mn;
    return n >= e - r && n <= e + r ? $.UP : n >= i - r && n <= i + r ? $.DOWN : $.NONE
}

function _n(t, n) {
    let {
        left: e,
        right: i,
        width: o
    } = t, r = o * mn;
    return n >= e - r && n <= e + r ? R.LEFT : n >= i - r && n <= i + r ? R.RIGHT : R.NONE
}

function Dr(t, n, e, i, o) {
    let r = fn(n, o),
        s = _n(n, i),
        a = $.NONE,
        c = R.NONE;
    if (r) {
        let h = t.scrollTop;
        r === $.UP ? h > 0 && (a = $.UP) : t.scrollHeight - h > t.clientHeight && (a = $.DOWN)
    }
    if (s) {
        let h = t.scrollLeft;
        e === "rtl" ? s === R.RIGHT ? h < 0 && (c = R.RIGHT) : t.scrollWidth + h > t.clientWidth && (c = R.LEFT) : s === R.LEFT ? h > 0 && (c = R.LEFT) : t.scrollWidth - h > t.clientWidth && (c = R.RIGHT)
    }
    return [a, c]
}
var Ne = {
        capture: !0
    },
    Ft = {
        passive: !1,
        capture: !0
    },
    Sr = (() => {
        class t {
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275cmp = L({
                type: t,
                selectors: [
                    ["ng-component"]
                ],
                hostAttrs: ["cdk-drag-resets-container", ""],
                decls: 0,
                vars: 0,
                template: function(i, o) {},
                styles: [`@layer cdk-resets{.cdk-drag-preview{background:none;border:none;padding:0;color:inherit;inset:auto}}.cdk-drag-placeholder *,.cdk-drag-preview *{pointer-events:none !important}
`],
                encapsulation: 2,
                changeDetection: 0
            })
        }
        return t
    })(),
    gn = (() => {
        class t {
            _ngZone = p(B);
            _document = p(he);
            _styleLoader = p(Wi);
            _renderer = p(ye).createRenderer(null, null);
            _cleanupDocumentTouchmove;
            _dropInstances = new Set;
            _dragInstances = new Set;
            _activeDragInstances = be([]);
            _globalListeners;
            _draggingPredicate = e => e.isDragging();
            _domNodesToDirectives = null;
            pointerMove = new b;
            pointerUp = new b;
            scroll = new b;
            constructor() {}
            registerDropContainer(e) {
                this._dropInstances.has(e) || this._dropInstances.add(e)
            }
            registerDragItem(e) {
                this._dragInstances.add(e), this._dragInstances.size === 1 && this._ngZone.runOutsideAngular(() => {
                    this._cleanupDocumentTouchmove ? .(), this._cleanupDocumentTouchmove = ce(this._renderer, this._document, "touchmove", this._persistentTouchmoveListener, Ft)
                })
            }
            removeDropContainer(e) {
                this._dropInstances.delete(e)
            }
            removeDragItem(e) {
                this._dragInstances.delete(e), this.stopDragging(e), this._dragInstances.size === 0 && this._cleanupDocumentTouchmove ? .()
            }
            startDragging(e, i) {
                if (!(this._activeDragInstances().indexOf(e) > -1) && (this._styleLoader.load(Sr), this._activeDragInstances.update(o => [...o, e]), this._activeDragInstances().length === 1)) {
                    let o = i.type.startsWith("touch"),
                        r = a => this.pointerUp.next(a),
                        s = [
                            ["scroll", a => this.scroll.next(a), Ne],
                            ["selectstart", this._preventDefaultWhileDragging, Ft]
                        ];
                    o ? s.push(["touchend", r, Ne], ["touchcancel", r, Ne]) : s.push(["mouseup", r, Ne]), o || s.push(["mousemove", a => this.pointerMove.next(a), Ft]), this._ngZone.runOutsideAngular(() => {
                        this._globalListeners = s.map(([a, c, h]) => ce(this._renderer, this._document, a, c, h))
                    })
                }
            }
            stopDragging(e) {
                this._activeDragInstances.update(i => {
                    let o = i.indexOf(e);
                    return o > -1 ? (i.splice(o, 1), [...i]) : i
                }), this._activeDragInstances().length === 0 && this._clearGlobalListeners()
            }
            isDragging(e) {
                return this._activeDragInstances().indexOf(e) > -1
            }
            scrolled(e) {
                let i = [this.scroll];
                return e && e !== this._document && i.push(new Ie(o => this._ngZone.runOutsideAngular(() => {
                    let r = ce(this._renderer, e, "scroll", s => {
                        this._activeDragInstances().length && o.next(s)
                    }, Ne);
                    return () => {
                        r()
                    }
                }))), Be(...i)
            }
            registerDirectiveNode(e, i) {
                this._domNodesToDirectives ? ? = new WeakMap, this._domNodesToDirectives.set(e, i)
            }
            removeDirectiveNode(e) {
                this._domNodesToDirectives ? .delete(e)
            }
            getDragDirectiveForNode(e) {
                return this._domNodesToDirectives ? .get(e) || null
            }
            ngOnDestroy() {
                this._dragInstances.forEach(e => this.removeDragItem(e)), this._dropInstances.forEach(e => this.removeDropContainer(e)), this._domNodesToDirectives = null, this._clearGlobalListeners(), this.pointerMove.complete(), this.pointerUp.complete()
            }
            _preventDefaultWhileDragging = e => {
                this._activeDragInstances().length > 0 && e.preventDefault()
            };
            _persistentTouchmoveListener = e => {
                this._activeDragInstances().length > 0 && (this._activeDragInstances().some(this._draggingPredicate) && e.preventDefault(), this.pointerMove.next(e))
            };
            _clearGlobalListeners() {
                this._globalListeners ? .forEach(e => e()), this._globalListeners = void 0
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac,
                providedIn: "root"
            })
        }
        return t
    })(),
    Tr = {
        dragStartThreshold: 5,
        pointerDirectionChangeThreshold: 5
    },
    Zt = (() => {
        class t {
            _document = p(he);
            _ngZone = p(B);
            _viewportRuler = p(Ui);
            _dragDropRegistry = p(gn);
            _renderer = p(ye).createRenderer(null, null);
            constructor() {}
            createDrag(e, i = Tr) {
                return new zt(e, i, this._document, this._ngZone, this._viewportRuler, this._dragDropRegistry, this._renderer)
            }
            createDropList(e) {
                return new $t(e, this._dragDropRegistry, this._document, this._ngZone, this._viewportRuler)
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275prov = S({
                token: t,
                factory: t.\u0275fac,
                providedIn: "root"
            })
        }
        return t
    })(),
    dn = new J("CDK_DRAG_PARENT");
var Ir = new J("CdkDragHandle");
var vn = new J("CDK_DRAG_CONFIG"),
    bn = new J("CdkDropList"),
    fl = (() => {
        class t {
            element = p(ve);
            dropContainer = p(bn, {
                optional: !0,
                skipSelf: !0
            });
            _ngZone = p(B);
            _viewContainerRef = p(bt);
            _dir = p(Ot, {
                optional: !0
            });
            _changeDetectorRef = p(Ge);
            _selfHandle = p(Ir, {
                optional: !0,
                self: !0
            });
            _parentDrag = p(dn, {
                optional: !0,
                skipSelf: !0
            });
            _dragDropRegistry = p(gn);
            _destroyed = new b;
            _handles = new Qt([]);
            _previewTemplate;
            _placeholderTemplate;
            _dragRef;
            data;
            lockAxis;
            rootElementSelector;
            boundaryElement;
            dragStartDelay;
            freeDragPosition;
            get disabled() {
                return this._disabled || !!(this.dropContainer && this.dropContainer.disabled)
            }
            set disabled(e) {
                this._disabled = e, this._dragRef.disabled = this._disabled
            }
            _disabled;
            constrainPosition;
            previewClass;
            previewContainer;
            scale = 1;
            started = new x;
            released = new x;
            ended = new x;
            entered = new x;
            exited = new x;
            dropped = new x;
            moved = new Ie(e => {
                let i = this._dragRef.moved.pipe(Kt(o => ({
                    source: this,
                    pointerPosition: o.pointerPosition,
                    event: o.event,
                    delta: o.delta,
                    distance: o.distance
                }))).subscribe(e);
                return () => {
                    i.unsubscribe()
                }
            });
            _injector = p(ke);
            constructor() {
                let e = this.dropContainer,
                    i = p(vn, {
                        optional: !0
                    }),
                    o = p(Zt);
                this._dragRef = o.createDrag(this.element, {
                    dragStartThreshold: i && i.dragStartThreshold != null ? i.dragStartThreshold : 5,
                    pointerDirectionChangeThreshold: i && i.pointerDirectionChangeThreshold != null ? i.pointerDirectionChangeThreshold : 5,
                    zIndex: i ? .zIndex
                }), this._dragRef.data = this, this._dragDropRegistry.registerDirectiveNode(this.element.nativeElement, this), i && this._assignDefaults(i), e && (this._dragRef._withDropContainer(e._dropListRef), e.addItem(this), e._dropListRef.beforeStarted.pipe(ge(this._destroyed)).subscribe(() => {
                    this._dragRef.scale = this.scale
                })), this._syncInputs(this._dragRef), this._handleEvents(this._dragRef)
            }
            getPlaceholderElement() {
                return this._dragRef.getPlaceholderElement()
            }
            getRootElement() {
                return this._dragRef.getRootElement()
            }
            reset() {
                this._dragRef.reset()
            }
            getFreeDragPosition() {
                return this._dragRef.getFreeDragPosition()
            }
            setFreeDragPosition(e) {
                this._dragRef.setFreeDragPosition(e)
            }
            ngAfterViewInit() {
                gt(() => {
                    this._updateRootElement(), this._setupHandlesListener(), this._dragRef.scale = this.scale, this.freeDragPosition && this._dragRef.setFreeDragPosition(this.freeDragPosition)
                }, {
                    injector: this._injector
                })
            }
            ngOnChanges(e) {
                let i = e.rootElementSelector,
                    o = e.freeDragPosition;
                i && !i.firstChange && this._updateRootElement(), this._dragRef.scale = this.scale, o && !o.firstChange && this.freeDragPosition && this._dragRef.setFreeDragPosition(this.freeDragPosition)
            }
            ngOnDestroy() {
                this.dropContainer && this.dropContainer.removeItem(this), this._dragDropRegistry.removeDirectiveNode(this.element.nativeElement), this._ngZone.runOutsideAngular(() => {
                    this._handles.complete(), this._destroyed.next(), this._destroyed.complete(), this._dragRef.dispose()
                })
            }
            _addHandle(e) {
                let i = this._handles.getValue();
                i.push(e), this._handles.next(i)
            }
            _removeHandle(e) {
                let i = this._handles.getValue(),
                    o = i.indexOf(e);
                o > -1 && (i.splice(o, 1), this._handles.next(i))
            }
            _setPreviewTemplate(e) {
                this._previewTemplate = e
            }
            _resetPreviewTemplate(e) {
                e === this._previewTemplate && (this._previewTemplate = null)
            }
            _setPlaceholderTemplate(e) {
                this._placeholderTemplate = e
            }
            _resetPlaceholderTemplate(e) {
                e === this._placeholderTemplate && (this._placeholderTemplate = null)
            }
            _updateRootElement() {
                let e = this.element.nativeElement,
                    i = e;
                this.rootElementSelector && (i = e.closest !== void 0 ? e.closest(this.rootElementSelector) : e.parentElement ? .closest(this.rootElementSelector)), this._dragRef.withRootElement(i || e)
            }
            _getBoundaryElement() {
                let e = this.boundaryElement;
                return e ? typeof e == "string" ? this.element.nativeElement.closest(e) : Y(e) : null
            }
            _syncInputs(e) {
                e.beforeStarted.subscribe(() => {
                    if (!e.isDragging()) {
                        let i = this._dir,
                            o = this.dragStartDelay,
                            r = this._placeholderTemplate ? {
                                template: this._placeholderTemplate.templateRef,
                                context: this._placeholderTemplate.data,
                                viewContainer: this._viewContainerRef
                            } : null,
                            s = this._previewTemplate ? {
                                template: this._previewTemplate.templateRef,
                                context: this._previewTemplate.data,
                                matchSize: this._previewTemplate.matchSize,
                                viewContainer: this._viewContainerRef
                            } : null;
                        e.disabled = this.disabled, e.lockAxis = this.lockAxis, e.scale = this.scale, e.dragStartDelay = typeof o == "object" && o ? o : nt(o), e.constrainPosition = this.constrainPosition, e.previewClass = this.previewClass, e.withBoundaryElement(this._getBoundaryElement()).withPlaceholderTemplate(r).withPreviewTemplate(s).withPreviewContainer(this.previewContainer || "global"), i && e.withDirection(i.value)
                    }
                }), e.beforeStarted.pipe(Jt(1)).subscribe(() => {
                    if (this._parentDrag) {
                        e.withParent(this._parentDrag._dragRef);
                        return
                    }
                    let i = this.element.nativeElement.parentElement;
                    for (; i;) {
                        let o = this._dragDropRegistry.getDragDirectiveForNode(i);
                        if (o) {
                            e.withParent(o._dragRef);
                            break
                        }
                        i = i.parentElement
                    }
                })
            }
            _handleEvents(e) {
                e.started.subscribe(i => {
                    this.started.emit({
                        source: this,
                        event: i.event
                    }), this._changeDetectorRef.markForCheck()
                }), e.released.subscribe(i => {
                    this.released.emit({
                        source: this,
                        event: i.event
                    })
                }), e.ended.subscribe(i => {
                    this.ended.emit({
                        source: this,
                        distance: i.distance,
                        dropPoint: i.dropPoint,
                        event: i.event
                    }), this._changeDetectorRef.markForCheck()
                }), e.entered.subscribe(i => {
                    this.entered.emit({
                        container: i.container.data,
                        item: this,
                        currentIndex: i.currentIndex
                    })
                }), e.exited.subscribe(i => {
                    this.exited.emit({
                        container: i.container.data,
                        item: this
                    })
                }), e.dropped.subscribe(i => {
                    this.dropped.emit({
                        previousIndex: i.previousIndex,
                        currentIndex: i.currentIndex,
                        previousContainer: i.previousContainer.data,
                        container: i.container.data,
                        isPointerOverContainer: i.isPointerOverContainer,
                        item: this,
                        distance: i.distance,
                        dropPoint: i.dropPoint,
                        event: i.event
                    })
                })
            }
            _assignDefaults(e) {
                let {
                    lockAxis: i,
                    dragStartDelay: o,
                    constrainPosition: r,
                    previewClass: s,
                    boundaryElement: a,
                    draggingDisabled: c,
                    rootElementSelector: h,
                    previewContainer: g
                } = e;
                this.disabled = c ? ? !1, this.dragStartDelay = o || 0, i && (this.lockAxis = i), r && (this.constrainPosition = r), s && (this.previewClass = s), a && (this.boundaryElement = a), h && (this.rootElementSelector = h), g && (this.previewContainer = g)
            }
            _setupHandlesListener() {
                this._handles.pipe(ei(e => {
                    let i = e.map(o => o.element);
                    this._selfHandle && this.rootElementSelector && i.push(this.element), this._dragRef.withHandles(i)
                }), mt(e => Be(...e.map(i => i._stateChanges.pipe(He(i))))), ge(this._destroyed)).subscribe(e => {
                    let i = this._dragRef,
                        o = e.element.nativeElement;
                    e.disabled ? i.disableHandle(o) : i.enableHandle(o)
                })
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275dir = Re({
                type: t,
                selectors: [
                    ["", "cdkDrag", ""]
                ],
                hostAttrs: [1, "cdk-drag"],
                hostVars: 4,
                hostBindings: function(i, o) {
                    i & 2 && Ze("cdk-drag-disabled", o.disabled)("cdk-drag-dragging", o._dragRef.isDragging())
                },
                inputs: {
                    data: [0, "cdkDragData", "data"],
                    lockAxis: [0, "cdkDragLockAxis", "lockAxis"],
                    rootElementSelector: [0, "cdkDragRootElement", "rootElementSelector"],
                    boundaryElement: [0, "cdkDragBoundary", "boundaryElement"],
                    dragStartDelay: [0, "cdkDragStartDelay", "dragStartDelay"],
                    freeDragPosition: [0, "cdkDragFreeDragPosition", "freeDragPosition"],
                    disabled: [2, "cdkDragDisabled", "disabled", I],
                    constrainPosition: [0, "cdkDragConstrainPosition", "constrainPosition"],
                    previewClass: [0, "cdkDragPreviewClass", "previewClass"],
                    previewContainer: [0, "cdkDragPreviewContainer", "previewContainer"],
                    scale: [2, "cdkDragScale", "scale", z]
                },
                outputs: {
                    started: "cdkDragStarted",
                    released: "cdkDragReleased",
                    ended: "cdkDragEnded",
                    entered: "cdkDragEntered",
                    exited: "cdkDragExited",
                    dropped: "cdkDragDropped",
                    moved: "cdkDragMoved"
                },
                exportAs: ["cdkDrag"],
                features: [A([{
                    provide: dn,
                    useExisting: t
                }]), _t]
            })
        }
        return t
    })(),
    Bt = new J("CdkDropListGroup"),
    _l = (() => {
        class t {
            _items = new Set;
            disabled = !1;
            ngOnDestroy() {
                this._items.clear()
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275dir = Re({
                type: t,
                selectors: [
                    ["", "cdkDropListGroup", ""]
                ],
                inputs: {
                    disabled: [2, "cdkDropListGroupDisabled", "disabled", I]
                },
                exportAs: ["cdkDropListGroup"],
                features: [A([{
                    provide: Bt,
                    useExisting: t
                }])]
            })
        }
        return t
    })(),
    gl = (() => {
        class t {
            element = p(ve);
            _changeDetectorRef = p(Ge);
            _scrollDispatcher = p(Gi);
            _dir = p(Ot, {
                optional: !0
            });
            _group = p(Bt, {
                optional: !0,
                skipSelf: !0
            });
            _latestSortedRefs;
            _destroyed = new b;
            _scrollableParentsResolved;
            static _dropLists = [];
            _dropListRef;
            connectedTo = [];
            data;
            orientation;
            id = p(qi).getId("cdk-drop-list-");
            lockAxis;
            get disabled() {
                return this._disabled || !!this._group && this._group.disabled
            }
            set disabled(e) {
                this._dropListRef.disabled = this._disabled = e
            }
            _disabled;
            sortingDisabled;
            enterPredicate = () => !0;
            sortPredicate = () => !0;
            autoScrollDisabled;
            autoScrollStep;
            elementContainerSelector;
            dropped = new x;
            entered = new x;
            exited = new x;
            sorted = new x;
            _unsortedItems = new Set;
            constructor() {
                let e = p(Zt),
                    i = p(vn, {
                        optional: !0
                    });
                this._dropListRef = e.createDropList(this.element), this._dropListRef.data = this, i && this._assignDefaults(i), this._dropListRef.enterPredicate = (o, r) => this.enterPredicate(o.data, r.data), this._dropListRef.sortPredicate = (o, r, s) => this.sortPredicate(o, r.data, s.data), this._setupInputSyncSubscription(this._dropListRef), this._handleEvents(this._dropListRef), t._dropLists.push(this), this._group && this._group._items.add(this)
            }
            addItem(e) {
                this._unsortedItems.add(e), this._dropListRef.isDragging() && this._syncItemsWithRef(this.getSortedItems().map(i => i._dragRef))
            }
            removeItem(e) {
                if (this._unsortedItems.delete(e), this._latestSortedRefs) {
                    let i = this._latestSortedRefs.indexOf(e._dragRef);
                    i > -1 && (this._latestSortedRefs.splice(i, 1), this._syncItemsWithRef(this._latestSortedRefs))
                }
            }
            getSortedItems() {
                return Array.from(this._unsortedItems).sort((e, i) => e._dragRef.getVisibleElement().compareDocumentPosition(i._dragRef.getVisibleElement()) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1)
            }
            ngOnDestroy() {
                let e = t._dropLists.indexOf(this);
                e > -1 && t._dropLists.splice(e, 1), this._group && this._group._items.delete(this), this._latestSortedRefs = void 0, this._unsortedItems.clear(), this._dropListRef.dispose(), this._destroyed.next(), this._destroyed.complete()
            }
            _setupInputSyncSubscription(e) {
                this._dir && this._dir.change.pipe(He(this._dir.value), ge(this._destroyed)).subscribe(i => e.withDirection(i)), e.beforeStarted.subscribe(() => {
                    let i = Ki(this.connectedTo).map(o => {
                        if (typeof o == "string") {
                            let r = t._dropLists.find(s => s.id === o);
                            return r
                        }
                        return o
                    });
                    if (this._group && this._group._items.forEach(o => {
                            i.indexOf(o) === -1 && i.push(o)
                        }), !this._scrollableParentsResolved) {
                        let o = this._scrollDispatcher.getAncestorScrollContainers(this.element).map(r => r.getElementRef().nativeElement);
                        this._dropListRef.withScrollableParents(o), this._scrollableParentsResolved = !0
                    }
                    if (this.elementContainerSelector) {
                        let o = this.element.nativeElement.querySelector(this.elementContainerSelector);
                        e.withElementContainer(o)
                    }
                    e.disabled = this.disabled, e.lockAxis = this.lockAxis, e.sortingDisabled = this.sortingDisabled, e.autoScrollDisabled = this.autoScrollDisabled, e.autoScrollStep = nt(this.autoScrollStep, 2), e.connectedTo(i.filter(o => o && o !== this).map(o => o._dropListRef)).withOrientation(this.orientation)
                })
            }
            _handleEvents(e) {
                e.beforeStarted.subscribe(() => {
                    this._syncItemsWithRef(this.getSortedItems().map(i => i._dragRef)), this._changeDetectorRef.markForCheck()
                }), e.entered.subscribe(i => {
                    this.entered.emit({
                        container: this,
                        item: i.item.data,
                        currentIndex: i.currentIndex
                    })
                }), e.exited.subscribe(i => {
                    this.exited.emit({
                        container: this,
                        item: i.item.data
                    }), this._changeDetectorRef.markForCheck()
                }), e.sorted.subscribe(i => {
                    this.sorted.emit({
                        previousIndex: i.previousIndex,
                        currentIndex: i.currentIndex,
                        container: this,
                        item: i.item.data
                    })
                }), e.dropped.subscribe(i => {
                    this.dropped.emit({
                        previousIndex: i.previousIndex,
                        currentIndex: i.currentIndex,
                        previousContainer: i.previousContainer.data,
                        container: i.container.data,
                        item: i.item.data,
                        isPointerOverContainer: i.isPointerOverContainer,
                        distance: i.distance,
                        dropPoint: i.dropPoint,
                        event: i.event
                    }), this._changeDetectorRef.markForCheck()
                }), Be(e.receivingStarted, e.receivingStopped).subscribe(() => this._changeDetectorRef.markForCheck())
            }
            _assignDefaults(e) {
                let {
                    lockAxis: i,
                    draggingDisabled: o,
                    sortingDisabled: r,
                    listAutoScrollDisabled: s,
                    listOrientation: a
                } = e;
                this.disabled = o ? ? !1, this.sortingDisabled = r ? ? !1, this.autoScrollDisabled = s ? ? !1, this.orientation = a || "vertical", i && (this.lockAxis = i)
            }
            _syncItemsWithRef(e) {
                this._latestSortedRefs = e, this._dropListRef.withItems(e)
            }
            static\ u0275fac = function(i) {
                return new(i || t)
            };
            static\ u0275dir = Re({
                type: t,
                selectors: [
                    ["", "cdkDropList", ""],
                    ["cdk-drop-list"]
                ],
                hostAttrs: [1, "cdk-drop-list"],
                hostVars: 7,
                hostBindings: function(i, o) {
                    i & 2 && (_("id", o.id), Ze("cdk-drop-list-disabled", o.disabled)("cdk-drop-list-dragging", o._dropListRef.isDragging())("cdk-drop-list-receiving", o._dropListRef.isReceiving()))
                },
                inputs: {
                    connectedTo: [0, "cdkDropListConnectedTo", "connectedTo"],
                    data: [0, "cdkDropListData", "data"],
                    orientation: [0, "cdkDropListOrientation", "orientation"],
                    id: "id",
                    lockAxis: [0, "cdkDropListLockAxis", "lockAxis"],
                    disabled: [2, "cdkDropListDisabled", "disabled", I],
                    sortingDisabled: [2, "cdkDropListSortingDisabled", "sortingDisabled", I],
                    enterPredicate: [0, "cdkDropListEnterPredicate", "enterPredicate"],
                    sortPredicate: [0, "cdkDropListSortPredicate", "sortPredicate"],
                    autoScrollDisabled: [2, "cdkDropListAutoScrollDisabled", "autoScrollDisabled", I],
                    autoScrollStep: [0, "cdkDropListAutoScrollStep", "autoScrollStep"],
                    elementContainerSelector: [0, "cdkDropListElementContainer", "elementContainerSelector"]
                },
                outputs: {
                    dropped: "cdkDropListDropped",
                    entered: "cdkDropListEntered",
                    exited: "cdkDropListExited",
                    sorted: "cdkDropListSorted"
                },
                exportAs: ["cdkDropList"],
                features: [A([{
                    provide: Bt,
                    useValue: void 0
                }, {
                    provide: bn,
                    useExisting: t
                }])]
            })
        }
        return t
    })();
var vl = (() => {
    class t {
        static\ u0275fac = function(i) {
            return new(i || t)
        };
        static\ u0275mod = G({
            type: t
        });
        static\ u0275inj = W({
            providers: [Zt],
            imports: [Qi]
        })
    }
    return t
})();
export {
    kt as a, Vi as b, ao as c, us as d, Hi as e, Ws as f, un as g, ml as h, vn as i, fl as j, _l as k, gl as l, vl as m, Xs as n
};
/**i18n:6e1dbccd4192d215e143e99fb4b6a095cee3c871f5aa7cd380ca91231f35e8e0*/