(self.webpackChunkui = self.webpackChunkui || []).push([
    [179], {
        3905: (Re, he, _) => {
            "use strict";

            function t(r) {
                return r
            }
            _.d(he, {
                J: () => t
            })
        },
        6290: (Re, he, _) => {
            "use strict";
            _.d(he, {
                C: () => x
            });
            var t = _(2340),
                r = _(7206),
                C = _(4650);
            let x = (() => {
                class V {
                    encrypt($) {
                        return $ && ($ = r.AES.encrypt($, t.wy.data).toString()), $
                    }
                }
                return V.\u0275fac = function($) {
                    return new($ || V)
                }, V.\u0275prov = C.Yz7({
                    token: V,
                    factory: V.\u0275fac,
                    providedIn: "root"
                }), V
            })()
        },
        3409: (Re, he, _) => {
            "use strict";
            _.d(he, {
                G: () => V
            });
            var t = _(2340),
                r = _(640),
                U = _(4650),
                C = _(529);
            _(6583);
            let V = (() => {
                class P {
                    constructor(K, G) {
                        this.httpClient = K, this.oktaAuth = G
                    }
                    fetchFactorList(K = !1, G) {
                        return this.httpClient.get(t.NZ.MFA.fetchEnrolledMFAFactors, {
                            observe: "response",
                            withCredentials: !0
                        })
                    }
                    fetchAllRecoveryQues(K, G) {
                        return this.httpClient.get(t.NZ.profileUpdate.fetchSecurityQuestionsList + "?emailId=" + K, {
                            observe: "response"
                        })
                    }
                    fetchSecurityQuestionsForProfileSettings(K) {
                        return this.httpClient.get(t.NZ.profileUpdate.fetchProfileSettingSecurityQuestionsList, {
                            observe: "response"
                        })
                    }
                    updateMarketingLang(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.profileUpdate.updateMarketingOption + "/" + K, {
                            observe: "response"
                        })
                    }
                    updatePrimaryEmail(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.profileUpdate.updatePrimaryEmail, {
                            email: K
                        })
                    }
                    updatePreferredLang(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.profileUpdate.updatePreferredLang + "/" + K, {
                            observe: "response"
                        })
                    }
                    updateSecurityQuestionAndAnsr(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.profileUpdate.updateSecurityQuestionAndAnsr, K, {
                            observe: "response"
                        })
                    }
                    updateBasicDetails(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.profileUpdate.updateUserProfileNames, {
                            firstName: K.firstName,
                            lastName: K.lastName
                        }, {
                            observe: "response"
                        })
                    }
                    updatePassword(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.profileUpdate.updatePassword, K)
                    }
                    resendUpdateEmailVerificationEmail(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.profileUpdate.resendUpdateEmailVerificationEmail + "?emailId=" + K, {})
                    }
                    fetchCountry(K = !1, G) {
                        return this.httpClient.get(t.NZ.MFA.getCountry, {
                            observe: "response"
                        })
                    }
                    fetchRegisteredUserStatus() {
                        return this.httpClient.get(t.NZ.MFA.fetchRegisteredUserStatus, {
                            observe: "response",
                            withCredentials: !0
                        })
                    }
                    fetchUserManagementProfileAttributes(K = !1, G) {
                        return this.httpClient.get(t.NZ.profileUpdate.fetchUserManagementProfileAttributes, {
                            observe: "response",
                            withCredentials: !0
                        })
                    }
                    sendCodeForVoice(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.MFA.sendSMSCode, {
                            factorType: "VOICE",
                            phoneNumber: K
                        }, {
                            observe: "response"
                        })
                    }
                    sendCode(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.MFA.sendSMSCode, {
                            factorType: "SMS",
                            phoneNumber: K
                        }, {
                            observe: "response"
                        })
                    }
                    resendCode(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.MFA.reSendCode + "/" + K, {
                            observe: "response"
                        })
                    }
                    resendCodeForVoice(K, G = !1, F) {
                        return this.httpClient.post(t.NZ.MFA.reSendCode + "/" + K, {
                            observe: "response"
                        })
                    }
                    activateCode(K, G, F = !1, k) {
                        return this.httpClient.post(t.NZ.MFA.activateFactor, {
                            factorId: G,
                            otpPassCode: K
                        }, {
                            observe: "response"
                        })
                    }
                    addOktaMFAFactor(K = !1, G) {
                        return this.httpClient.post(t.NZ.MFA.sendSMSCode, {
                            factorType: "OKTAVERIFY"
                        }, {
                            observe: "response"
                        })
                    }
                    removeMFAFactor(K, G = !1, F) {
                        return this.httpClient.delete(t.NZ.profileUpdate.removeMfaFactor + "/" + K, {
                            observe: "response"
                        })
                    }
                }
                return P.\u0275fac = function(K) {
                    return new(K || P)(U.LFG(C.eN), U.LFG(r.u_))
                }, P.\u0275prov = U.Yz7({
                    token: P,
                    factory: P.\u0275fac,
                    providedIn: "root"
                }), P
            })()
        },
        3977: (Re, he, _) => {
            "use strict";
            _.d(he, {
                v: () => C
            });
            var t = _(2340),
                r = _(529),
                U = _(4650);
            let C = (() => {
                class x {
                    constructor(P) {
                        this.httpClient = P
                    }
                    verifyEmail(P, $) {
                        return this.httpClient.post(t.NZ.registration.stageTwoVerifyEmail, {
                            email: P.email,
                            password: P.password,
                            recoveryQuestion: P.question,
                            recoveryAnswer: P.answer,
                            tncAccepted: !0,
                            marketingOptIn: P.implicitConsentMarketingOpt,
                            activationCode: P.activationCodeToSubmit
                        }, {
                            observe: "response"
                        })
                    }
                    registerUser(P, $) {
                        return this.httpClient.post(t.NZ.registration.stageOneRegUser, {
                            firstName: P.firstName,
                            lastName: P.lastName,
                            email: P.email,
                            applicationNames: P.ApplicationNames,
                            lang: P.lang
                        }, {
                            observe: "response"
                        })
                    }
                    fetchUserByUsername(P, $) {
                        return this.httpClient.get(t.NZ.registration.fetchUserByUsername + "?email=" + P)
                    }
                    isVerifyEmailLinkExpired(P) {
                        const $ = new r.LE({
                            fromObject: {
                                email: P
                            }
                        });
                        return this.httpClient.get(t.NZ.registration.isVerifyEmailLinkExpired, {
                            params: $
                        })
                    }
                    isVerifyEmailLinkActive(P, $) {
                        return this.httpClient.post(t.NZ.registration.isVerifyEmailLinkActive, {
                            email: P,
                            activationCode: $
                        })
                    }
                    resendVerificationEmail(P, $) {
                        return this.httpClient.post(t.NZ.registration.resendEmailVerification, {
                            email: P
                        }, {
                            observe: "response"
                        })
                    }
                    verifyUpdatedEmail(P, $) {
                        return this.httpClient.post(t.NZ.profileUpdate.verifyEmail, {
                            email: P.email,
                            activationCode: P.activationCode
                        }, {
                            observe: "response"
                        })
                    }
                    validateIfEmailExists(P, $) {
                        return this.httpClient.get(t.wy.commonProfile.url + "/app/validateIfEmailExists?email=" + P)
                    }
                    resendUpdatedVerificationEmail(P, $) {
                        return this.httpClient.post(t.NZ.profileUpdate.resendUpdateEmailVerificationEmail, {
                            email: P
                        }, {
                            observe: "response"
                        })
                    }
                }
                return x.\u0275fac = function(P) {
                    return new(P || x)(U.LFG(r.eN))
                }, x.\u0275prov = U.Yz7({
                    token: x,
                    factory: x.\u0275fac,
                    providedIn: "root"
                }), x
            })()
        },
        3606: (Re, he, _) => {
            "use strict";
            _.d(he, {
                C: () => B,
                PJ: () => r,
                Xb: () => V,
                Y6: () => G,
                hJ: () => x,
                i8: () => U,
                jm: () => K,
                k9: () => P,
                kS: () => $,
                mw: () => le,
                n9: () => k,
                nj: () => C,
                w6: () => F
            });
            var t = _(9653);
            const r = (0, t.PH)("[User] Init User"),
                U = (0, t.PH)("[User] Init User language"),
                C = (0, t.PH)("[User] change User language", (0, t.Ky)()),
                x = (0, t.PH)("[User] Set User language", (0, t.Ky)()),
                V = (0, t.PH)("[User] Set User Identity", (0, t.Ky)()),
                P = (0, t.PH)("[User] Set User Authentication", (0, t.Ky)()),
                $ = (0, t.PH)("[User] Logout"),
                K = (0, t.PH)("RedirectURL", (0, t.Ky)()),
                G = (0, t.PH)("fetchSecurityQuestions", (0, t.Ky)()),
                F = (0, t.PH)("setSecurityQuestions", (0, t.Ky)()),
                k = (0, t.PH)("fetchSecurityQuestionsForProfileSettings"),
                B = (0, t.PH)("setSecurityQuestionsForProfileSettings", (0, t.Ky)()),
                le = (0, t.PH)("Display Header", (0, t.Ky)())
        },
        8915: (Re, he, _) => {
            "use strict";
            _.d(he, {
                E3: () => x,
                H5: () => C,
                I6: () => V
            });
            var t = _(8598),
                r = _(9653),
                U = _(3606);
            const C = "user",
                x = {
                    lang: window.navigator.language === t.iu.frCA ? t.iu.frCA : t.iu.enCA,
                    authenticated: !1,
                    displayHeader: !1,
                    identity: null,
                    redirectURL: null,
                    securityQuestions: null,
                    securityQuestionsForProfileSettings: null
                },
                V = (0, r.Lq)(x, (0, r.on)(U.Xb, (P, $) => ({ ...P,
                    identity: $.identity
                })), (0, r.on)(U.k9, (P, $) => ({ ...P,
                    authenticated: $.authenticated
                })), (0, r.on)(U.hJ, (P, $) => ({ ...P,
                    lang: $.lang
                })), (0, r.on)(U.jm, (P, $) => ({ ...P,
                    redirectURL: $.url
                })), (0, r.on)(U.w6, (P, $) => ({ ...P,
                    securityQuestions: $
                })), (0, r.on)(U.C, (P, $) => ({ ...P,
                    securityQuestionsForProfileSettings: $
                })), (0, r.on)(U.mw, (P, $) => ({ ...P,
                    displayHeader: $.display
                })))
        },
        592: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Sn: () => k,
                eE: () => x,
                ev: () => V,
                k2: () => G,
                mF: () => K,
                oG: () => F,
                pz: () => $
            });
            var t = _(8598),
                r = _(9653),
                U = _(8915);
            const C = (0, r.ZF)(U.H5),
                x = (0, r.P1)(C, B => B.lang),
                V = (0, r.P1)(x, B => t.B6.get(B)),
                $ = ((0, r.P1)(C, B => B.authenticated), (0, r.P1)(C, B => B.redirectURL + "?lang=" + t.B6.get(B.lang))),
                K = (0, r.P1)(C, B => B.lang === t.iu.enCA ? B.securityQuestions ? .englishList : B.securityQuestions ? .frenchList),
                G = (0, r.P1)(C, B => B.lang === t.iu.enCA ? B.securityQuestionsForProfileSettings ? .englishList : B.securityQuestionsForProfileSettings ? .frenchList),
                F = (0, r.P1)(C, B => B.displayHeader),
                k = (0, r.P1)(C, B => B.identity)
        },
        8598: (Re, he, _) => {
            "use strict";
            _.d(he, {
                B6: () => P,
                Xz: () => x,
                iu: () => r,
                pb: () => V
            });
            var t = _(3905),
                r = (() => {
                    return ($ = r || (r = {})).frCA = "fr-CA", $.enCA = "en-CA", r;
                    var $
                })();
            (0, t.J)("French"), (0, t.J)("English");
            var C = (() => {
                return ($ = C || (C = {})).fr = "fr", $.frBE = "fr-BE", $.frCH = "fr-CH", $.frFR = "fr-FR", $.frLU = "fr-LU", $.frMC = "fr-MC", $.en = "en", $.enAU = "en-AU", $.enBZ = "en-BZ", $.enCB = "en-CB", $.enGB = "en-GB", $.enIE = "en-IE", $.enJM = "en-JM", $.enNZ = "en-NZ", $.enPH = "en-PH", $.enTT = "en-TT", $.enUS = "en-US", $.enZA = "en-ZA", $.enZW = "en-ZW", C;
                var $
            })();
            const x = new Map([
                [C.fr, r.frCA],
                [C.frBE, r.frCA],
                [C.frCH, r.frCA],
                [C.frFR, r.frCA],
                [C.frLU, r.frCA],
                [C.frMC, r.frCA],
                [C.en, r.enCA],
                [C.enAU, r.enCA],
                [C.enBZ, r.enCA],
                [C.enCB, r.enCA],
                [C.enGB, r.enCA],
                [C.enIE, r.enCA],
                [C.enJM, r.enCA],
                [C.enNZ, r.enCA],
                [C.enPH, r.enCA],
                [C.enTT, r.enCA],
                [C.enUS, r.enCA],
                [C.enZA, r.enCA],
                [C.enZW, r.enCA]
            ]);
            var V = (() => {
                return ($ = V || (V = {})).fr = "fr", $.en = "en", V;
                var $
            })();
            const P = new Map([
                [r.enCA, V.en],
                [r.frCA, V.fr]
            ])
        },
        1846: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Mw: () => C,
                Sk: () => U
            });
            var t = _(7798);
            const U = {
                    firstName: [{
                        errorName: t.cp.required,
                        message: "profilesettings.firstName.error"
                    }, {
                        errorName: t.cp.patternForbidden,
                        message: "basicdetails.invalidpattern"
                    }, {
                        errorName: [t.cp.maxLength],
                        message: "basicdetails.maxcharerror"
                    }],
                    lastName: [{
                        errorName: t.cp.required,
                        message: "lastName.error"
                    }, {
                        errorName: t.cp.patternForbidden,
                        message: "basicdetails.invalidpattern"
                    }, {
                        errorName: [t.cp.maxLength],
                        message: "basicdetails.maxcharerror"
                    }],
                    email: [{
                        errorName: t.cp.required,
                        message: "updateEmail.email_required_error"
                    }, {
                        errorName: t.cp.patternAllowed,
                        message: "updateEmail.email_pattern_error"
                    }, {
                        errorName: t.cp.pattern,
                        message: "updateEmail.email_pattern_error"
                    }, {
                        errorName: t.cp.patternForbidden,
                        message: "Oops! Hyphen/Underscore/Period cannot be the first or last character in each section an email address."
                    }, {
                        errorName: t.cp.mailAlreadyTaken,
                        message: "updateEmail.email_already_taken"
                    }, {
                        errorName: t.cp.invalidEmailFormat,
                        message: "updateemail.restricteddomain"
                    }],
                    password: [{
                        errorName: t.cp.required,
                        message: "pwdnull.error"
                    }, {
                        errorName: t.cp.patternAllowed,
                        message: "Oops! Invalid password format; password must contain atleast one of the following:<br>-Minimum of 8 characters<br>-Upper case characters<br>-Lowercase characters<br>-Numeric value<br>-Special characters"
                    }, {
                        errorName: t.cp.pattern,
                        message: "updatePassword.pwd_pattern_error"
                    }],
                    old_password: [{
                        errorName: t.cp.required,
                        message: "updatePassword.pwd_validation_error"
                    }, {
                        errorName: t.cp.pattern,
                        message: "updatePassword.pwd_pattern_error"
                    }, {
                        errorName: t.cp.invalid,
                        message: "oldpwd.error"
                    }, {
                        errorName: t.cp.patternAllowed,
                        message: "updatePassword.pwd_pattern_error"
                    }, {
                        errorName: t.cp.noMatch,
                        message: "pwdmatch.error"
                    }, {
                        errorName: t.cp.cannotBeCurrentPassword,
                        message: "pwd.error"
                    }, {
                        errorName: t.cp.tooRecentPasswrod,
                        message: "pwd.errorTooRecentPwd"
                    }, {
                        errorName: t.cp.eitherOr,
                        message: "updatePassword.pwd_pattern_error"
                    }],
                    confirmPassword: [{
                        errorName: t.cp.required,
                        message: "Oops! You need to enter a password."
                    }, {
                        errorName: t.cp.noMatch,
                        message: "pwdmatch.error"
                    }, {
                        errorName: t.cp.pattern,
                        message: "updatePassword.pwd_pattern_error"
                    }, {
                        errorName: t.cp.cannotBeCurrentPassword,
                        message: "pwd.error"
                    }, {
                        errorName: t.cp.tooRecentPasswrod,
                        message: "pwd.errorTooRecentPwd"
                    }, {
                        errorName: t.cp.eitherOr,
                        message: "updatePassword.pwd_pattern_error"
                    }],
                    question: [{
                        errorName: t.cp.required,
                        message: "register.stage2.enter.question"
                    }],
                    custom_question: [{
                        errorName: t.cp.required,
                        message: "profilesettings.customQuestionerror"
                    }, {
                        errorName: t.cp.maxLength,
                        message: "common.hundredchar"
                    }, {
                        errorName: t.cp.invalid,
                        message: "cstmqstn.weakError"
                    }],
                    update_password: [{
                        errorName: t.cp.required,
                        message: "updatePassword.pwd_validation_error"
                    }, {
                        errorName: t.cp.patternAllowed,
                        message: "updatePassword.pwd_pattern_error"
                    }, {
                        errorName: t.cp.noMatch,
                        message: "password.notcorrecterror"
                    }],
                    answer: [{
                        errorName: t.cp.required,
                        message: "profilesettings.securityAnsrError1"
                    }, {
                        errorName: [t.cp.maxLength, t.cp.minLength],
                        message: "min4.max100.character"
                    }, {
                        errorName: t.cp.cannotInclude,
                        message: "Oops! Your answer must not contain your email, password, or any part of the security question"
                    }, {
                        errorName: t.cp.security_answer_no_as_email,
                        message: "security.answer.no.as.email"
                    }, {
                        errorName: t.cp.security_answer_no_as_password,
                        message: "security.answer.no.as.password"
                    }, {
                        errorName: t.cp.security_answer_no_as_question,
                        message: "security.answer.no.as.question"
                    }],
                    term: [{
                        errorName: t.cp.required,
                        message: "Oops! You need to agree to the T&Cs"
                    }]
                },
                C = {
                    code: [{
                        errorName: t.cp.required,
                        message: "mfa.nullcode"
                    }, {
                        errorName: t.cp.pattern,
                        message: "mfa.sixdigitcodeerror"
                    }, {
                        errorName: [t.cp.maxLength],
                        message: "mfa.sixdigitcodeerror"
                    }, {
                        errorName: [t.cp.noMatch],
                        message: " "
                    }],
                    voice: [{
                        errorName: t.cp.required,
                        message: "mfa.enterphonenummsg"
                    }, {
                        errorName: t.cp.pattern,
                        message: "mfaprofilesetting.phonenumerror"
                    }],
                    codevoice: [{
                        errorName: t.cp.required,
                        message: "mfa.nullcode"
                    }, {
                        errorName: t.cp.pattern,
                        message: "mfaprofilesetting.phonenumerror"
                    }, {
                        errorName: [t.cp.maxLength],
                        message: "mfa.fivedigitcode"
                    }],
                    phone: [{
                        errorName: t.cp.required,
                        message: "mfa.enterphonenummsg"
                    }, {
                        errorName: t.cp.pattern,
                        message: "mfaprofilesetting.phonenumerror"
                    }],
                    phoneType: [{
                        errorName: t.cp.required,
                        message: "oktaEnrollment.errormsg"
                    }]
                }
        },
        3166: (Re, he, _) => {
            "use strict";
            _.d(he, {
                a: () => K
            });
            var t = _(5571),
                r = _(640),
                C = (_(6583), _(9432)),
                x = _.n(C),
                V = _(4650),
                P = _(7799),
                $ = _(9653);
            let K = (() => {
                class G extends t.H {
                    constructor(k, B, le, oe, Te) {
                        super(le, k, B, oe, Te), this.router = k, this.oktaAuth = B, this.store = le, this.activatedRoute = oe, this.injector = Te
                    }
                    ngOnInit() {
                        super.ngOnInit()
                    }
                    displayGenericError(k) {
                        var B = document.getElementById(k);
                        new(x())(B).show()
                    }
                }
                return G.\u0275fac = function(k) {
                    return new(k || G)(V.Y36(P.F0), V.Y36(r.u_), V.Y36($.yh), V.Y36(P.gz), V.Y36(V.zs3))
                }, G.\u0275dir = V.lG2({
                    type: G,
                    features: [V.qOj]
                }), G
            })()
        },
        9536: (Re, he, _) => {
            "use strict";
            _.d(he, {
                P: () => C,
                z: () => x
            });
            var t = _(5575),
                r = _(3905),
                U = _(7798);
            const C = {
                    firstName: "",
                    lastName: "",
                    email: "",
                    password: "",
                    confirmPassword: "",
                    question: "",
                    custom_question: "",
                    answer: "",
                    communication: !1,
                    term: !1,
                    communicateproduct: !1
                },
                x = {
                    firstName: [{
                        errorName: U.cp.required,
                        message: "profilesettings.firstName.error"
                    }, {
                        errorName: U.cp.patternForbidden,
                        message: "basicdetails.invalidpattern"
                    }, {
                        errorName: [U.cp.maxLength],
                        message: "basicdetails.maxcharerror"
                    }],
                    lastName: [{
                        errorName: U.cp.required,
                        message: "lastName.error"
                    }, {
                        errorName: U.cp.patternForbidden,
                        message: "basicdetails.invalidpattern"
                    }, {
                        errorName: [U.cp.maxLength],
                        message: "basicdetails.maxcharerror"
                    }],
                    email: [{
                        errorName: U.cp.required,
                        message: "Oops! You need to enter an email."
                    }, {
                        errorName: U.cp.maxLength,
                        message: t.Sw.characters100
                    }, {
                        errorName: U.cp.patternAllowed,
                        message: "Oops! Invalid email format; email address must contain name@mail.com"
                    }, {
                        errorName: U.cp.email,
                        message: "Oops! Invalid email format; email address must contain name@mail.com"
                    }, {
                        errorName: U.cp.patternForbidden,
                        message: "Oops! Hyphen/Underscore/Period cannot be the first or last character in each section an email address."
                    }, {
                        errorName: U.cp.mailAlreadyTaken,
                        message: "Oops! The email you have entered matches with a Purolator profile, Please proceed to"
                    }, {
                        errorName: U.cp.invalidEmailFormat,
                        message: "Oops! You are trying to register using a purolator.com email address. Please contact your support team."
                    }],
                    password: [{
                        errorName: U.cp.required,
                        message: (0, r.J)("Oops! You need to enter a password.")
                    }, {
                        errorName: U.cp.patternAllowed,
                        message: (0, r.J)("Oops! Invalid password format. Please retry.")
                    }, {
                        errorName: U.cp.cannotInclude,
                        message: "password.cannot.include.email"
                    }, {
                        errorName: U.cp.cannotInclude,
                        message: "Oops! Invalid password format. Please retry."
                    }],
                    confirmPassword: [{
                        errorName: U.cp.required,
                        message: (0, r.J)("Oops! You need to enter a password.")
                    }, {
                        errorName: U.cp.noMatch,
                        message: (0, r.J)("Oops! The passwords you entered do not match, please retry.")
                    }, {
                        errorName: U.cp.cannotInclude,
                        message: "password.cannot.include.email"
                    }, {
                        errorName: U.cp.cannotInclude,
                        message: "Oops! Invalid password format. Please retry."
                    }],
                    question: [{
                        errorName: U.cp.required,
                        message: (0, r.J)("Oops! You need to select or create a security question.")
                    }],
                    custom_question: [{
                        errorName: U.cp.required,
                        message: (0, r.J)("register.stage2.enter.question")
                    }, {
                        errorName: [U.cp.maxLength, U.cp.minLength],
                        message: (0, r.J)("min1.max100.character")
                    }],
                    answer: [{
                        errorName: U.cp.required,
                        message: (0, r.J)("Oops! You need to provide a security answer.")
                    }, {
                        errorName: [U.cp.maxLength, U.cp.minLength],
                        message: (0, r.J)("min4.max100.character")
                    }, {
                        errorName: U.cp.cannotInclude,
                        message: (0, r.J)("Oops! Your answer must not contain your email, password, or any part of the security question")
                    }, {
                        errorName: U.cp.security_answer_no_as_password,
                        message: "security.answer.no.as.password"
                    }, {
                        errorName: U.cp.security_answer_no_as_email,
                        message: "security.answer.no.as.email"
                    }, {
                        errorName: U.cp.security_answer_no_as_question,
                        message: "security.answer.no.as.question"
                    }],
                    term: [{
                        errorName: U.cp.required,
                        message: (0, r.J)("Oops! You need to agree to the T&Cs")
                    }],
                    communicateproduct: [{
                        errorName: U.cp.required,
                        message: (0, r.J)("Oops! You need to agree to the T&Cs")
                    }]
                }
        },
        1348: (Re, he, _) => {
            "use strict";
            _.d(he, {
                y: () => He
            });
            var t = _(5861),
                r = _(1846),
                U = _(3166),
                C = _(2340),
                x = _(4650),
                V = _(4006),
                P = _(640),
                K = (_(6583), _(7798)),
                G = _(4086),
                F = _(2722),
                k = _(8829),
                B = _(3409),
                le = _(7799),
                oe = _(9653),
                Te = _(6895),
                Ae = _(8423),
                ce = _(1139),
                be = _(7344),
                je = _(3416);

            function me(xt, kt) {
                1 & xt && (x.TgZ(0, "p", 44), x._uU(1), x.ALo(2, "translate"), x.qZA()), 2 & xt && (x.xp6(1), x.Oqu(x.lcZ(2, 1, "oktaEnrollment.errormsg")))
            }

            function ge(xt, kt) {
                1 & xt && (x.TgZ(0, "p", 45), x._uU(1), x.ALo(2, "translate"), x.TgZ(3, "a", 46), x._uU(4), x.ALo(5, "translate"), x.qZA(), x._uU(6), x.ALo(7, "translate"), x.qZA()), 2 & xt && (x.xp6(1), x.hij(" ", x.lcZ(2, 3, "mfa.Download"), " "), x.xp6(3), x.hij(" ", x.lcZ(5, 5, "mfa.Authenticator App(Okta) from the App Store"), ""), x.xp6(2), x.hij(" ", x.lcZ(7, 7, "mfa.onto your mobile device."), " "))
            }

            function _e(xt, kt) {
                1 & xt && (x.TgZ(0, "p", 45), x._uU(1), x.ALo(2, "translate"), x.TgZ(3, "a", 47), x._uU(4), x.ALo(5, "translate"), x.qZA(), x._uU(6), x.ALo(7, "translate"), x.qZA()), 2 & xt && (x.xp6(1), x.hij(" ", x.lcZ(2, 3, "mfa.Download"), " "), x.xp6(3), x.hij(" ", x.lcZ(5, 5, "mfa.Authenticator App(Okta) from the the Google Play Store"), ""), x.xp6(2), x.hij(" ", x.lcZ(7, 7, "mfa.onto your mobile device."), " "))
            }

            function we(xt, kt) {
                1 & xt && (x.ynx(0), x._UZ(1, "pu-success-msg", 48), x.BQk())
            }

            function ke(xt, kt) {
                1 & xt && (x.TgZ(0, "label", 49), x._uU(1), x.ALo(2, "translate"), x.qZA()), 2 & xt && (x.xp6(1), x.hij(" ", x.lcZ(2, 1, "wrogcode.error"), " "))
            }

            function Je(xt, kt) {
                1 & xt && (x.TgZ(0, "label", 49), x._uU(1), x.ALo(2, "translate"), x.qZA()), 2 & xt && (x.xp6(1), x.hij(" ", x.lcZ(2, 1, "mfa.apicall.limit.error"), " "))
            }

            function ue(xt, kt) {
                if (1 & xt && (x.TgZ(0, "label", 50), x._uU(1), x.qZA()), 2 & xt) {
                    const St = x.oxw();
                    x.xp6(1), x.Oqu(St.errorMsg)
                }
            }

            function Me(xt, kt) {
                1 & xt && (x.TgZ(0, "div", 51)(1, "button", 52), x._uU(2), x.ALo(3, "translate"), x.qZA()()), 2 & xt && (x.xp6(2), x.Oqu(x.lcZ(3, 1, "mfa.Verify")))
            }

            function Ke(xt, kt) {
                if (1 & xt) {
                    const St = x.EpF();
                    x.TgZ(0, "div", 51)(1, "button", 53), x.NdJ("click", function() {
                        x.CHM(St);
                        const ht = x.oxw();
                        return x.KtG(ht.onCountinueClick())
                    }), x._uU(2), x.ALo(3, "translate"), x.qZA()()
                }
                2 & xt && (x.xp6(2), x.Oqu(x.lcZ(3, 1, "mfa.Continue")))
            }

            function Be(xt, kt) {
                if (1 & xt) {
                    const St = x.EpF();
                    x.TgZ(0, "div", 54)(1, "p", 55)(2, "a", 56), x.NdJ("click", function() {
                        x.CHM(St);
                        const ht = x.oxw();
                        return x.KtG(ht.closeModal("addOktaFactor"))
                    }), x._uU(3), x.ALo(4, "translate"), x.qZA()()()
                }
                2 & xt && (x.xp6(3), x.Oqu(x.lcZ(4, 1, "cancel")))
            }
            let He = (() => {
                class xt extends U.a {
                    constructor(St, Ct, ht, Pe, De, J, fe, Fe, at) {
                        super(De, fe, J, Fe, at), this.modalService = St, this.formBuilder = Ct, this.el = ht, this.service = Pe, this.router = De, this.store = J, this.oktaAuth = fe, this.activatedRoute = Fe, this.injector = at, this.baseHref = C.wy.baseHref, this.outputFromChild = new x.vpe, this.factorList = [], this.factorStr = [], this.isSmsEnrolled = !1, this.isOktaEnrolled = !1, this.isVoiceEnrolled = !1, this.target_app = "", this.isCodeSent = !1, this.isCodeReceived = !0, this.isCodeReceivedForVoice = !0, this.isRequiredError = !1, this.title = "Enroll to MFA", this.sendCodeForSms = !0, this.isSentCodeForVoice = !0, this.isCodeValid = !0, this.showSuccessMsg = !1, this.deviceNotSelected = !1, this.isApiRateLimitExceeded = !1, this.errorList = r.Mw, this.oktaPage = 0, this.smsPage = 0, this.voicePage = 0, this.codeForm = this.formBuilder.group({
                            code: ["", [V.kI.required, V.kI.pattern("^[0-9]*$")]]
                        }), this.phoneTypeFormGroup = this.formBuilder.group({
                            phoneType: ["", [V.kI.required]]
                        })
                    }
                    get codeValue() {
                        return this.codeForm.get("code")
                    }
                    get code() {
                        return this.codeForm.get("code")
                    }
                    get phoneType() {
                        return this.phoneTypeFormGroup.get("phoneType")
                    }
                    phoneNumEntered() {
                        this.sendCodeForSms = !0, this.isCodeValid = !0
                    }
                    ngOnInit() {
                        super.ngOnInit(), this.element = this.el.nativeElement, this.updateform("okta"), setTimeout(() => {
                            this.errorList = this.translateErrors(r.Mw)
                        }, 500), document.body.appendChild(this.element), this.element.addEventListener("click", St => {
                            "jw-modal" === St.target.className && this.close()
                        }), this.modalService.add(this), this.isLanguageChanged$.pipe((0, G.g)(500), (0, F.R)(this.unsubscribe$)).subscribe(St => {
                            this.errorList = this.translateErrors(r.Mw), this.codeForm.reset()
                        })
                    }
                    ngOnDestroy() {
                        this.modalService.remove(this.id), this.element.remove()
                    }
                    open() {
                        this.data = this.modalService ? .data, this.element.style.display = "block", document.body.classList.add("jw-modal-open")
                    }
                    close() {
                        this.element.style.display = "none", document.body.classList.remove("jw-modal-open")
                    }
                    closeModal(St) {
                        this.deviceNotSelected = !1, this.codeForm.reset(), this.phoneTypeFormGroup.reset(), this.isApiRateLimitExceeded = !1, this.oktaPage = 0;
                        var Ct = document.querySelectorAll(".oktamfa");
                        Ct.forEach(function(ht) {
                            ht.classList.remove("active")
                        }), Ct[this.oktaPage].classList.add("active"), this.modalService.close(St)
                    }
                    onChange(St) {}
                    updateform(St) {
                        if ("okta" === St) {
                            var Ct = document.querySelectorAll(".oktamfa");
                            document.querySelectorAll(".mainokta").forEach(function(Pe) {
                                Pe.classList.remove("active")
                            }), Ct[0].classList.add("active")
                        }
                    }
                    onNextClick(St) {
                        if ("okta" === St) {
                            this.oktaPage = this.oktaPage + 1;
                            var Ct = document.querySelectorAll(".oktamfa");
                            Ct.forEach(function(ht) {
                                ht.classList.remove("active")
                            }), Ct[this.oktaPage].classList.add("active")
                        }
                    }
                    addOktaMFAFactorClick() {
                        var St = this;
                        return (0, t.Z)(function*() {
                            St.phoneTypeFormGroup.updateValueAndValidity(), St.phoneTypeFormGroup.markAllAsTouched(), St.isApiRateLimitExceeded = !1, St.phoneTypeFormGroup.valid ? (yield St.service.addOktaMFAFactor()).subscribe(Ct => {
                                200 == Ct.status && (St.onNextClick("okta"), St.factoriId = Ct.body.factors[0].factorId, St.qrCode = Ct.body.factors[0].qrcodeURL)
                            }, Ct => {
                                throw Ct
                            }) : St.deviceNotSelected = !0
                        })()
                    }
                    refreshQrCode() {
                        var St = this;
                        return (0, t.Z)(function*() {
                            (yield St.service.addOktaMFAFactor()).subscribe(Ct => {
                                200 == Ct.status && (St.factoriId = Ct.body.factors[0].factorId, St.qrCode = Ct.body.factors[0].qrcodeURL)
                            }, Ct => {
                                throw Ct
                            })
                        })()
                    }
                    activateCode() {
                        this.isApiRateLimitExceeded = !1, this.isCodeReceived = !0, this.isCodeValid = !0;
                        let St = this.codeForm.get("code") ? .value;
                        "" != St && null != St && St.match("^[0-9]*$") ? this.service.activateCode(St, this.factoriId).pipe((0, F.R)(this.unsubscribe$)).subscribe(Ct => {
                            Ct && 204 == Ct.status && (this.showSuccessMsg = !0, this.isCodeValid = !0, this.isRequiredError = !1)
                        }, Ct => {
                            this.isRequiredError = !0, this.showSuccessMsg = !1, this.errorMsg = Ct.error.apiError.errors[0].message, this.codeForm.controls.code.setErrors({
                                incorrect: !0
                            }), this.codeForm.controls.code.setErrors({
                                invalid: !0
                            }), this.codeForm.controls.code.setErrors({
                                touched: !0
                            }), this.codeForm.controls.code.setErrors({
                                "is-invalid": !0
                            }), this.codeForm.controls.code.markAllAsTouched(), Ct.error.apiError.errors[0].message.includes("match our records") || Ct ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("ne correspond pas") ? (this.isCodeReceived = !1, this.isCodeValid = !1, this.code.setErrors({ ...this.code.errors,
                                [K.cp.noMatch]: !0
                            }), this.errorMsg = Ct.error.apiError.errors[0].message) : Ct.error.apiError.errors[0].message.includes("expired") ? (this.isCodeReceived = !1, this.isCodeValid = !1, this.code.setErrors({ ...this.code.errors,
                                [K.cp.noMatch]: !0
                            }), this.errorMsg = Ct.error.apiError.errors[0].message) : Ct ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("api call exceeded rate limit due to too many requests") || Ct ? .error.apiError ? .errors[0] ? .message ? .includes("Le nombre d\u2019appels pass\xe9s") ? this.isApiRateLimitExceeded = !0 : (this.isCodeReceived = !1, this.isCodeValid = !1)
                        }) : null == St || St.match("^[0-9]*$") ? (this.isRequiredError = !0, this.isCodeValid = !1, this.codeForm.controls.code.setErrors({
                            required: !0
                        })) : (this.codeForm.markAllAsTouched(), this.code.setErrors({ ...this.code.errors,
                            [K.cp.pattern]: !0
                        }))
                    }
                    onCountinueClick() {
                        this.outputFromChild.emit("success"), this.closeModal("addOktaFactor"), this.codeForm.reset(), this.showSuccessMsg = !1
                    }
                    handleKeyDown(St, Ct) {
                        "Enter" === St.code && Ct.bind(this)()
                    }
                }
                return xt.\u0275fac = function(St) {
                    return new(St || xt)(x.Y36(k.Z), x.Y36(V.qu), x.Y36(x.SBq), x.Y36(B.G), x.Y36(le.F0), x.Y36(oe.yh), x.Y36(P.u_), x.Y36(le.gz), x.Y36(x.zs3))
                }, xt.\u0275cmp = x.Xpm({
                    type: xt,
                    selectors: [
                        ["pu-add-okta-auth-popup"]
                    ],
                    inputs: {
                        id: "id",
                        data: "data"
                    },
                    outputs: {
                        outputFromChild: "outputFromChild"
                    },
                    features: [x.qOj],
                    decls: 90,
                    vars: 65,
                    consts: [
                        [1, "jw-modal", "center"],
                        [1, "jw-modal-body"],
                        ["modalName", "addOktaFactor", 3, "closeModal"],
                        [1, "row", "border-bottom"],
                        [1, "col-sm-1", "col-md-1", "col-lg-1", "col-xl-1"],
                        [1, "_Puro-Desk-H1", "okta-popup-heading", "col-sm-10", "col-md-10", "col-lg-10", "col-xl-10"],
                        [1, "mainokta", "oktamfa", "active", "row", 2, "text-align", "center"],
                        [1, "row"],
                        [1, "_Puro-Desk-H2", "okta-subheading"],
                        [1, "text-center", "row"],
                        [1, "sub-heading-text", 2, "font-size", "1.2rem !important", "font-weight", "500"],
                        ["autocomplete", "off", 1, "container", 3, "formGroup"],
                        [1, "row", "col-6"],
                        [1, "col-12"],
                        ["src", "./assets/icons/apple.svg", 1, "icon-style", 2, "height", "50px !important", "width", "50px !important", "float", "right"],
                        [1, "col-12", 2, "margin-top", "10px"],
                        [2, "float", "right"],
                        [3, "label", "id", "name", "value", "formControl", "change"],
                        [1, "col-6"],
                        ["src", "./assets/icons/android.svg", 1, "icon-style", 2, "height", "50px !important", "width", "50px !important"],
                        [2, "float", "center"],
                        ["style", "margin-top: 10px", "class", "sub-heading-text is-invalid-text", 4, "ngIf"],
                        [1, "text-center"],
                        ["class", "sub-heading-text", "style", "font-size: 0.97rem !important; font-weight: 405; padding-left: 90px !important; padding-right: 90px !important", 4, "ngIf"],
                        [1, "text-center", "p-3"],
                        ["type", "button", 1, "btn", "btn-primary", 3, "click"],
                        [1, "mainokta", "oktamfa"],
                        ["col-sm-10", "", "col-md-10", "", "col-lg-10", "", "col-xl-10", "", 1, "_Puro-Desk-H2", "okta-subheading"],
                        [1, "sub-heading-text", 2, "font-size", "1rem !important", "font-weight", "400", "padding-left", "90px !important", "padding-right", "90px !important"],
                        [1, "icon-style", 2, "height", "12rem !important", "width", "12rem !important", 3, "src"],
                        ["tabindex", "0", 1, "sub-heading-text", "pointer", 2, "color", "#0a38e6", "font-size", "0.9rem !important", "font-weight", "600", 3, "click", "keydown"],
                        ["type", "button", 1, "btn", "btn-primary", "inside-txtbox", 3, "click"],
                        [4, "ngIf"],
                        [1, "sub-heading-text", 2, "font-weight", "500"],
                        [3, "formGroup", "ngSubmit"],
                        [1, "input-text", "px-4"],
                        ["type", "text", "id", "mfa-code", "aria-label", "Code", "aria-describedby", "basic-addon2", 3, "isRequired", "label", "errorList", "fieldTextControl", "keyup"],
                        ["myFirstName", ""],
                        ["class", "error-required mt-2", "aria-describedby", "mfa-code", 4, "ngIf"],
                        ["class", "form-label mt-2 invalid-code-error", 4, "ngIf"],
                        ["class", "mt-5 text-center p-3", 4, "ngIf"],
                        ["class", "footer text-center", 4, "ngIf"],
                        [1, "jw-modal-background"],
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        [1, "sub-heading-text", "is-invalid-text", 2, "margin-top", "10px"],
                        [1, "sub-heading-text", 2, "font-size", "0.97rem !important", "font-weight", "405", "padding-left", "90px !important", "padding-right", "90px !important"],
                        ["href", "https://apps.apple.com/ca/app/okta-verify/id490179405", 2, "color", "#0a38e6", "text-decoration", "unset !important"],
                        ["href", "https://play.google.com/store/apps/details?id=com.okta.android.auth&hl=en_CA&gl=US", 2, "color", "#0a38e6", "text-decoration", "unset !important"],
                        ["successMessageText", "mfa.thanks.verify.code"],
                        ["aria-describedby", "mfa-code", 1, "error-required", "mt-2"],
                        [1, "form-label", "mt-2", "invalid-code-error"],
                        [1, "mt-5", "text-center", "p-3"],
                        ["type", "submit", 1, "btn", "btn-primary", "inside-txtbox"],
                        [1, "btn", "btn-primary", 3, "click"],
                        [1, "footer", "text-center"],
                        [1, "p-3", 2, "font-size", "0.97rem", "font-weight", "410", "color", "#0a38e6"],
                        ["href", "javascript:void(0)", 1, "pointer", 2, "text-decoration", "none", 3, "click"]
                    ],
                    template: function(St, Ct) {
                        1 & St && (x.TgZ(0, "div", 0)(1, "div", 1)(2, "pu-modal-close-icon", 2), x.NdJ("closeModal", function(Pe) {
                            return Ct.closeModal(Pe)
                        }), x.qZA(), x.TgZ(3, "div")(4, "div", 3), x._UZ(5, "div", 4), x.TgZ(6, "h3", 5), x._uU(7), x.ALo(8, "translate"), x.qZA(), x._UZ(9, "div", 4), x.qZA(), x.TgZ(10, "div", 6)(11, "div", 7)(12, "p", 8), x._uU(13), x.ALo(14, "translate"), x.qZA()(), x.TgZ(15, "div", 9)(16, "p", 10), x._uU(17), x.ALo(18, "translate"), x.qZA()(), x.TgZ(19, "form", 11)(20, "div", 9)(21, "div", 12)(22, "div", 13), x._UZ(23, "img", 14), x.qZA(), x.TgZ(24, "div", 15)(25, "div", 16)(26, "puro-field-radio", 17), x.NdJ("change", function(Pe) {
                            return Ct.onChange(Pe)
                        }), x.ALo(27, "translate"), x.qZA()()()(), x.TgZ(28, "div", 12)(29, "div", 18), x._UZ(30, "img", 19), x.qZA(), x.TgZ(31, "div", 15)(32, "div", 20)(33, "puro-field-radio", 17), x.NdJ("change", function(Pe) {
                            return Ct.onChange(Pe)
                        }), x.ALo(34, "translate"), x.qZA()()()(), x.YNc(35, me, 3, 3, "p", 21), x.qZA(), x.TgZ(36, "div", 22), x.YNc(37, ge, 8, 9, "p", 23), x.YNc(38, _e, 8, 9, "p", 23), x.qZA(), x.TgZ(39, "div", 24)(40, "button", 25), x.NdJ("click", function() {
                            return Ct.addOktaMFAFactorClick()
                        }), x._uU(41), x.ALo(42, "translate"), x.qZA()()()(), x.TgZ(43, "div", 26)(44, "div", 7), x._UZ(45, "div", 4), x.TgZ(46, "p", 27), x._uU(47), x.ALo(48, "translate"), x.qZA(), x._UZ(49, "div", 4), x.qZA(), x.TgZ(50, "div", 22)(51, "p", 28), x._uU(52), x.ALo(53, "translate"), x.qZA()(), x.TgZ(54, "div", 22), x._UZ(55, "img", 29), x.qZA(), x.TgZ(56, "div", 22)(57, "p", 30), x.NdJ("click", function() {
                            return Ct.refreshQrCode()
                        })("keydown", function(Pe) {
                            return Ct.handleKeyDown(Pe, Ct.refreshQrCode)
                        }), x._uU(58), x.ALo(59, "translate"), x.qZA()(), x.TgZ(60, "div", 24)(61, "button", 31), x.NdJ("click", function() {
                            return Ct.onNextClick("okta")
                        }), x._uU(62), x.ALo(63, "translate"), x.qZA()()(), x.TgZ(64, "div", 26)(65, "div", 7), x._UZ(66, "div", 4), x.TgZ(67, "p", 27), x._uU(68), x.ALo(69, "translate"), x.qZA(), x._UZ(70, "div", 4), x.qZA(), x.YNc(71, we, 2, 0, "ng-container", 32), x.TgZ(72, "div", 22)(73, "p", 33), x._uU(74), x.ALo(75, "translate"), x.qZA()(), x.TgZ(76, "form", 34), x.NdJ("ngSubmit", function() {
                            return Ct.activateCode()
                        }), x.TgZ(77, "div", 35)(78, "div")(79, "puro-field-text", 36, 37), x.NdJ("keyup", function() {
                            return Ct.phoneNumEntered()
                        }), x.ALo(81, "translate"), x.qZA(), x.YNc(82, ke, 3, 3, "label", 38), x.YNc(83, Je, 3, 3, "label", 38), x.YNc(84, ue, 2, 1, "label", 39), x.qZA()(), x.YNc(85, Me, 4, 3, "div", 40), x.YNc(86, Ke, 4, 3, "div", 40), x.qZA()(), x.YNc(87, Be, 5, 3, "div", 41), x.qZA()()(), x._UZ(88, "div", 42)(89, "ngx-spinner", 43)), 2 & St && (x.xp6(7), x.Oqu(x.lcZ(8, 39, "Enroll with Okta Verify")), x.xp6(6), x.hij(" ", x.lcZ(14, 41, "mfa.enrollmentfirstpagetitle"), " "), x.xp6(4), x.hij(" ", x.lcZ(18, 43, "mfa.select your device type"), " "), x.xp6(2), x.Q6J("formGroup", Ct.phoneTypeFormGroup), x.xp6(7), x.Q6J("label", x.lcZ(27, 45, "multifactor.iphone"))("id", "iphone")("name", "phoneType")("value", "iphone")("formControl", Ct.phoneType), x.xp6(7), x.Q6J("label", x.lcZ(34, 47, "multifactor.Android"))("id", "android")("name", "phoneType")("value", "android")("formControl", Ct.phoneType), x.xp6(2), x.Q6J("ngIf", !Ct.phoneTypeFormGroup.valid && (Ct.phoneType.dirty || Ct.phoneType.touched)), x.xp6(2), x.Q6J("ngIf", "iphone" === Ct.phoneType.value), x.xp6(1), x.Q6J("ngIf", "android" === Ct.phoneType.value), x.xp6(3), x.Oqu(x.lcZ(42, 49, "mfa.Continue")), x.xp6(6), x.hij(" ", x.lcZ(48, 51, "mfa.Setup Authenticator App (Okta)"), " "), x.xp6(5), x.hij(" ", x.lcZ(53, 53, "mfa.Launch Authenticator App (Okta) application on your mobile device and select Add an account."), " "), x.xp6(3), x.Q6J("src", Ct.qrCode, x.LSH), x.xp6(3), x.hij(" ", x.lcZ(59, 55, "mfa.Refresh Code"), " "), x.xp6(4), x.Oqu(x.lcZ(63, 57, "mfa.Continue")), x.xp6(6), x.hij(" ", x.lcZ(69, 59, "mfa.Setup Authenticator App (Okta)"), " "), x.xp6(3), x.Q6J("ngIf", Ct.showSuccessMsg), x.xp6(3), x.hij(" ", x.lcZ(75, 61, "mfa.Enter code displayed from the application"), " "), x.xp6(2), x.Q6J("formGroup", Ct.codeForm), x.xp6(3), x.Q6J("isRequired", !0)("label", x.lcZ(81, 63, "mfa.Enter code"))("errorList", Ct.errorList.code)("fieldTextControl", Ct.code), x.uIk("aria-invalid", (null == Ct.codeValue ? null : Ct.codeValue.invalid) && (null == Ct.codeValue ? null : Ct.codeValue.touched) && (null == Ct.codeValue || null == Ct.codeValue.errors ? null : Ct.codeValue.errors.required) && Ct.isCodeValid || (null == Ct.codeValue || null == Ct.codeValue.errors ? null : Ct.codeValue.errors.pattern) || !Ct.isCodeValid || Ct.isApiRateLimitExceeded), x.xp6(3), x.Q6J("ngIf", !(Ct.isCodeValid || null != Ct.codeValue && null != Ct.codeValue.errors && Ct.codeValue.errors.required)), x.xp6(1), x.Q6J("ngIf", Ct.isApiRateLimitExceeded), x.xp6(1), x.Q6J("ngIf", !Ct.isCodeValid), x.xp6(1), x.Q6J("ngIf", !Ct.showSuccessMsg), x.xp6(1), x.Q6J("ngIf", Ct.showSuccessMsg), x.xp6(1), x.Q6J("ngIf", !Ct.showSuccessMsg), x.xp6(2), x.Q6J("fullScreen", !0))
                    },
                    dependencies: [Te.O5, V._Y, V.JJ, V.JL, V.oH, V.sg, Ae.Ro, K.GM, K.S$, ce.t, be.D, je.X$],
                    styles: ["pu-add-okta-auth-popup{display:none}pu-add-okta-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:15rem;bottom:calc(3% + 1vw + 1vh)!important;z-index:1000;overflow:auto;width:33rem!important}pu-add-okta-auth-popup .jw-modal .end_body{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.3rem}pu-add-okta-auth-popup .jw-modal-body{padding:20px;background:#fff}pu-add-okta-auth-popup .jw-modal-body .heading{font-family:Open Sans;font-style:normal;font-weight:400;font-size:calc(50% + 1vw + 1vh);line-height:calc(70% + 1vw + 1vh);color:#001996}pu-add-okta-auth-popup .mobile_view_table{height:156px;width:224px;left:0;top:0;border-radius:0;padding:16px}@media (width: 280px){pu-add-okta-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:0;bottom:0;left:0}}@media screen and (max-width: 544px){pu-add-okta-auth-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;z-index:1000;overflow:auto;width:22rem!important}}@media screen and (max-width: 767px) and (min-width: 544px){pu-add-okta-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:calc(15% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);width:30rem}}@media screen and (max-width: 1169px) and (min-width: 992px){pu-add-okta-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:calc(25% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);width:30rem}}@media screen and (min-width: 1170px){pu-add-okta-auth-popup .jw-modal{position:fixed;top:calc(13% + 1vw + 1vh);right:25rem!important;bottom:calc(2% + 1vw + 1vh);width:30rem}}pu-add-okta-auth-popup .jw-modal-background{position:fixed;inset:0;background:rgba(73,80,87,.5);z-index:900}body.jw-modal-open{overflow:hidden}.title{text-align:center;color:#1b11af}.body-text{text-align:center}.table-custom{table-layout:fixed!important;word-wrap:break-word!important}.endpoint-heading-txt{font-family:Open Sans;font-style:normal;font-weight:600;font-size:20px;line-height:24px;color:#001996}.endpoint-service-txt{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#001996}.endpoint-heading-txt-mob{font-family:Open Sans;font-style:normal;font-weight:600;font-size:18px;line-height:22px;color:#001996}.endpoint-service-txt-mob{font-family:Open Sans;font-style:normal;font-weight:400;font-size:18px;line-height:22px;color:#001996}.table-strip-bg{--bs-table-striped-bg: white(0, 0, 0, .05) !important}tr:nth-child(odd){background-color:#fff}tr:nth-child(even){background-color:#f5f6f6}.icon-style-mobile{position:static;width:18px;height:18px;left:0;top:10px}.table-lable-font{font-weight:500!important;font-size:14px!important}.mainokta{display:none}.active{display:block!important}.center-align{text-align:center!important}.okta-popup-heading{line-height:1.8rem!important;text-align:center!important;display:block!important;padding:1rem;padding-top:.8!important}.okta-subheading{line-height:1.8rem!important;text-align:center!important;display:block!important;color:#000!important;padding-top:1rem}.form-check-input:checked{background-color:#001996;border-color:#001996}.error-msg-text{text-align:center;padding-left:50px;padding-right:50px;font-weight:410;color:#e00000}.error-required{color:#e00000;text-align:left;font-weight:410}.invalid-code-error{color:#e00000;text-align:center;font-weight:410}.center{position:fixed;left:50%!important;transform:translate(-50%)}.succ-icon{height:30px;width:25px;padding-top:5px}.success-box{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:22px;gap:16px;position:relative;background:rgba(100,167,11,.1);border:1px solid #c0c0c0;border-radius:4px;margin-bottom:10px}.success-msg-mfa{margin-top:1rem}\n"],
                    encapsulation: 2
                }), xt
            })()
        },
        6554: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Y: () => ct
            });
            var t = _(5861),
                r = _(1846),
                U = _(3166),
                C = _(4650),
                x = _(4006),
                V = _(640),
                $ = (_(6583), _(7579)),
                K = _(4086),
                G = _(2722),
                F = _(8829),
                k = _(3409),
                B = _(9653),
                le = _(7799),
                oe = _(6895),
                Te = _(8423),
                Ae = _(7798),
                ce = _(1139),
                be = _(7344),
                je = _(3416);

            function me(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 12)(1, "div", 13)(2, "p", 14), C._uU(3), C.ALo(4, "translate"), C.qZA(), C.TgZ(5, "p", 15)(6, "span", 16), C._uU(7), C.ALo(8, "translate"), C.qZA()()(), C.TgZ(9, "div", 17)(10, "button", 18), C.NdJ("click", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.onFactorClick("sms"))
                    }), C._uU(11), C.ALo(12, "translate"), C.qZA()(), C.TgZ(13, "div", 19)(14, "button", 20), C.NdJ("click", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.onFactorClick("voice"))
                    }), C._uU(15), C.ALo(16, "translate"), C.qZA()()()
                }
                2 & vt && (C.xp6(3), C.Oqu(C.lcZ(4, 4, "phone.firstpage.desc")), C.xp6(4), C.Oqu(C.lcZ(8, 6, "phone.firstpage.desc2")), C.xp6(4), C.hij(" ", C.lcZ(12, 8, "phone.firstpage.send a code via sms"), " "), C.xp6(4), C.hij(" ", C.lcZ(16, 10, "phone.Receive a voice call"), " "))
            }

            function ge(vt, Qt) {
                if (1 & vt && (C.TgZ(0, "option", 33), C._uU(1), C.qZA()), 2 & vt) {
                    const Ge = Qt.$implicit;
                    C.Q6J("value", Ge.countryName), C.xp6(1), C.Oqu(Ge.countryName)
                }
            }

            function _e(vt, Qt) {
                if (1 & vt && (C.TgZ(0, "label", 34), C._uU(1), C.ALo(2, "translate"), C.qZA()), 2 & vt) {
                    const Ge = C.oxw(2);
                    C.xp6(1), C.hij(" ", C.lcZ(2, 1, Ge.smsError), "")
                }
            }

            function we(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 21)(1, "div")(2, "p", 22), C._uU(3), C.ALo(4, "translate"), C.qZA()(), C.TgZ(5, "form", 23), C.NdJ("ngSubmit", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.onSubmit())
                    }), C.TgZ(6, "div", 24)(7, "select", 25, 26), C.NdJ("change", function() {
                        C.CHM(Ge);
                        const Lt = C.MAs(8),
                            _n = C.oxw();
                        return C.KtG(_n.onOptionsSelected(Lt))
                    }), C.YNc(9, ge, 2, 2, "option", 27), C.qZA()(), C.TgZ(10, "div", 28)(11, "puro-field-text", 29), C.NdJ("keyup", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.phoneNumEntered())
                    }), C.ALo(12, "translate"), C.qZA(), C.YNc(13, _e, 3, 3, "label", 30), C.qZA(), C.TgZ(14, "div", 31)(15, "button", 32), C._uU(16), C.ALo(17, "translate"), C.qZA()()()()
                }
                if (2 & vt) {
                    const Ge = C.oxw();
                    C.xp6(3), C.Oqu(C.lcZ(4, 12, "mfa.Receive a code via SMS to authenticate")), C.xp6(2), C.Q6J("formGroup", Ge.phoneForm), C.xp6(4), C.Q6J("ngForOf", Ge.countries), C.xp6(1), C.uIk("country-code", Ge.dialCode), C.xp6(1), C.Q6J("isRequired", !0)("label", C.lcZ(12, 14, "mfa.Phone number"))("errorList", Ge.errorList.phone)("fieldTextControl", Ge.phone)("maxlength", 25), C.uIk("aria-invalid", !Ge.sendCodeForSms), C.xp6(2), C.Q6J("ngIf", !Ge.sendCodeForSms), C.xp6(3), C.hij(" ", C.lcZ(17, 16, "mfa.Send code"), " ")
                }
            }

            function ke(vt, Qt) {
                1 & vt && (C.ynx(0), C._UZ(1, "pu-success-msg", 42), C.BQk())
            }

            function Je(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 36)(1, "label", 43), C._uU(2), C.ALo(3, "translate"), C.TgZ(4, "label", 44), C.NdJ("click", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw(2);
                        return C.KtG(Lt.resendCode())
                    }), C.TgZ(5, "b", 16), C._uU(6), C.ALo(7, "translate"), C.qZA()()()()
                }
                2 & vt && (C.xp6(2), C.hij(" ", C.lcZ(3, 2, "mfa.Havent Received an SMS?"), " "), C.xp6(4), C.Oqu(C.lcZ(7, 4, "mfaprofilesetting.resendcode")))
            }

            function ue(vt, Qt) {
                if (1 & vt && (C.TgZ(0, "label", 45), C._uU(1), C.ALo(2, "translate"), C.qZA()), 2 & vt) {
                    const Ge = C.oxw(2);
                    C.xp6(1), C.hij("", C.lcZ(2, 1, Ge.codeSmsError), " ")
                }
            }

            function Me(vt, Qt) {
                1 & vt && (C.TgZ(0, "label", 45), C._uU(1), C.ALo(2, "translate"), C.qZA()), 2 & vt && (C.xp6(1), C.hij(" ", C.lcZ(2, 1, "mfa.apicall.limit.error"), " "))
            }

            function Ke(vt, Qt) {
                1 & vt && (C.TgZ(0, "div", 31)(1, "button", 32), C._uU(2), C.ALo(3, "translate"), C.qZA()()), 2 & vt && (C.xp6(2), C.hij(" ", C.lcZ(3, 1, "mfa.verify"), " "))
            }

            function Be(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 31)(1, "button", 46), C.NdJ("click", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw(2);
                        return C.KtG(Lt.onCountinueClick())
                    }), C._uU(2), C.ALo(3, "translate"), C.qZA()()
                }
                2 & vt && (C.xp6(2), C.Oqu(C.lcZ(3, 1, "mfa.Continue")))
            }

            function He(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 21)(1, "div")(2, "p", 22), C._uU(3), C.ALo(4, "translate"), C.qZA()(), C.YNc(5, ke, 2, 0, "ng-container", 35), C.TgZ(6, "div", 36)(7, "label", 37), C._uU(8), C.ALo(9, "translate"), C.qZA()(), C.YNc(10, Je, 8, 6, "div", 38), C.TgZ(11, "form", 23), C.NdJ("ngSubmit", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.activateCode())
                    }), C.TgZ(12, "div", 24)(13, "div")(14, "puro-field-text", 39), C.NdJ("keyup", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.phoneNumEntered())
                    }), C.ALo(15, "translate"), C.qZA(), C.YNc(16, ue, 3, 3, "label", 40), C.YNc(17, Me, 3, 3, "label", 40), C.qZA()(), C.YNc(18, Ke, 4, 3, "div", 41), C.YNc(19, Be, 4, 3, "div", 41), C.qZA()()
                }
                if (2 & vt) {
                    const Ge = C.oxw();
                    C.xp6(3), C.Oqu(C.lcZ(4, 15, "mfa.Receive a code via SMS to authenticate")), C.xp6(2), C.Q6J("ngIf", Ge.showSuccessMsg), C.xp6(3), C.hij(" ", C.lcZ(9, 17, "mfa.Enter the verification code we sent via SMS"), " "), C.xp6(2), C.Q6J("ngIf", !Ge.isCodeReceived), C.xp6(1), C.Q6J("formGroup", Ge.codeForm), C.xp6(3), C.Q6J("isRequired", !0)("label", C.lcZ(15, 19, "mfa.Enter code"))("errorList", Ge.errorList.code)("fieldTextControl", Ge.code)("maxlength", 6)("disabled", Ge.showSuccessMsg), C.xp6(2), C.Q6J("ngIf", Ge.codeSmsError), C.xp6(1), C.Q6J("ngIf", Ge.isApiRateLimitExceeded), C.xp6(1), C.Q6J("ngIf", !Ge.showSuccessMsg), C.xp6(1), C.Q6J("ngIf", Ge.showSuccessMsg)
                }
            }

            function xt(vt, Qt) {
                if (1 & vt && (C.TgZ(0, "option", 33), C._uU(1), C.qZA()), 2 & vt) {
                    const Ge = Qt.$implicit;
                    C.Q6J("value", Ge.countryName), C.xp6(1), C.Oqu(Ge.countryName)
                }
            }

            function kt(vt, Qt) {
                if (1 & vt && (C.TgZ(0, "label", 34), C._uU(1), C.ALo(2, "translate"), C.qZA()), 2 & vt) {
                    const Ge = C.oxw(2);
                    C.xp6(1), C.hij(" ", C.lcZ(2, 1, Ge.smsError), "")
                }
            }

            function St(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 47)(1, "div")(2, "p", 22), C._uU(3), C.ALo(4, "translate"), C.qZA()(), C.TgZ(5, "form", 23), C.NdJ("ngSubmit", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.sendCodeForVoice())
                    }), C.TgZ(6, "div", 24)(7, "select", 48, 49), C.NdJ("change", function() {
                        C.CHM(Ge);
                        const Lt = C.MAs(8),
                            _n = C.oxw();
                        return C.KtG(_n.onOptionsSelectedForVoice(Lt))
                    }), C.YNc(9, xt, 2, 2, "option", 27), C.qZA()(), C.TgZ(10, "div", 50)(11, "puro-field-text", 51), C.NdJ("keyup", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.phoneNumEntered())
                    }), C.ALo(12, "translate"), C.qZA(), C.YNc(13, kt, 3, 3, "label", 30), C.TgZ(14, "label", 52)(15, "b"), C._uU(16), C.ALo(17, "translate"), C.qZA(), C._uU(18), C.ALo(19, "translate"), C.qZA()(), C.TgZ(20, "div", 31)(21, "button", 32), C._uU(22), C.ALo(23, "translate"), C.qZA()()()()
                }
                if (2 & vt) {
                    const Ge = C.oxw();
                    C.xp6(3), C.Oqu(C.lcZ(4, 13, "mfa.setipvoiceauthentication")), C.xp6(2), C.Q6J("formGroup", Ge.voiceForm), C.xp6(4), C.Q6J("ngForOf", Ge.countries), C.xp6(1), C.uIk("country-code", Ge.dialCodeForVoice), C.xp6(1), C.Q6J("isRequired", !0)("label", C.lcZ(12, 15, "mfa.Phone number"))("errorList", Ge.errorList.voice)("fieldTextControl", Ge.voice)("maxlength", 25), C.xp6(2), C.Q6J("ngIf", !Ge.sendCodeForSms), C.xp6(3), C.Oqu(C.lcZ(17, 17, "note")), C.xp6(2), C.hij("", C.lcZ(19, 19, "mfa.note"), " "), C.xp6(4), C.hij(" ", C.lcZ(23, 21, "mfa.call"), " ")
                }
            }

            function Ct(vt, Qt) {
                1 & vt && (C.ynx(0), C._UZ(1, "pu-success-msg", 54), C.BQk())
            }

            function ht(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 36)(1, "label", 43), C._uU(2), C.ALo(3, "translate"), C.TgZ(4, "label", 55), C.NdJ("click", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw(2);
                        return C.KtG(Lt.resendCodeForVoice())
                    }), C.TgZ(5, "b", 16), C._uU(6), C.ALo(7, "translate"), C.qZA()()()()
                }
                2 & vt && (C.xp6(2), C.hij(" ", C.lcZ(3, 2, "mfa.haventreceivedcall"), " "), C.xp6(4), C.Oqu(C.lcZ(7, 4, "mfa.requestanothercall")))
            }

            function Pe(vt, Qt) {
                if (1 & vt && (C.TgZ(0, "label", 45), C._uU(1), C.ALo(2, "translate"), C.qZA()), 2 & vt) {
                    const Ge = C.oxw(2);
                    C.xp6(1), C.hij("", C.lcZ(2, 1, Ge.codeSmsError), " ")
                }
            }

            function De(vt, Qt) {
                1 & vt && (C.TgZ(0, "label", 45), C._uU(1), C.ALo(2, "translate"), C.qZA()), 2 & vt && (C.xp6(1), C.hij(" ", C.lcZ(2, 1, "mfa.apicall.limit.error"), " "))
            }

            function J(vt, Qt) {
                1 & vt && (C.TgZ(0, "div", 31)(1, "button", 32), C._uU(2), C.ALo(3, "translate"), C.qZA()()), 2 & vt && (C.xp6(2), C.hij(" ", C.lcZ(3, 1, "mfa.verify"), " "))
            }

            function fe(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 31)(1, "button", 56), C.NdJ("click", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw(2);
                        return C.KtG(Lt.onCountinueClick())
                    }), C._uU(2), C.ALo(3, "translate"), C.qZA()()
                }
                2 & vt && (C.xp6(2), C.Oqu(C.lcZ(3, 1, "mfa.Continue")))
            }

            function Fe(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 47)(1, "div")(2, "p", 22), C._uU(3), C.ALo(4, "translate"), C.qZA()(), C.YNc(5, Ct, 2, 0, "ng-container", 35), C.TgZ(6, "div", 36)(7, "label", 37), C._uU(8), C.ALo(9, "translate"), C.qZA()(), C.YNc(10, ht, 8, 6, "div", 38), C.TgZ(11, "form", 23), C.NdJ("ngSubmit", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.activateVoiceCode())
                    }), C.TgZ(12, "div", 24)(13, "div")(14, "puro-field-text", 53), C.NdJ("keyup", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.phoneNumEntered())
                    }), C.ALo(15, "translate"), C.qZA(), C.YNc(16, Pe, 3, 3, "label", 40), C.YNc(17, De, 3, 3, "label", 40), C.qZA()(), C.YNc(18, J, 4, 3, "div", 41), C.YNc(19, fe, 4, 3, "div", 41), C.qZA()()
                }
                if (2 & vt) {
                    const Ge = C.oxw();
                    C.xp6(3), C.Oqu(C.lcZ(4, 15, "mfa.setipvoiceauthentication")), C.xp6(2), C.Q6J("ngIf", Ge.showSuccessMsg), C.xp6(3), C.hij(" ", C.lcZ(9, 17, "mfa.entercodeforverifcationcall"), ""), C.xp6(2), C.Q6J("ngIf", !Ge.isCodeReceived), C.xp6(1), C.Q6J("formGroup", Ge.codevoiceForm), C.xp6(3), C.Q6J("isRequired", !0)("label", C.lcZ(15, 19, "mfa.Enter code"))("errorList", Ge.errorList.code)("fieldTextControl", Ge.codevoice)("maxlength", 5)("disabled", Ge.showSuccessMsg), C.xp6(2), C.Q6J("ngIf", Ge.codeSmsError), C.xp6(1), C.Q6J("ngIf", Ge.isApiRateLimitExceeded), C.xp6(1), C.Q6J("ngIf", !Ge.showSuccessMsg), C.xp6(1), C.Q6J("ngIf", Ge.showSuccessMsg)
                }
            }

            function at(vt, Qt) {
                if (1 & vt) {
                    const Ge = C.EpF();
                    C.TgZ(0, "div", 57)(1, "p", 58)(2, "a", 59), C.NdJ("click", function() {
                        C.CHM(Ge);
                        const Lt = C.oxw();
                        return C.KtG(Lt.closeModal("addPhoneFactor"))
                    }), C._uU(3), C.ALo(4, "translate"), C.qZA()()()
                }
                2 & vt && (C.xp6(3), C.Oqu(C.lcZ(4, 1, "cancel")))
            }
            let ct = (() => {
                class vt extends U.a {
                    constructor(Ge, mt, Lt, _n, Ln, Nn, kn, vn, tn) {
                        super(Nn, kn, Ln, vn, tn), this.modalService = Ge, this.formBuilder = mt, this.el = Lt, this.service = _n, this.store = Ln, this.router = Nn, this.oktaAuth = kn, this.activatedRoute = vn, this.injector = tn, this.outputFromChild = new C.vpe, this.unsubscribe$ = new $.x, this.factorList = [], this.factorStr = [], this.isSmsEnrolled = !1, this.isOktaEnrolled = !1, this.isVoiceEnrolled = !1, this.target_app = "", this.isCodeSent = !1, this.isCodeReceived = !0, this.isCodeReceivedForVoice = !0, this.title = "Enroll to MFA", this.sendCodeForSms = !0, this.isSentCodeForVoice = !0, this.showSuccessMsg = !1, this.oktaPage = 0, this.smsPage = 0, this.voicePage = 0, this.isSmsCodeExpired = !1, this.isVoiceCodeExpired = !1, this.isPhoneAuthenticationFactor = !1, this.istPage = !0, this.isSmsPage = !1, this.isSmsSecPage = !1, this.isVoicePage = !1, this.isVoiceSecPage = !1, this.isApiRateLimitExceeded = !1, this.errorList = r.Mw, this.phoneForm = this.formBuilder.group({
                            phone: ["", [x.kI.required, x.kI.pattern("^[0-9]*$"), x.kI.maxLength(25)]],
                            countryDefaultForSms: ["Canada"]
                        }), this.codeForm = this.formBuilder.group({
                            code: ["", [x.kI.required, x.kI.pattern("^[0-9]*$"), x.kI.maxLength(6)]]
                        }), this.voiceForm = this.formBuilder.group({
                            voice: ["", [x.kI.required, x.kI.pattern("^[0-9]*$")]],
                            countryDefault: ["Canada", [x.kI.required]]
                        }), this.codevoiceForm = this.formBuilder.group({
                            codevoice: ["", [x.kI.required, x.kI.pattern("^[0-9]*$"), x.kI.maxLength(5)]]
                        }), this.element = Lt.nativeElement
                    }
                    ngOnInit() {
                        super.ngOnInit(), document.body.appendChild(this.element), this.element.addEventListener("click", Ge => {
                            "jw-modal" === Ge.target.className && this.close()
                        }), this.modalService.add(this), this.isLanguageChanged$.pipe((0, K.g)(500), (0, G.R)(this.unsubscribe$)).subscribe(Ge => {
                            this.getCountry(), this.errorList = this.translateErrors(r.Mw), this.codeForm.reset()
                        }), setTimeout(() => {
                            this.errorList = this.translateErrors(r.Mw), this.getCountry()
                        }, 500)
                    }
                    ngOnDestroy() {
                        super.ngOnDestroy(), this.modalService.remove(this.id), this.element.remove()
                    }
                    open() {
                        this.data = this.modalService ? .data, this.element.style.display = "block", document.body.classList.add("jw-modal-open")
                    }
                    close() {
                        this.element.style.display = "none", document.body.classList.remove("jw-modal-open")
                    }
                    closeModal(Ge) {
                        this.modalService.close(Ge), this.resetEverything(), this.istPage = !0, this.isSmsPage = !1, this.isSmsSecPage = !1, this.isVoicePage = !1, this.isVoiceSecPage = !1
                    }
                    getCountry() {
                        var Ge = this;
                        return (0, t.Z)(function*() {
                            (yield Ge.service.fetchCountry()).subscribe(mt => {
                                "200" == mt.status && (Ge.countries = mt.body, Ge.dialCode = mt.body[40].phoneCode, Ge.dialCodeForVoice = mt.body[40].phoneCode, Ge.phoneForm.controls.countryDefaultForSms.setValue("Canada"), Ge.voiceForm.controls.countryDefault.setValue("Canada"))
                            }, mt => {
                                throw mt
                            })
                        })()
                    }
                    onFactorClick(Ge) {
                        this.resetEverything(), "okta" === Ge && (this.title = "Enroll with Okta Verify vvvvvvvvvvv"), "sms" === Ge && (this.title = "Enroll by Phone"), "voice" === Ge && (this.title = "Enroll by Phone"), "phone" === Ge && (this.title = "Enroll by Phone"), this.updateform(Ge)
                    }
                    resetEverything() {
                        this.sendCodeForSms = !0, this.sendCodeForSms = !0, this.isSentCodeForVoice = !0, this.isCodeSent = !1, this.isCodeReceived = !0, this.isCodeReceivedForVoice = !0, this.smsError = "", this.codeSmsError = "", this.phoneForm.reset(), this.voiceForm.reset(), this.codeForm.reset(), this.phoneForm.controls.countryDefaultForSms.reset(), this.phoneForm.controls.countryDefaultForSms.setValue("Canada"), this.voiceForm.controls.countryDefault.reset(), this.voiceForm.controls.countryDefault.setValue("Canada"), this.codevoiceForm.reset(), this.dialCode = "+1", this.dialCodeForVoice = "+1", this.showSuccessMsg = !1, this.isApiRateLimitExceeded = !1
                    }
                    updateform(Ge) {
                        if ("voice" === Ge) this.istPage = !1, this.isSmsPage = !1, this.isSmsSecPage = !1, this.isVoicePage = !0;
                        else if ("sms" === Ge) this.istPage = !1, this.isSmsPage = !0;
                        else if ("okta" === Ge) {
                            var mt = document.querySelectorAll(".okta");
                            document.querySelectorAll(".main").forEach(function(Ln) {
                                Ln.classList.remove("active")
                            }), mt[0].classList.add("active")
                        } else if ("phone" === Ge) {
                            var _n = document.querySelectorAll(".phone");
                            document.querySelectorAll(".main").forEach(function(Nn) {
                                Nn.classList.remove("active")
                            }), _n[0].classList.add("active")
                        }
                    }
                    get phone() {
                        return this.phoneForm.get("phone")
                    }
                    get countryDefaultForSms() {
                        return this.phoneForm.get("countryDefaultForSms")
                    }
                    get code() {
                        return this.codeForm.get("code")
                    }
                    get voice() {
                        return this.voiceForm.get("voice")
                    }
                    get countryDefault() {
                        return this.voiceForm.get("countryDefault")
                    }
                    get codevoice() {
                        return this.codevoiceForm.get("codevoice")
                    }
                    phoneNumEntered() {
                        this.sendCodeForSms = !0
                    }
                    activateCode() {
                        var Ge = this;
                        return (0, t.Z)(function*() {
                            Ge.isCodeReceived = !0, Ge.isApiRateLimitExceeded = !1, Ge.codeSmsError = "", Ge.showSuccessMsg = !1, Ge.codeForm.markAllAsTouched(), Ge.codeForm.updateValueAndValidity(), Ge.codeForm.valid && (yield Ge.service.activateCode(Ge.code.value, Ge.factoriId)).subscribe(mt => {
                                mt && 204 == mt.status && (Ge.showSuccessMsg = !0)
                            }, mt => {
                                let Lt = mt ? .error.apiError ? .errors[0] ? .message;
                                Ge.codeForm.controls.code.setErrors({
                                    incorrect: !0
                                }), Ge.codeForm.controls.code.setErrors({
                                    invalid: !0
                                }), Ge.codeForm.controls.code.setErrors({
                                    touched: !0
                                }), Ge.codeForm.controls.code.setErrors({
                                    "is-invalid": !0
                                }), Ge.codeForm.controls.code.markAllAsTouched(), Lt.toLowerCase().includes("match our records") || mt ? .error.apiError ? .errors[0] ? .object ? .toLowerCase().includes("code de verrouillage/r\xe9ponse non valide") ? (Ge.isCodeReceived = !1, Ge.codeSmsError = 1 == Ge.isSmsCodeExpired ? "requestanothersms.error" : "wrogcode.error") : Lt ? .toLowerCase().includes("expired") || Lt ? .toLowerCase().includes("oups! le code saisi a expir\xe9") ? (Ge.isCodeReceived = !1, Ge.codeSmsError = "mfa.codeexpire.error") : Lt ? .toLowerCase().includes("api call exceeded rate limit due to too many requests") || Lt ? .toLowerCase().includes("le nombre d\u2019appels pass\xe9s") ? Ge.isApiRateLimitExceeded = !0 : (Ge.isCodeReceived = !1, Ge.codeSmsError = "generic.error")
                            })
                        })()
                    }
                    sendCodeForVoice() {
                        this.isCodeReceived = !0, this.sendCodeForSms = !0, this.voiceForm.markAllAsTouched(), this.voiceForm.updateValueAndValidity(), this.voiceForm.valid && this.service.sendCodeForVoice(this.dialCodeForVoice.substring(1) + this.voice ? .value).pipe((0, G.R)(this.unsubscribe$)).subscribe(Ge => {
                            200 == Ge.status && (this.isPhoneAuthenticationFactor = Ge.isPhoneAuthenticationFactor, this.sendCodeForSms = !0, this.isCodeSent = !0, this.factoriIdForVoice = Ge.body.factors[0].factorId, this.istPage = !1, this.isSmsPage = !1, this.isSmsSecPage = !1, this.isVoicePage = !1, this.isVoiceSecPage = !0, setTimeout(() => {
                                null == this.codevoice ? .value && (this.isCodeReceived = !1)
                            }, 3e4), setTimeout(() => {
                                this.isVoiceCodeExpired = !0
                            }, 3e5))
                        }, Ge => {
                            throw Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("invalid") || Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("non valide") || Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("pas valide") ? (this.sendCodeForSms = !1, this.smsError = "mfaprofilesetting.phonenumerror", this.voiceForm.controls.voice.setErrors({
                                incorrect: !0
                            }), this.voiceForm.controls.voice.setErrors({
                                invalid: !0
                            }), this.voiceForm.controls.voice.setErrors({
                                touched: !0
                            }), this.voiceForm.controls.voice.setErrors({
                                "is-invalid": !0
                            })) : Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("limit of") ? (this.sendCodeForSms = !1, this.smsError = "call.limit") : (this.sendCodeForSms = !1, this.smsError = "generic.error"), Ge
                        })
                    }
                    resendCode() {
                        this.isCodeReceived = !0, this.codeForm.reset(), this.codeSmsError = "", this.service.resendCode(this.factoriId).pipe((0, G.R)(this.unsubscribe$)).subscribe(Ge => {
                            Ge && (this.isCodeSent = !0, this.isCodeReceived = !0, this.factoriId = Ge.factors[0].factorId, setTimeout(() => {
                                null == this.codeForm.get("code") ? .value && (this.isCodeReceived = !1)
                            }, 3e4), setTimeout(() => {}, 3e5))
                        }, Ge => {
                            throw Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("expired") ? (this.isCodeReceived = !1, this.codeSmsError = "mfa.codeexpire.error") : this.codeSmsError = "generic.error", Ge
                        })
                    }
                    onSubmit() {
                        this.isCodeReceived = !0, this.sendCodeForSms = !0, this.phoneForm.markAllAsTouched(), this.phoneForm.updateValueAndValidity(), this.phoneForm.valid && this.service.sendCode(this.dialCode.substring(1) + this.phone ? .value).pipe((0, G.R)(this.unsubscribe$)).subscribe(Ge => {
                            200 == Ge.status && (this.isPhoneAuthenticationFactor = Ge.isPhoneAuthenticationFactor, this.sendCodeForSms = !0, this.isCodeSent = !0, this.factoriId = Ge.body.factors[0].factorId, this.isSmsPage = !1, this.isSmsSecPage = !0, setTimeout(() => {
                                null == this.codeForm.get("code") ? .value && (this.isCodeReceived = !1)
                            }, 3e4), setTimeout(() => {
                                this.isSmsCodeExpired = !0
                            }, 3e5))
                        }, Ge => {
                            throw Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("invalid") || Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("non valide") || Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("pas valide") ? (this.sendCodeForSms = !1, this.smsError = "mfaprofilesetting.phonenumerror", this.phoneForm.controls.phone.setErrors({
                                incorrect: !0
                            }), this.phoneForm.controls.phone.setErrors({
                                invalid: !0
                            }), this.phoneForm.controls.phone.setErrors({
                                touched: !0
                            }), this.phoneForm.controls.phone.setErrors({
                                "is-invalid": !0
                            })) : Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("limit of sms requests") || Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("nombre maximal de demandes de sms") ? (this.sendCodeForSms = !1, this.smsError = "smslimit.error") : (this.sendCodeForSms = !1, this.smsError = "generic.error"), Ge
                        })
                    }
                    onNextClick(Ge) {
                        if ("okta" === Ge) this.oktaPage = this.oktaPage + 1, (mt = document.querySelectorAll(".okta")).forEach(function(Lt) {
                            Lt.classList.remove("active")
                        }), mt[this.oktaPage].classList.add("active");
                        else if ("sms" === Ge) this.smsPage = this.smsPage + 1, (mt = document.querySelectorAll(".sms")).forEach(function(_n) {
                            _n.classList.remove("active")
                        }), mt[this.smsPage].classList.add("active");
                        else if ("voice" === Ge) {
                            var mt;
                            this.voicePage = this.voicePage + 1, (mt = document.querySelectorAll(".voice")).forEach(function(_n) {
                                _n.classList.remove("active")
                            }), mt[this.voicePage].classList.add("active")
                        }
                    }
                    onCountinueClick() {
                        this.outputFromChild.emit("success"), this.closeModal("addPhoneFactor")
                    }
                    onOptionsSelected(Ge) {
                        Ge && this.countries.forEach(mt => {
                            mt.countryName === Ge ? .value && (this.dialCode = mt.phoneCode)
                        }), this.phoneForm.get("phone") ? .reset()
                    }
                    onOptionsSelectedForVoice(Ge) {
                        Ge && this.countries.forEach(mt => {
                            mt.countryName == Ge ? .value && (this.dialCodeForVoice = mt.phoneCode)
                        }), this.voiceForm.get("voice") ? .reset()
                    }
                    activateVoiceCode() {
                        var Ge = this;
                        return (0, t.Z)(function*() {
                            Ge.isApiRateLimitExceeded = !1, Ge.isCodeReceived = !0, Ge.showSuccessMsg = !1, Ge.codeSmsError = "", Ge.codevoiceForm.markAllAsTouched(), Ge.codevoiceForm.updateValueAndValidity(), Ge.codevoiceForm.valid && (yield Ge.service.activateCode(Ge.codevoice.value, Ge.factoriIdForVoice)).subscribe(mt => {
                                mt && 204 == mt.status && (Ge.showSuccessMsg = !0)
                            }, mt => {
                                let Lt = mt ? .error.apiError ? .errors[0] ? .message;
                                Ge.codevoiceForm.controls.codevoice.setErrors({
                                    incorrect: !0
                                }), Ge.codevoiceForm.controls.codevoice.setErrors({
                                    invalid: !0
                                }), Ge.codevoiceForm.controls.codevoice.setErrors({
                                    touched: !0
                                }), Ge.codevoiceForm.controls.codevoice.setErrors({
                                    "is-invalid": !0
                                }), Ge.codevoiceForm.controls.codevoice.markAllAsTouched(), mt ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("match our records") || Lt.toLowerCase().includes("votre jeton ne correspond pas aux donn\xe9es que nous avons. veuillez r\xe9essayer.") ? (Ge.isCodeReceived = !1, Ge.codeSmsError = 1 == Ge.isVoiceCodeExpired ? "codeexpireor.error" : "wrogcode.error") : mt ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("expired") ? (Ge.isCodeReceived = !1, Ge.codeSmsError = "requestanothercall.error") : mt ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("api call exceeded rate limit due to too many requests") || mt ? .error.apiError ? .errors[0] ? .message.toLowerCase() ? .includes("le nombre d\u2019appels pass\xe9s") ? Ge.isApiRateLimitExceeded = !0 : (Ge.isCodeReceived = !1, Ge.codeSmsError = "generic.error")
                            })
                        })()
                    }
                    resendCodeForVoice() {
                        this.isCodeReceived = !0, this.codevoiceForm.reset(), this.codeSmsError = "", this.service.resendCodeForVoice(this.factoriIdForVoice).pipe((0, G.R)(this.unsubscribe$)).subscribe(Ge => {
                            Ge && (this.isCodeSent = !0, this.isCodeReceived = !0, this.factoriIdForVoice = Ge.factors[0].factorId, setTimeout(() => {
                                null == this.codevoiceForm.get("codevoice") ? .value && (this.isCodeReceived = !1)
                            }, 3e4), setTimeout(() => {
                                null == this.codevoiceForm.get("code") ? .value && (this.isCodeReceived = !1, this.codeSmsError = "requestanothercall.error")
                            }, 3e5))
                        }, Ge => {
                            throw Ge ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("expired") ? (this.isCodeReceived = !1, this.codeSmsError = "requestanothercall.error") : this.codeSmsError = "generic.error", Ge
                        })
                    }
                }
                return vt.\u0275fac = function(Ge) {
                    return new(Ge || vt)(C.Y36(F.Z), C.Y36(x.qu), C.Y36(C.SBq), C.Y36(k.G), C.Y36(B.yh), C.Y36(le.F0), C.Y36(V.u_), C.Y36(le.gz), C.Y36(C.zs3))
                }, vt.\u0275cmp = C.Xpm({
                    type: vt,
                    selectors: [
                        ["pu-add-phone-auth-popup"]
                    ],
                    inputs: {
                        id: "id",
                        data: "data"
                    },
                    outputs: {
                        outputFromChild: "outputFromChild"
                    },
                    features: [C.qOj],
                    decls: 18,
                    vars: 10,
                    consts: [
                        [1, "jw-modal", "center"],
                        [1, "jw-modal-body"],
                        ["modalName", "addPhoneFactor", 3, "closeModal"],
                        [1, "row", "border-bottom"],
                        [1, "col-sm-1", "col-md-1", "col-lg-1", "col-xl-1"],
                        [1, "_Puro-Desk-H1", "okta-popup-heading", "col-sm-10", "col-md-10", "col-lg-10", "col-xl-10"],
                        ["class", "main phone", 4, "ngIf"],
                        ["class", "main sms", 4, "ngIf"],
                        ["class", "main voice", 4, "ngIf"],
                        ["class", "footer text-center", 4, "ngIf"],
                        [1, "jw-modal-background"],
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        [1, "main", "phone"],
                        [1, "text-center"],
                        [1, "heading", 2, "margin-bottom", "0rem !important"],
                        [2, "font-size", "0.97rem", "font-weight", "410", "text-align", "center", "font-family", "Open Sans", "font-style", "normal"],
                        [1, "pointer"],
                        [1, "text-center", "mt-4"],
                        [1, "btn", "btn-primary", "mfa-button", 3, "click"],
                        [1, "text-center", "mt-2"],
                        [1, "", 2, "border", "none", "background-color", "none", "background-color", "white", "color", "#001996", 3, "click"],
                        [1, "main", "sms"],
                        [1, "heading", "text-center"],
                        [3, "formGroup", "ngSubmit"],
                        [1, "input-text", "px-4"],
                        ["data-dropup-auto", "false", "formControlName", "countryDefaultForSms", 1, "form-select", "form-control", 3, "change"],
                        ["mySelect", ""],
                        ["class", "option", 3, "value", 4, "ngFor", "ngForOf"],
                        [1, "input-text", "px-4", "mfa-phone", "mt-4"],
                        ["type", "text", "id", "mfa-phone", "aria-label", "Phone", "aria-describedby", "basic-addon2", 3, "isRequired", "label", "errorList", "fieldTextControl", "maxlength", "keyup"],
                        ["class", "form-label mt-2 error-required", "style", "color: #f00000; font-weight: 400", "aria-describedby", "mfa-phone", 4, "ngIf"],
                        [1, "mt-5", "text-center"],
                        ["type", "submit", 1, "btn", "btn-primary", "btn-md", "stdBlueBgColor", "stdWhiteColorForFont", "add-con-btn", "default_height_button", "inside-txtbox"],
                        [1, "option", 3, "value"],
                        ["aria-describedby", "mfa-phone", 1, "form-label", "mt-2", "error-required", 2, "color", "#f00000", "font-weight", "400"],
                        [4, "ngIf"],
                        [1, "input-text", "px-4", 2, "text-align", "center"],
                        [1, "form-label", 2, "margin-bottom", "0.5rem !important"],
                        ["style", "text-align: center", "class", "input-text px-4", 4, "ngIf"],
                        ["type", "text", "id", "mfa-code", "aria-label", "Code", "aria-describedby", "basic-addon2", 3, "isRequired", "label", "errorList", "fieldTextControl", "maxlength", "disabled", "keyup"],
                        ["class", "error-required mt-2", "aria-describedby", "mfa-code", 4, "ngIf"],
                        ["class", "mt-5 text-center", 4, "ngIf"],
                        ["successMessageText", "mfaprofilesetting.verifycodemsg"],
                        [1, "form-label"],
                        [2, "color", "#001996", 3, "click"],
                        ["aria-describedby", "mfa-code", 1, "error-required", "mt-2"],
                        [1, "btn", "btn-primary", 3, "click"],
                        [1, "main", "voice"],
                        ["data-dropup-auto", "false", "formControlName", "countryDefault", 1, "form-select", "form-control", 3, "change"],
                        ["mySelectForVoice", ""],
                        [1, "input-text", "px-4", "mfa-voice", "mt-4"],
                        ["id", "mfa-phone", "type", "text", "id", "voice", "aria-label", "Voice", "aria-describedby", "basic-addon2", 3, "isRequired", "label", "errorList", "fieldTextControl", "maxlength", "keyup"],
                        [1, "form-label", "mt-2"],
                        ["id", "mfa-code", "type", "text", "id", "codevoice", "aria-label", "Codevoice", "aria-describedby", "basic-addon2", 3, "isRequired", "label", "errorList", "fieldTextControl", "maxlength", "disabled", "keyup"],
                        ["successMessageText", "mfaprofilesetting.verifycodemsgforvice"],
                        [2, "/* background-color", "#0dcaf030", "*/ color", "#001996", 3, "click"],
                        [1, "btn", "btn-primary", 2, "width", "100px", 3, "click"],
                        [1, "footer", "text-center"],
                        [1, "p-3", 2, "font-size", "0.97rem", "font-weight", "410", "color", "#0a38e6"],
                        ["href", "javascript:void(0)", 1, "pointer", 2, "text-decoration", "none", 3, "click"]
                    ],
                    template: function(Ge, mt) {
                        1 & Ge && (C.TgZ(0, "div", 0)(1, "div", 1)(2, "pu-modal-close-icon", 2), C.NdJ("closeModal", function(_n) {
                            return mt.closeModal(_n)
                        }), C.qZA(), C.TgZ(3, "div")(4, "div", 3), C._UZ(5, "div", 4), C.TgZ(6, "h3", 5), C._uU(7), C.ALo(8, "translate"), C.qZA(), C._UZ(9, "div", 4), C.qZA(), C.YNc(10, me, 17, 12, "div", 6), C.YNc(11, we, 18, 18, "div", 7), C.YNc(12, He, 20, 21, "div", 7), C.YNc(13, St, 24, 23, "div", 8), C.YNc(14, Fe, 20, 21, "div", 8), C.YNc(15, at, 5, 3, "div", 9), C.qZA()()(), C._UZ(16, "div", 10)(17, "ngx-spinner", 11)), 2 & Ge && (C.xp6(7), C.hij(" ", C.lcZ(8, 8, "mfaprofilesetting.enrollphonetitle"), " "), C.xp6(3), C.Q6J("ngIf", mt.istPage), C.xp6(1), C.Q6J("ngIf", !mt.istPage && mt.isSmsPage), C.xp6(1), C.Q6J("ngIf", !mt.istPage && !mt.isSmsPage && mt.isSmsSecPage), C.xp6(1), C.Q6J("ngIf", !mt.istPage && !mt.isSmsPage && !mt.isSmsSecPage && mt.isVoicePage), C.xp6(1), C.Q6J("ngIf", !mt.istPage && !mt.isSmsPage && !mt.isSmsSecPage && !mt.isVoicePage && mt.isVoiceSecPage), C.xp6(1), C.Q6J("ngIf", !mt.showSuccessMsg), C.xp6(2), C.Q6J("fullScreen", !0))
                    },
                    dependencies: [oe.sg, oe.O5, x._Y, x.YN, x.Kr, x.EJ, x.JJ, x.JL, x.sg, x.u, Te.Ro, Ae.GM, ce.t, be.D, je.X$],
                    styles: ["pu-add-phone-auth-popup{display:none}pu-add-phone-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:15rem;bottom:calc(3% + 1vw + 1vh)!important;z-index:1000;overflow:auto;width:33rem!important}pu-add-phone-auth-popup .jw-modal .end_body{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.3rem}pu-add-phone-auth-popup .jw-modal-body{padding:20px;background:#fff}pu-add-phone-auth-popup .jw-modal-body .heading{font-family:Open Sans;font-style:normal;font-weight:400;font-size:calc(15% + 1vw + 1vh);line-height:calc(70% + 1vw + 1vh);margin-top:1rem;margin-bottom:0rem!important}pu-add-phone-auth-popup .mobile_view_table{height:156px;width:224px;left:0;top:0;border-radius:0;padding:16px}@media (width: 280px){pu-add-phone-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:0;bottom:0;left:0}}@media screen and (max-width: 544px){pu-add-phone-auth-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;z-index:1000;overflow:auto;width:22rem!important}}@media screen and (max-width: 767px) and (min-width: 544px){pu-add-phone-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:calc(15% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);width:30rem}}@media screen and (max-width: 1169px) and (min-width: 992px){pu-add-phone-auth-popup .jw-modal{position:fixed;top:calc(15% + 1vw + 1vh);right:calc(25% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);width:30rem}}@media screen and (min-width: 1170px){pu-add-phone-auth-popup .jw-modal{position:fixed;top:calc(13% + 1vw + 1vh);right:25rem!important;bottom:calc(2% + 1vw + 1vh);width:30rem}}pu-add-phone-auth-popup .jw-modal-background{position:fixed;inset:0;background:rgba(73,80,87,.5);z-index:900}body.jw-modal-open{overflow:hidden}.title{text-align:center;color:#1b11af}.body-text{text-align:center}.table-custom{table-layout:fixed!important;word-wrap:break-word!important}.endpoint-heading-txt{font-family:Open Sans;font-style:normal;font-weight:600;font-size:20px;line-height:24px;color:#001996}.endpoint-service-txt{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#001996}.endpoint-heading-txt-mob{font-family:Open Sans;font-style:normal;font-weight:600;font-size:18px;line-height:22px;color:#001996}.endpoint-service-txt-mob{font-family:Open Sans;font-style:normal;font-weight:400;font-size:18px;line-height:22px;color:#001996}.table-strip-bg{--bs-table-striped-bg: white(0, 0, 0, .05) !important}tr:nth-child(odd){background-color:#fff}tr:nth-child(even){background-color:#f5f6f6}.icon-style-mobile{position:static;width:18px;height:18px;left:0;top:10px}.table-lable-font{font-weight:500!important;font-size:14px!important}.mainokta{display:none}.active{display:block!important}.center-align{text-align:center!important}.okta-popup-heading{line-height:1.8rem!important;text-align:center!important;display:block!important;padding:1rem;padding-top:.8!important}.okta-subheading{line-height:1.8rem!important;text-align:center!important;display:block!important;color:#000!important;padding-top:1rem}.form-check-input:checked{background-color:#001996;border-color:#001996}.error-msg-text{text-align:center;padding-left:50px;padding-right:50px;font-weight:410;color:#e00000}.error-required{color:#e00000;text-align:left;font-weight:410}.invalid-code-error{color:#e00000;text-align:center;font-weight:410}.center{position:fixed;left:50%!important;transform:translate(-50%)}.success-box{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:22px;gap:16px;position:relative;background:rgba(100,167,11,.1);border:1px solid #c0c0c0;border-radius:4px;margin-bottom:10px}.success-msg-mfa{margin-top:1rem}.succ-icon{height:30px;width:25px;padding-top:5px}.mfa-voice,.mfa-phone{position:relative}.mfa-voice:before,.mfa-phone:before{position:absolute;top:16px;left:2.5em;content:attr(country-code)}\n"],
                    encapsulation: 2
                }), vt
            })()
        },
        7344: (Re, he, _) => {
            "use strict";
            _.d(he, {
                D: () => r
            });
            var t = _(4650);
            let r = (() => {
                class U {
                    constructor() {
                        this.closeModal = new t.vpe, this.modalName = ""
                    }
                    ngOnInit() {}
                    onClickCloseModal() {
                        this.closeModal.emit(this.modalName)
                    }
                }
                return U.\u0275fac = function(x) {
                    return new(x || U)
                }, U.\u0275cmp = t.Xpm({
                    type: U,
                    selectors: [
                        ["pu-modal-close-icon"]
                    ],
                    inputs: {
                        modalName: "modalName"
                    },
                    outputs: {
                        closeModal: "closeModal"
                    },
                    decls: 3,
                    vars: 0,
                    consts: [
                        [1, "close_icon_row", "justify-content-end"],
                        [2, "background", "none", "border", "none", "padding", "0"],
                        ["src", "./assets/icons/close-icon.svg", 1, "close-icon-style", "cursor-pointer", 3, "click"]
                    ],
                    template: function(x, V) {
                        1 & x && (t.TgZ(0, "div", 0)(1, "button", 1)(2, "img", 2), t.NdJ("click", function() {
                            return V.onClickCloseModal()
                        }), t.qZA()()())
                    },
                    styles: [".close_icon_row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.close-icon-style[_ngcontent-%COMP%]{margin-left:auto;width:24px;height:24px;cursor:pointer}"]
                }), U
            })()
        },
        7706: (Re, he, _) => {
            "use strict";
            _.d(he, {
                y: () => $
            });
            var t = _(5861),
                r = _(4650),
                U = _(4006),
                C = _(8829),
                x = _(8423),
                V = _(7344),
                P = _(3416);
            let $ = (() => {
                class K {
                    constructor(F, k, B) {
                        this.modalService = F, this.el = k, this.fb = B, this.outputFromChild = new r.vpe, this.hide = !0, this.enterPwdform = this.fb.group({
                            pwd: ["", [U.kI.required, U.kI.pattern("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,32}$")]]
                        }), this.element = k.nativeElement
                    }
                    ngOnInit() {
                        !this.id || (document.body.appendChild(this.element), this.element.addEventListener("click", F => {
                            "jw-modal" === F.target.className && (console.log("height---" + this.el.nativeElement.offsetHeight), console.log("width---" + this.el.nativeElement.offsetWidth), this.close())
                        }), this.modalService.add(this))
                    }
                    get pwdValue() {
                        return this.enterPwdform.get("pwd")
                    }
                    ngOnDestroy() {
                        this.modalService.remove(this.id), this.element.remove()
                    }
                    open() {
                        this.data = this.modalService ? .data, this.element.style.display = "block", document.body.classList.add("jw-modal-open")
                    }
                    close() {
                        this.enterPwdform.reset(), this.element.style.display = "none", document.body.classList.remove("jw-modal-open")
                    }
                    closeModal(F) {
                        this.enterPwdform.reset(), this.modalService.close(F)
                    }
                    resetEverythingForError() {}
                    myFunction() {
                        this.hide = !this.hide
                    }
                    onSubmit() {
                        var F = this;
                        return (0, t.Z)(function*() {
                            F.sendDataToParent("leave")
                        })()
                    }
                    sendDataToParent(F) {
                        this.outputFromChild.emit(F), this.modalService.close("enterpwd")
                    }
                }
                return K.\u0275fac = function(F) {
                    return new(F || K)(r.Y36(C.Z), r.Y36(r.SBq), r.Y36(U.qu))
                }, K.\u0275cmp = r.Xpm({
                    type: K,
                    selectors: [
                        ["pu-enter-password-popup"]
                    ],
                    inputs: {
                        id: "id",
                        data: "data"
                    },
                    outputs: {
                        outputFromChild: "outputFromChild"
                    },
                    decls: 22,
                    vars: 14,
                    consts: [
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        [1, "jw-modal"],
                        [1, "jw-modal-body"],
                        ["modalName", "enterpwd", 3, "closeModal"],
                        [2, "margin", "1rem"],
                        [1, "row", 2, "padding", "0", "margin-top", "0", "margin-right", "0", "position", "absolute", "top", "0", "/* defining the top/left/bottom/right declarations are important! */right", "0"],
                        [1, "row", 2, "margin", "1.3rem"],
                        [1, "_Puro-Desk-H2", "center-align", 2, "font-weight", "410 !important"],
                        [1, "_Puro-Body", "mt-2", 2, "text-align", "center", "margin-top", "1rem", "margin-bottom", "1rem", "/* justify-content", "center"],
                        ["autocomplete", "off", 1, "container", "mt-1", 2, "margin", "auto", 3, "formGroup", "ngSubmit"],
                        [1, "col-md-12", "text-center"],
                        ["type", "button", 1, "btn", "btn-outline-primary", "m-2", "cursor-pointer", 3, "click"],
                        ["type", "submit", 1, "btn", "btn-primary", "mr-1", "cursor-pointer"],
                        [1, "jw-modal-background"]
                    ],
                    template: function(F, k) {
                        1 & F && (r._UZ(0, "ngx-spinner", 0), r.TgZ(1, "div", 1)(2, "div", 2)(3, "pu-modal-close-icon", 3), r.NdJ("closeModal", function(le) {
                            return k.closeModal(le)
                        }), r.qZA(), r.TgZ(4, "div", 4), r._UZ(5, "div", 5), r.TgZ(6, "div", 6)(7, "h3", 7), r._uU(8), r.ALo(9, "translate"), r.qZA(), r.TgZ(10, "span", 8), r._uU(11), r.ALo(12, "translate"), r.qZA()(), r.TgZ(13, "form", 9), r.NdJ("ngSubmit", function() {
                            return k.onSubmit()
                        }), r.TgZ(14, "div", 10)(15, "button", 11), r.NdJ("click", function() {
                            return k.closeModal("enterpwd")
                        }), r._uU(16), r.ALo(17, "translate"), r.qZA(), r.TgZ(18, "button", 12), r._uU(19), r.ALo(20, "translate"), r.qZA()()()()()(), r._UZ(21, "div", 13)), 2 & F && (r.Q6J("fullScreen", !0), r.xp6(8), r.Oqu(r.lcZ(9, 6, "unsavedchanges.popup")), r.xp6(3), r.Oqu(r.lcZ(12, 8, "unsavedpopup.info")), r.xp6(2), r.Q6J("formGroup", k.enterPwdform), r.xp6(3), r.Oqu(r.lcZ(17, 10, "cancel")), r.xp6(3), r.Oqu(r.lcZ(20, 12, "leave")))
                    },
                    dependencies: [U._Y, U.JL, U.sg, x.Ro, V.D, P.X$],
                    styles: ["pu-enter-password-popup{display:none}pu-enter-password-popup .jw-modal{position:fixed;top:calc(30% + 1vw + 1vh);right:7%;bottom:calc(0% + 1vw + 1vh);left:7%;z-index:1000;overflow:auto}pu-enter-password-popup .jw-modal .end_body{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.3rem}pu-enter-password-popup .jw-modal .jw-modal-body{padding:20px;background:#fff}@media (width: 280px){pu-enter-password-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:0;bottom:calc(10% + 1vw + 1vh);left:0}}@media (min-width: 540px){pu-enter-password-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(10% + 1vw + 1vh);left:calc(10% + 1vw + 1vh)}}@media (min-width: 768px){pu-enter-password-popup .jw-modal{position:fixed;top:calc(35% + 1vw + 1vh);right:calc(15% + 1vw + 1vh);bottom:calc(0% + 1vw + 1vh);left:calc(15% + 1vw + 1vh)}}@media (min-width: 992px){pu-enter-password-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:calc(25% + 1vw + 1vh);bottom:calc(10% + 1vw + 1vh);left:calc(25% + 1vw + 1vh)}}@media (min-width: 1200px){pu-enter-password-popup .jw-modal{position:fixed;top:calc(7% + 1vw + 1vh);right:calc(33% + 1vw + 1vh);bottom:calc(7% + 1vw + 1vh);left:calc(33% + 1vw + 1vh)}}pu-enter-password-popup .jw-modal-background{position:fixed;inset:0;background:rgba(73,80,87,.5);z-index:900}body.jw-modal-open{overflow:hidden}.pu-field-text{width:496px!important}.title{text-align:center;color:#1b11af}.body-text{text-align:center}.center-align{display:flex!important;justify-content:center!important}.inst-style{margin-bottom:1%!important;margin-top:1%!important}.inputHeight{height:3.438rem}.border-pwd{border-color:#495057!important}.ml-2{margin-left:2%!important}.p-viewer{z-index:9999;position:absolute;top:.9rem;right:2rem}\n"],
                    encapsulation: 2
                }), K
            })()
        },
        8829: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Z: () => r
            });
            var t = _(4650);
            let r = (() => {
                class U {
                    constructor() {
                        this.modals = [], this.data = {}
                    }
                    add(x) {
                        this.modals.push(x)
                    }
                    remove(x) {
                        this.modals = this.modals.filter(V => V.id !== x)
                    }
                    open(x, V) {
                        const P = this.modals.find($ => $.id === x);
                        this.data = V, P.open(x, this.data)
                    }
                    close(x) {
                        this.modals.find(P => P.id === x).close()
                    }
                }
                return U.\u0275fac = function(x) {
                    return new(x || U)
                }, U.\u0275prov = t.Yz7({
                    token: U,
                    factory: U.\u0275fac,
                    providedIn: "root"
                }), U
            })()
        },
        4115: (Re, he, _) => {
            "use strict";
            _.d(he, {
                F: () => $
            });
            var t = _(5861),
                r = _(4650),
                U = _(8829),
                C = _(3409),
                x = _(8423),
                V = _(7344),
                P = _(3416);
            let $ = (() => {
                class K {
                    constructor(F, k, B) {
                        this.modalService = F, this.el = k, this.service = B, this.outputFromChild = new r.vpe, this.element = k.nativeElement
                    }
                    ngOnChanges() {
                        "okta" === this.factor ? (this.factorStmtDesc = "mfa.Authenticator App (Okta)", this.factorDesc = "removefactor.popup") : (this.factorStmtDesc = "phone", this.factorDesc = "remove.phonefactor")
                    }
                    ngOnInit() {
                        var F = this;
                        return (0, t.Z)(function*() {
                            F.modalService.add(F), document.body.appendChild(F.element), F.element.addEventListener("click", k => {
                                "jw-modal" === k.target.className && F.close()
                            })
                        })()
                    }
                    ngOnDestroy() {
                        this.modalService.remove(this.id), this.element.remove()
                    }
                    open() {
                        this.element.style.display = "block", document.body.classList.add("jw-modal-open")
                    }
                    close() {
                        this.element.style.display = "none", document.body.classList.remove("jw-modal-open")
                    }
                    closeModal(F) {
                        this.modalService.close(F)
                    }
                    removeFactor() {
                        var F = this;
                        return (0, t.Z)(function*() {
                            (yield F.service.removeMFAFactor(F.factorId)).subscribe(k => {
                                200 == k.status && F.outputFromChild.emit("success")
                            }, k => {
                                throw F.outputFromChild.emit("error"), F.closeModal("removefactor"), k
                            })
                        })()
                    }
                }
                return K.\u0275fac = function(F) {
                    return new(F || K)(r.Y36(U.Z), r.Y36(r.SBq), r.Y36(C.G))
                }, K.\u0275cmp = r.Xpm({
                    type: K,
                    selectors: [
                        ["pu-remove-factor"]
                    ],
                    inputs: {
                        id: "id",
                        factor: "factor",
                        factorId: "factorId"
                    },
                    outputs: {
                        outputFromChild: "outputFromChild"
                    },
                    features: [r.TTD],
                    decls: 25,
                    vars: 19,
                    consts: [
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        [1, "jw-modal"],
                        [1, "jw-modal-body"],
                        ["modalName", "removefactor", 3, "closeModal"],
                        [1, "row"],
                        [1, "col-sm-1", "col-md-1", "col-lg-1", "col-xl-1"],
                        [1, "_Puro-Desk-H2", "col-sm-10", "col-md-10", "col-lg-10", "col-xl-10", 2, "line-height", "1.8rem !important", "text-align", "center !important", "display", "block !important"],
                        [1, "end_body", "_Puro-Body", 2, "text-align", "center !important"],
                        [1, "col-md-12", "text-center"],
                        ["type", "button", 1, "btn", "btn-outline-primary", "m-2", 3, "click"],
                        ["type", "button", 1, "btn", "btn-primary", "mr-1", 3, "click"],
                        [1, "jw-modal-background"]
                    ],
                    template: function(F, k) {
                        1 & F && (r._UZ(0, "ngx-spinner", 0), r.TgZ(1, "div", 1)(2, "div", 2)(3, "pu-modal-close-icon", 3), r.NdJ("closeModal", function(le) {
                            return k.closeModal(le)
                        }), r.qZA(), r.TgZ(4, "div")(5, "div", 4), r._UZ(6, "div", 5), r.TgZ(7, "h3", 6), r._uU(8), r.ALo(9, "translate"), r.ALo(10, "translate"), r.ALo(11, "translate"), r.qZA(), r._UZ(12, "div", 5), r.qZA(), r.TgZ(13, "div")(14, "p", 7), r._uU(15), r.ALo(16, "translate"), r.qZA()(), r.TgZ(17, "div", 8)(18, "button", 9), r.NdJ("click", function() {
                            return k.closeModal("removefactor")
                        }), r._uU(19), r.ALo(20, "translate"), r.qZA(), r.TgZ(21, "button", 10), r.NdJ("click", function() {
                            return k.removeFactor()
                        }), r._uU(22), r.ALo(23, "translate"), r.qZA()()()()(), r._UZ(24, "div", 11)), 2 & F && (r.Q6J("fullScreen", !0), r.xp6(8), r.lnq(" ", r.lcZ(9, 7, "remove"), " ", r.lcZ(10, 9, k.factorStmtDesc), " ", r.lcZ(11, 11, "fromYourMfa"), ""), r.xp6(7), r.Oqu(r.lcZ(16, 13, k.factorDesc)), r.xp6(4), r.Oqu(r.lcZ(20, 15, "cancel")), r.xp6(3), r.Oqu(r.lcZ(23, 17, "yes.remove")))
                    },
                    dependencies: [x.Ro, V.D, P.X$],
                    styles: ["pu-remove-factor{display:none}pu-remove-factor .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;left:calc(10% + 1vw + 1vh);z-index:1000;overflow:auto}pu-remove-factor .jw-modal .end_body{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.3rem}pu-remove-factor .jw-modal-body{padding:20px;background:#fff}pu-remove-factor .jw-modal-body .heading{font-family:Open Sans;font-style:normal;font-weight:400;font-size:calc(50% + 1vw + 1vh);line-height:calc(70% + 1vw + 1vh);color:#001996}pu-remove-factor .mobile_view_table{height:156px;width:224px;left:0;top:0;border-radius:0;padding:16px}@media (width: 280px){pu-remove-factor .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:0;bottom:0;left:0}}@media (min-width: 540px){pu-remove-factor .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(10% + 1vw + 1vh);left:calc(10% + 1vw + 1vh)}}@media screen and (width: 412px){pu-remove-factor{position:fixed;top:calc(3% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;left:calc(10% + 1vw + 1vh);z-index:1000;overflow:auto}}@media (min-width: 768px){pu-remove-factor .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(15% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(15% + 1vw + 1vh)}}@media (min-width: 992px){pu-remove-factor .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(25% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(25% + 1vw + 1vh)}}@media (min-width: 1200px){pu-remove-factor .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(30% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(30% + 1vw + 1vh)}}pu-remove-factor .jw-modal-background{position:fixed;inset:0;background:rgba(73,80,87,.5);z-index:900}body.jw-modal-open{overflow:hidden}.title{text-align:center;color:#1b11af}.body-text{text-align:center}.table-custom{table-layout:fixed!important;word-wrap:break-word!important}.endpoint-heading-txt{font-family:Open Sans;font-style:normal;font-weight:600;font-size:20px;line-height:24px;color:#001996}.endpoint-service-txt{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#001996}.endpoint-heading-txt-mob{font-family:Open Sans;font-style:normal;font-weight:600;font-size:18px;line-height:22px;color:#001996}.endpoint-service-txt-mob{font-family:Open Sans;font-style:normal;font-weight:400;font-size:18px;line-height:22px;color:#001996}.table-strip-bg{--bs-table-striped-bg: white(0, 0, 0, .05) !important}tr:nth-child(odd){background-color:#fff}tr:nth-child(even){background-color:#f5f6f6}.icon-style-mobile{position:static;width:18px;height:18px;left:0;top:10px}.table-lable-font{font-weight:500!important;font-size:14px!important}\n"],
                    encapsulation: 2
                }), K
            })()
        },
        3134: (Re, he, _) => {
            "use strict";
            _.d(he, {
                I: () => we
            });
            var t = _(5861),
                r = _(1846),
                U = _(3166),
                C = _(5575),
                x = _(4650),
                V = _(4006),
                P = _(640),
                K = (_(6583), _(7798)),
                G = _(4086),
                F = _(2722),
                k = _(1042),
                B = _(3905);
            (0, B.J)("Oops! You need to enter a password."), (0, B.J)("Oops! Invalid password format. Please retry."), (0, B.J)("Oops! You need to enter a password."), (0, B.J)("Oops! Invalid password format. Please retry."), (0, B.J)("Oops! You need to enter a password."), (0, B.J)("Oops! Invalid password format. Please retry.");
            var Te = _(8829),
                Ae = _(3409),
                ce = _(6290),
                be = _(7799),
                je = _(3416),
                me = _(9653),
                ge = _(8423),
                _e = _(7344);
            let we = (() => {
                class ke extends U.a {
                    constructor(ue, Me, Ke, Be, He, xt, kt, St, Ct, ht, Pe) {
                        super(St, ht, Pe, xt, kt), this.modalService = ue, this.el = Me, this.fb = Ke, this.profileService = Be, this.encryptionService = He, this.activatedRoute = xt, this.injector = kt, this.router = St, this.translateService = Ct, this.oktaAuth = ht, this.store = Pe, this.showPassword = !0, this.misMatch = !1, this.newPwdError = !1, this.oldPwdError = !1, this.hide = !0, this.hideForCfmPwd = !0, this.hideForNewPwd = !0, this.outputFromChild = new x.vpe, this.clientSecret = "hello", this.uuid = (0, k.Z)(), this.errorList = r.Sk, this.form = this.fb.group({
                            password: ["", C.B$.get(C.FJ.password)],
                            newPassword: ["", C.B$.get(C.FJ.password)],
                            confirmPassword: ["", C.B$.get(C.FJ.password)]
                        }), this.updatePwdform = this.fb.group({
                            pwd: ["", [V.kI.required, V.kI.pattern("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$")]],
                            newpwd: ["", [V.kI.required, V.kI.pattern("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$")]],
                            cfmpwd: ["", [V.kI.required, V.kI.pattern("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$")]]
                        }), this.element = Me.nativeElement
                    }
                    ngOnInit() {
                        super.ngOnInit(), setTimeout(() => {
                            this.errorList = this.translateErrors(r.Sk)
                        }, 500), this.id && (document.body.appendChild(this.element), this.element.addEventListener("click", ue => {
                            "jw-modal" === ue.target.className && this.close()
                        }), this.modalService.add(this), this.isLanguageChanged$.pipe((0, G.g)(500), (0, F.R)(this.unsubscribe$)).subscribe(ue => {
                            this.errorList = this.translateErrors(r.Sk)
                        }))
                    }
                    ngAfterViewInit() {
                        this.errorList = this.translateErrors(r.Sk)
                    }
                    get pwdValue() {
                        return this.updatePwdform.get("pwd")
                    }
                    get newpwdValue() {
                        return this.updatePwdform.get("newpwd")
                    }
                    get cfmpwdValue() {
                        return this.updatePwdform.get("cfmpwd")
                    }
                    getCfmPwd() {
                        return "Confirm Password"
                    }
                    getNewPwd() {
                        return "New Password"
                    }
                    getOldPwd() {
                        return "Old Password"
                    }
                    get password() {
                        return this.form.get("password")
                    }
                    get pwd() {
                        return this.form.get("password")
                    }
                    get newPassword() {
                        return this.form.get("newPassword")
                    }
                    get confirmPassword() {
                        return this.form.get("confirmPassword")
                    }
                    styleObject() {
                        return {
                            backgroundColor: "#F2F2F2",
                            borderColor: "#DADADA"
                        }
                    }
                    ngOnDestroy() {
                        this.modalService.remove(this.id), this.element.remove()
                    }
                    resetEverythingForError() {
                        this.misMatch = !1, this.newPwdError = !1, this.oldPwdError = !1, this.changePwdError = ""
                    }
                    myFunction() {
                        this.hide = !this.hide
                    }
                    myFunctionForCfmPwd() {
                        this.hideForCfmPwd = !this.hideForCfmPwd
                    }
                    myFunctionForNewPwd() {
                        this.hideForNewPwd = !this.hideForNewPwd
                    }
                    resetEverything() {
                        this.updatePwdform.reset(), this.password.reset(), this.newPassword.reset(), this.confirmPassword.reset(), this.misMatch = !1, this.newPwdError = !1, this.oldPwdError = !1, this.changePwdError = ""
                    }
                    onSubmit() {
                        var ue = this;
                        return (0, t.Z)(function*() {
                            let Me = ue.pwd ? .value,
                                Ke = ue.newPassword ? .value,
                                Be = ue.confirmPassword ? .value;
                            if ("" != Me && null != Me && Me.match("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$") && "" != Ke && null != Ke && Ke.match("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$") && "" != Be && null != Be && Be.match("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$"))
                                if (Be === Ke) try {
                                    (yield ue.profileService.updatePassword({
                                        currentPassword: ue.encryptionService.encrypt(Me),
                                        newPassword: ue.encryptionService.encrypt(Ke)
                                    })).subscribe(He => {
                                        ue.closeModal("updatepwd"), ue.outputFromChild.emit("success")
                                    }, He => {
                                        throw 500 == He.status ? (ue.closeModal("updatepwd"), ue.outputFromChild.emit("generic.error")) : He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("old password is not") || He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("ancien mot de passe n'est pas correct") ? (ue.oldPwdError = !0, ue.misMatch = !1, ue.pwd.setErrors({ ...ue.pwd.errors,
                                            [K.cp.invalid]: !0
                                        })) : He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("change password not allowed on specified user") ? (ue.closeModal("updatepwd"), ue.outputFromChild.emit("Oops! Change password is not allowed.")) : He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("password has been used too recently") || He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("le mot de passe a \xe9t\xe9 utilis\xe9 trop r\xe9cemment") ? (ue.misMatch = !0, ue.newPwdError = !0, ue.oldPwdError = !1, ue.confirmPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.newPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.confirmPassword.setErrors({ ...ue.confirmPassword.errors,
                                            [K.cp.tooRecentPasswrod]: !0
                                        }), ue.newPassword.setErrors({ ...ue.newPassword.errors,
                                            [K.cp.tooRecentPasswrod]: !0
                                        })) : He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("password cannot be your current password") || He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("le mot de passe ne peut pas \xeatre votre mot de passe actuel") ? (ue.misMatch = !0, ue.newPwdError = !0, ue.oldPwdError = !1, ue.confirmPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.newPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.changePwdError = "pwd.error", ue.confirmPassword.setErrors({ ...ue.confirmPassword.errors,
                                            [K.cp.cannotBeCurrentPassword]: !0
                                        }), ue.newPassword.setErrors({ ...ue.newPassword.errors,
                                            [K.cp.cannotBeCurrentPassword]: !0
                                        })) : He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("no user found for given okta user id {0} in database") ? (ue.closeModal("updatepwd"), ue.outputFromChild.emit("Oops! User not found.")) : He ? .error.apiError ? .errors[0] ? .message ? .includes("not contain first name or") || He ? .error.apiError ? .errors[0] ? .message ? .includes("ni pr\xe9nom ni") ? (ue.misMatch = !0, ue.newPwdError = !0, ue.oldPwdError = !1, ue.confirmPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.newPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.changePwdError = "pwdformat.error", ue.confirmPassword.setErrors({ ...ue.confirmPassword.errors,
                                            [K.cp.eitherOr]: !0
                                        }), ue.newPassword.setErrors({ ...ue.newPassword.errors,
                                            [K.cp.eitherOr]: !0
                                        })) : He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("password requirements were not met") ? (ue.misMatch = !0, ue.newPwdError = !0, ue.oldPwdError = !1, ue.confirmPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.newPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.changePwdError = "pwdformat.error") : He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("newpassword.value") ? (ue.misMatch = !0, ue.newPwdError = !0, ue.oldPwdError = !1, ue.confirmPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.newPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.changePwdError = "register.stage2.password.error") : He ? .error.apiError ? .errors[0] ? .field ? .toLowerCase().includes("password") || He ? .error.apiError ? .errors[0] ? .message.toLowerCase().includes("mot de passe") ? He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("invalid password format") || He ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("format de mot de passe invalide") ? (ue.misMatch = !0, ue.newPwdError = !0, ue.oldPwdError = !1, ue.confirmPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.newPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.changePwdError = "pwdformat.error") : (ue.misMatch = !0, ue.newPwdError = !0, ue.oldPwdError = !1, ue.confirmPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.newPassword.setErrors({
                                            "is-invalid": !0
                                        }), ue.confirmPassword.setErrors({ ...ue.confirmPassword.errors,
                                            [K.cp.eitherOr]: !0
                                        }), ue.newPassword.setErrors({ ...ue.newPassword.errors,
                                            [K.cp.eitherOr]: !0
                                        }), ue.changePwdError = "register.stage2.password.error") : (ue.closeModal("updatepwd"), ue.outputFromChild.emit("generic.error")), He
                                    })
                                } catch (He) {
                                    throw ue.closeModal("updatepwd"), ue.outputFromChild.emit("generic.error"), He
                                } else ue.misMatch = !0, ue.oldPwdError = !1, ue.newPwdError = !0, ue.changePwdError = "pwdmatch.error", ue.newPassword.setErrors({ ...ue.confirmPassword.errors,
                                    [K.cp.noMatch]: !0
                                }), ue.confirmPassword.setErrors({ ...ue.confirmPassword.errors,
                                    [K.cp.noMatch]: !0
                                });
                                else ue.resetEverythingForError(), null == ue.pwd ? .value || "" == ue.pwd ? .value ? (ue.pwd.setErrors({
                                    required: !0
                                }), ue.pwd.setErrors({
                                    incorrect: !0
                                }), ue.pwd.setErrors({
                                    invalid: !0
                                }), ue.pwd.setErrors({
                                    touched: !0
                                }), ue.pwd.setErrors({
                                    "is-invalid": !0
                                }), ue.pwd.markAllAsTouched(), ue.oldPwdError = !0, ue.changePwdError = "pwdnull.error", ue.pwd.setErrors({ ...ue.pwd.errors,
                                    [K.cp.required]: !0
                                })) : ue.pwd ? .value ? .match("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$") || ue.pwd.setErrors({ ...ue.pwd.errors,
                                    [K.cp.pattern]: !0
                                }), null == ue.newPassword ? .value || "" == ue.newPassword ? .value ? (ue.newPassword.setErrors({
                                    required: !0
                                }), ue.newPassword.setErrors({
                                    incorrect: !0
                                }), ue.newPassword.setErrors({
                                    invalid: !0
                                }), ue.newPassword.setErrors({
                                    touched: !0
                                }), ue.newPassword.setErrors({
                                    "is-invalid": !0
                                }), ue.newPassword.markAllAsTouched(), ue.newPwdError = !0, ue.newPassword.setErrors({ ...ue.newPassword.errors,
                                    [K.cp.required]: !0
                                })) : ue.newPassword ? .value ? .match("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$") || ue.newPassword.setErrors({ ...ue.newPassword.errors,
                                    [K.cp.pattern]: !0
                                }), null == ue.confirmPassword ? .value || "" == ue.confirmPassword ? .value ? (ue.confirmPassword.setErrors({
                                    required: !0
                                }), ue.confirmPassword.setErrors({
                                    incorrect: !0
                                }), ue.confirmPassword.setErrors({
                                    invalid: !0
                                }), ue.confirmPassword.setErrors({
                                    touched: !0
                                }), ue.confirmPassword.setErrors({
                                    "is-invalid": !0
                                }), ue.confirmPassword.markAllAsTouched(), ue.misMatch = !0, ue.changePwdError = "pwdnull.error", ue.confirmPassword.setErrors({ ...ue.confirmPassword.errors,
                                    [K.cp.required]: !0
                                })) : ue.confirmPassword ? .value ? .match("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$") || ue.confirmPassword.setErrors({ ...ue.confirmPassword.errors,
                                    [K.cp.pattern]: !0
                                })
                        })()
                    }
                    toggleShow() {
                        this.showPassword = !this.showPassword
                    }
                    open() {
                        this.data = this.modalService ? .data, this.element.style.display = "block", document.body.classList.add("jw-modal-open")
                    }
                    close() {
                        this.resetEverything(), this.element.style.display = "none", document.body.classList.remove("jw-modal-open")
                    }
                    closeModal(ue) {
                        this.resetEverything(), this.updatePwdform.reset(), this.modalService.close(ue)
                    }
                    sendDataToParent() {
                        this.outputFromChild.emit(this.data)
                    }
                    handleKeyDown(ue, Me) {
                        "Enter" === ue.code && Me.bind(this)()
                    }
                }
                return ke.\u0275fac = function(ue) {
                    return new(ue || ke)(x.Y36(Te.Z), x.Y36(x.SBq), x.Y36(V.qu), x.Y36(Ae.G), x.Y36(ce.C), x.Y36(be.gz), x.Y36(x.zs3), x.Y36(be.F0), x.Y36(je.sK), x.Y36(P.u_), x.Y36(me.yh))
                }, ke.\u0275cmp = x.Xpm({
                    type: ke,
                    selectors: [
                        ["pu-update-password-popup"]
                    ],
                    inputs: {
                        label: "label",
                        id: "id",
                        data: "data"
                    },
                    outputs: {
                        outputFromChild: "outputFromChild"
                    },
                    features: [x.qOj],
                    decls: 59,
                    vars: 52,
                    consts: [
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        [1, "jw-modal"],
                        [1, "jw-modal-body"],
                        ["modalName", "updatepwd", 3, "closeModal"],
                        [1, "row", 2, "margin", "1.3rem"],
                        [1, "_Puro-Desk-H2", "center-align", 2, "font-weight", "410 !important"],
                        ["autocomplete", "off", 1, "container", "mt-1", 2, "margin", "auto", 3, "formGroup", "ngSubmit"],
                        [1, "row", 2, "margin", "1rem"],
                        [1, "col-12", "form-floating", 2, "margin-top", "0rem"],
                        ["type", "password", "id", "oldPwdlbl", "aria-label", "pwd", "aria-describedby", "basic-addon2", 3, "isRequired", "maxlength", "errorList", "label", "fieldTextControl", "focus"],
                        [1, "row", "mt-2", 2, "margin", "1rem"],
                        ["type", "password", "id", "newPwdlbl", "aria-label", "newpwd", "aria-describedby", "basic-addon2", 3, "isRequired", "maxlength", "errorList", "label", "fieldTextControl", "focus"],
                        ["type", "password", "id", "cfmPwdlbl", "aria-label", "cfmpwd", "aria-describedby", "basic-addon2", 3, "isRequired", "errorList", "label", "fieldTextControl", "focus"],
                        [1, "inst-style"],
                        [1, "mt-1", "_Puro-Body"],
                        ["src", "./assets/images/greentick.png", "alt", "Password Rule Check", 2, "margin-right", "0.5rem", "margin-top", "0.5rem", "margin-bottom", "0.5rem"],
                        [1, "col-md-12", "text-center", 2, "margin", "1rem"],
                        ["type", "button", 1, "btn", "btn-outline-primary", "m-2", "cursor-pointer", 3, "click"],
                        ["type", "submit", 1, "btn", "btn-primary", "mr-1", "cursor-pointer"],
                        [1, "jw-modal-background"]
                    ],
                    template: function(ue, Me) {
                        1 & ue && (x._UZ(0, "ngx-spinner", 0), x.TgZ(1, "div", 1)(2, "div", 2)(3, "pu-modal-close-icon", 3), x.NdJ("closeModal", function(Be) {
                            return Me.closeModal(Be)
                        }), x.qZA(), x.TgZ(4, "div")(5, "div", 4)(6, "h3", 5), x._uU(7), x.ALo(8, "translate"), x.qZA()(), x.TgZ(9, "form", 6), x.NdJ("ngSubmit", function() {
                            return Me.onSubmit()
                        }), x.TgZ(10, "div", 7)(11, "div", 8)(12, "puro-field-text", 9), x.NdJ("focus", function() {
                            return Me.resetEverythingForError()
                        }), x.ALo(13, "translate"), x.qZA()()(), x.TgZ(14, "div", 10)(15, "div", 8)(16, "puro-field-text", 11), x.NdJ("focus", function() {
                            return Me.resetEverythingForError()
                        }), x.ALo(17, "translate"), x.qZA()()(), x.TgZ(18, "div", 10)(19, "div", 8)(20, "puro-field-text", 12), x.NdJ("focus", function() {
                            return Me.resetEverythingForError()
                        }), x.ALo(21, "translate"), x.qZA()()(), x.TgZ(22, "div", 10)(23, "div", 8)(24, "p", 13), x._uU(25), x.ALo(26, "translate"), x.qZA(), x.TgZ(27, "div", 14), x._UZ(28, "img", 15), x._uU(29), x.ALo(30, "translate"), x.qZA(), x.TgZ(31, "div", 14), x._UZ(32, "img", 15), x._uU(33), x.ALo(34, "translate"), x.qZA(), x.TgZ(35, "div", 14), x._UZ(36, "img", 15), x._uU(37), x.ALo(38, "translate"), x.qZA(), x.TgZ(39, "div", 14), x._UZ(40, "img", 15), x._uU(41), x.ALo(42, "translate"), x.qZA(), x.TgZ(43, "div", 14), x._UZ(44, "img", 15), x._uU(45), x.ALo(46, "translate"), x.qZA(), x.TgZ(47, "div", 14), x._UZ(48, "img", 15), x._uU(49), x.ALo(50, "translate"), x.qZA()()(), x.TgZ(51, "div", 16)(52, "button", 17), x.NdJ("click", function() {
                            return Me.closeModal("updatepwd")
                        }), x._uU(53), x.ALo(54, "translate"), x.qZA(), x.TgZ(55, "button", 18), x._uU(56), x.ALo(57, "translate"), x.qZA()()()()()(), x._UZ(58, "div", 19)), 2 & ue && (x.Q6J("fullScreen", !0), x.xp6(7), x.Oqu(x.lcZ(8, 26, "updatePassword.title")), x.xp6(2), x.Q6J("formGroup", Me.updatePwdform), x.xp6(3), x.Q6J("isRequired", !0)("maxlength", 100)("errorList", Me.errorList.old_password)("label", x.lcZ(13, 28, "profilesettings.password"))("fieldTextControl", Me.pwd), x.xp6(4), x.Q6J("isRequired", !0)("maxlength", 100)("errorList", Me.errorList.old_password)("label", x.lcZ(17, 30, "newpwd"))("fieldTextControl", Me.newPassword), x.xp6(4), x.Q6J("isRequired", !0)("errorList", Me.errorList.old_password)("label", x.lcZ(21, 32, "confrmpwd"))("fieldTextControl", Me.confirmPassword), x.xp6(5), x.Oqu(x.lcZ(26, 34, "updatePassword.insttitle")), x.xp6(4), x.hij(" ", x.lcZ(30, 36, "updatePassword.inst1"), " "), x.xp6(4), x.hij(" ", x.lcZ(34, 38, "updatePassword.inst2"), " "), x.xp6(4), x.hij(" ", x.lcZ(38, 40, "updatePassword.inst3"), " "), x.xp6(4), x.hij(" ", x.lcZ(42, 42, "updatePassword.inst4"), " "), x.xp6(4), x.hij(" ", x.lcZ(46, 44, "updatePassword.inst5"), " "), x.xp6(4), x.hij(" ", x.lcZ(50, 46, "updatePassword.inst6"), " "), x.xp6(4), x.Oqu(x.lcZ(54, 48, "cancel")), x.xp6(3), x.Oqu(x.lcZ(57, 50, "updatePassword.changepwd")))
                    },
                    dependencies: [V._Y, V.JL, V.sg, ge.Ro, K.GM, _e.D, je.X$],
                    styles: ["pu-update-password-popup{display:none}pu-update-password-popup .jw-modal{position:fixed;top:calc(30% + 1vw + 1vh);right:7%;bottom:calc(0% + 1vw + 1vh);left:7%;z-index:1000;overflow:auto}pu-update-password-popup .jw-modal .end_body{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.3rem}pu-update-password-popup .jw-modal .jw-modal-body{padding:20px;background:#fff}@media (width: 280px){pu-update-password-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:0;bottom:calc(10% + 1vw + 1vh);left:0}}@media (min-width: 540px){pu-update-password-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(10% + 1vw + 1vh);left:calc(10% + 1vw + 1vh)}}@media (min-width: 768px){pu-update-password-popup .jw-modal{position:fixed;top:calc(35% + 1vw + 1vh);right:calc(15% + 1vw + 1vh);bottom:calc(0% + 1vw + 1vh);left:calc(15% + 1vw + 1vh)}}@media (min-width: 992px){pu-update-password-popup .jw-modal{position:fixed;top:calc(10% + 1vw + 1vh);right:calc(25% + 1vw + 1vh);bottom:calc(10% + 1vw + 1vh);left:calc(25% + 1vw + 1vh)}}@media (min-width: 1200px){pu-update-password-popup .jw-modal{position:fixed;top:calc(7% + 1vw + 1vh);right:calc(28% + 1vw + 1vh);bottom:calc(7% + 1vw + 1vh);left:calc(28% + 1vw + 1vh)}}pu-update-password-popup .jw-modal-background{position:fixed;inset:0;background:rgba(73,80,87,.5);z-index:900}body.jw-modal-open{overflow:hidden}.pu-field-text{width:496px!important}.title{text-align:center;color:#1b11af}.body-text{text-align:center}.center-align{display:flex!important;justify-content:center!important}.inst-style{margin-bottom:1%!important;margin-top:1%!important}.inputHeight{height:3.438rem}.border-pwd{border-color:#495057!important}.ml-2{margin-left:2%!important}.p-viewer-pwd{z-index:9999;position:absolute;top:1rem;right:3rem}\n"],
                    encapsulation: 2
                }), ke
            })()
        },
        6285: (Re, he, _) => {
            "use strict";
            _.d(he, {
                u: () => oe
            });
            var t = _(5861),
                r = _(4650),
                U = _(2722),
                C = _(7579),
                x = _(8829),
                V = _(3977),
                P = _(6895),
                $ = _(8423),
                K = _(7344),
                G = _(3416);

            function F(Te, Ae) {
                1 & Te && (r.TgZ(0, "div", 13)(1, "table", 14)(2, "tr", 15)(3, "td"), r._UZ(4, "img", 16), r.qZA(), r.TgZ(5, "td")(6, "label", 17), r._uU(7), r.ALo(8, "translate"), r.qZA()()()()()), 2 & Te && (r.xp6(7), r.hij(" ", r.lcZ(8, 1, "verification.email.sent"), ""))
            }

            function k(Te, Ae) {
                if (1 & Te) {
                    const ce = r.EpF();
                    r.TgZ(0, "div")(1, "div", 6), r._UZ(2, "div", 7), r.TgZ(3, "h3", 8), r._uU(4), r.ALo(5, "translate"), r.qZA(), r._UZ(6, "div", 7), r.qZA(), r.TgZ(7, "div", 9)(8, "p", 10), r._uU(9), r.ALo(10, "translate"), r.qZA(), r.YNc(11, F, 9, 3, "ng-template", 11), r.TgZ(12, "p", 10), r._uU(13), r.ALo(14, "translate"), r.TgZ(15, "a", 12), r.NdJ("click", function() {
                        r.CHM(ce);
                        const je = r.oxw();
                        return r.KtG(je.resendEmailClick())
                    }), r._uU(16), r.ALo(17, "translate"), r.qZA()()()()
                }
                if (2 & Te) {
                    const ce = r.oxw();
                    r.xp6(4), r.hij(" ", r.lcZ(5, 5, "verify.email.desc"), " "), r.xp6(5), r.Oqu(r.lcZ(10, 7, "verify.pwd.popup")), r.xp6(2), r.Q6J("ngIf", ce.isResendEmailSuccess), r.xp6(2), r.hij(" ", r.lcZ(14, 9, "verify.link.error"), " "), r.xp6(3), r.Oqu(r.lcZ(17, 11, "resend.email.btn"))
                }
            }

            function B(Te, Ae) {
                1 & Te && (r.TgZ(0, "div", 13)(1, "table", 14)(2, "tr", 15)(3, "td"), r._UZ(4, "img", 16), r.qZA(), r.TgZ(5, "td")(6, "label", 17), r._uU(7), r.ALo(8, "translate"), r.qZA()()()()()), 2 & Te && (r.xp6(7), r.hij(" ", r.lcZ(8, 1, "verification.email.sent"), ""))
            }

            function le(Te, Ae) {
                if (1 & Te) {
                    const ce = r.EpF();
                    r.TgZ(0, "div")(1, "div", 6), r._UZ(2, "div", 7), r.TgZ(3, "h3", 8), r._uU(4), r.ALo(5, "translate"), r.qZA(), r._UZ(6, "div", 7), r.qZA(), r.TgZ(7, "div", 9)(8, "p", 10), r._uU(9), r.ALo(10, "translate"), r.qZA(), r.YNc(11, B, 9, 3, "ng-template", 11), r.TgZ(12, "p", 10), r._uU(13), r.ALo(14, "translate"), r.TgZ(15, "a", 18), r.NdJ("click", function() {
                        r.CHM(ce);
                        const je = r.oxw();
                        return r.KtG(je.resendEmailClick())
                    }), r._uU(16), r.ALo(17, "translate"), r.qZA()()()()
                }
                if (2 & Te) {
                    const ce = r.oxw();
                    r.xp6(4), r.hij(" ", r.lcZ(5, 5, "verify.email.securityans"), " "), r.xp6(5), r.Oqu(r.lcZ(10, 7, "verify.email.error")), r.xp6(2), r.Q6J("ngIf", ce.isResendEmailSuccess), r.xp6(2), r.hij(" ", r.lcZ(14, 9, "verify.link.error"), " "), r.xp6(3), r.Oqu(r.lcZ(17, 11, "resend.email.btn"))
                }
            }
            let oe = (() => {
                class Te {
                    constructor(ce, be, je) {
                        this.modalService = ce, this.el = be, this.service = je, this.unsubscribe$ = new C.x, this.outputFromChild = new r.vpe, this.isResendEmailSuccess = !1, this.element = be.nativeElement
                    }
                    ngOnChanges() {}
                    ngOnInit() {
                        var ce = this;
                        return (0, t.Z)(function*() {
                            ce.modalService.add(ce), ce.id && (document.body.appendChild(ce.element), ce.element.addEventListener("click", be => {
                                "jw-modal" === be.target.className && ce.close()
                            }))
                        })()
                    }
                    ngOnDestroy() {
                        this.modalService.remove(this.id), this.element.remove(), this.unsubscribe$.next(), this.unsubscribe$.complete()
                    }
                    open() {
                        this.isResendEmailSuccess = !1, this.element.style.display = "block", document.body.classList.add("jw-modal-open")
                    }
                    close() {
                        this.isResendEmailSuccess = !1, this.element.style.display = "none", document.body.classList.remove("jw-modal-open")
                    }
                    closeModal(ce) {
                        this.isResendEmailSuccess = !1, this.modalService.close(ce)
                    }
                    resendEmailClick() {
                        this.isResendEmailSuccess = !1;
                        let ce = sessionStorage.getItem("useremail");
                        this.service.resendUpdatedVerificationEmail(ce).pipe((0, U.R)(this.unsubscribe$)).subscribe(be => {
                            this.isResendEmailSuccess = !0
                        }, be => {
                            throw this.closeModal("verifyEmail"), this.outputFromChild.emit(be), be
                        })
                    }
                }
                return Te.\u0275fac = function(ce) {
                    return new(ce || Te)(r.Y36(x.Z), r.Y36(r.SBq), r.Y36(V.v))
                }, Te.\u0275cmp = r.Xpm({
                    type: Te,
                    selectors: [
                        ["pu-verify-email-password-popup"]
                    ],
                    inputs: {
                        id: "id",
                        sensitiveUpdate: "sensitiveUpdate",
                        useremail: "useremail"
                    },
                    outputs: {
                        outputFromChild: "outputFromChild"
                    },
                    features: [r.TTD],
                    decls: 7,
                    vars: 3,
                    consts: [
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        [1, "jw-modal"],
                        [1, "jw-modal-body"],
                        ["modalName", "verifyEmail", 3, "closeModal"],
                        [4, "ngIf"],
                        [1, "jw-modal-background"],
                        [1, "row"],
                        [1, "col-sm-1", "col-md-1", "col-lg-1", "col-xl-1"],
                        [1, "_Puro-Desk-H2", "col-sm-10", "col-md-10", "col-lg-10", "col-xl-10", 2, "line-height", "1.8rem !important", "text-align", "center !important", "display", "block !important"],
                        [1, "p-2"],
                        [1, "end_body", "_Puro-Body", 2, "text-align", "center !important"],
                        [3, "ngIf"],
                        ["href", "javascript:void(0)", 1, "pointer", 2, "color", "#001996", "text-decoration", "none", 3, "click"],
                        [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto", "margin-bottom", "1rem"],
                        ["id", "no_border_radius", 1, "form-control", 2, "background-color", "rgba(97, 163, 10, 0.1)"],
                        [2, "background-color", "rgb(236 243 227)"],
                        ["src", "./assets/images/Vector.png"],
                        [1, "_Puro-Body", 2, "margin-left", "1.5rem", "margin-top", "1rem", "margin-bottom", "1rem", "margin-right", "1rem", "letter-spacing", "-0.1px"],
                        [1, "pointer", 2, "color", "#001996", "text-decoration", "none", 3, "click"]
                    ],
                    template: function(ce, be) {
                        1 & ce && (r._UZ(0, "ngx-spinner", 0), r.TgZ(1, "div", 1)(2, "div", 2)(3, "pu-modal-close-icon", 3), r.NdJ("closeModal", function(me) {
                            return be.closeModal(me)
                        }), r.qZA(), r.YNc(4, k, 18, 13, "div", 4), r.YNc(5, le, 18, 13, "div", 4), r.qZA()(), r._UZ(6, "div", 5)), 2 & ce && (r.Q6J("fullScreen", !0), r.xp6(4), r.Q6J("ngIf", "updatepwd" == be.sensitiveUpdate), r.xp6(1), r.Q6J("ngIf", "updateSecurityQue" == be.sensitiveUpdate))
                    },
                    dependencies: [P.O5, $.Ro, K.D, G.X$],
                    styles: ["pu-verify-email-password-popup{display:none}pu-verify-email-password-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;left:calc(10% + 1vw + 1vh);z-index:1000;overflow:auto}pu-verify-email-password-popup .jw-modal .end_body{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.3rem}pu-verify-email-password-popup .jw-modal-body{padding:20px;background:#fff}pu-verify-email-password-popup .jw-modal-body .heading{font-family:Open Sans;font-style:normal;font-weight:400;font-size:calc(50% + 1vw + 1vh);line-height:calc(70% + 1vw + 1vh);color:#001996}pu-verify-email-password-popup .mobile_view_table{height:156px;width:224px;left:0;top:0;border-radius:0;padding:16px}@media (width: 280px){pu-verify-email-password-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:0;bottom:0;left:0}}@media (min-width: 540px){pu-verify-email-password-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(10% + 1vw + 1vh);left:calc(10% + 1vw + 1vh)}}@media screen and (width: 412px){pu-verify-email-password-popup{position:fixed;top:calc(3% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;left:calc(10% + 1vw + 1vh);z-index:1000;overflow:auto}}@media (min-width: 768px){pu-verify-email-password-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(15% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(15% + 1vw + 1vh)}}@media (min-width: 992px){pu-verify-email-password-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(25% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(25% + 1vw + 1vh)}}@media (min-width: 1200px){pu-verify-email-password-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(30% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(30% + 1vw + 1vh)}}pu-verify-email-password-popup .jw-modal-background{position:fixed;inset:0;background:rgba(73,80,87,.5);z-index:900}body.jw-modal-open{overflow:hidden}.title{text-align:center;color:#1b11af}.body-text{text-align:center}.table-custom{table-layout:fixed!important;word-wrap:break-word!important}.endpoint-heading-txt{font-family:Open Sans;font-style:normal;font-weight:600;font-size:20px;line-height:24px;color:#001996}.endpoint-service-txt{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#001996}.endpoint-heading-txt-mob{font-family:Open Sans;font-style:normal;font-weight:600;font-size:18px;line-height:22px;color:#001996}.endpoint-service-txt-mob{font-family:Open Sans;font-style:normal;font-weight:400;font-size:18px;line-height:22px;color:#001996}.table-strip-bg{--bs-table-striped-bg: white(0, 0, 0, .05) !important}tr:nth-child(odd){background-color:#fff}tr:nth-child(even){background-color:#f5f6f6}.icon-style-mobile{position:static;width:18px;height:18px;left:0;top:10px}.table-lable-font{font-weight:500!important;font-size:14px!important}#no_border_radius{border-radius:0!important}\n"],
                    encapsulation: 2
                }), Te
            })()
        },
        4971: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Q: () => G
            });
            var t = _(5861),
                r = _(4650),
                U = _(8829),
                C = _(3977),
                x = _(6895),
                V = _(8423),
                P = _(7344),
                $ = _(3416);

            function K(F, k) {
                1 & F && (r.TgZ(0, "div", 12)(1, "table", 13)(2, "tr", 14)(3, "td"), r._UZ(4, "img", 15), r.qZA(), r.TgZ(5, "td")(6, "label", 16), r._uU(7), r.ALo(8, "translate"), r.qZA()()()()()), 2 & F && (r.xp6(7), r.hij(" ", r.lcZ(8, 1, "verification.email.sent"), ""))
            }
            let G = (() => {
                class F {
                    constructor(B, le, oe) {
                        this.modalService = B, this.el = le, this.service = oe, this.outputFromChild = new r.vpe, this.isResendEmailSuccess = !1, this.element = le.nativeElement
                    }
                    ngOnChanges() {}
                    ngOnInit() {
                        var B = this;
                        return (0, t.Z)(function*() {
                            B.modalService.add(B), B.id && (document.body.appendChild(B.element), B.element.addEventListener("click", le => {
                                "jw-modal" === le.target.className && B.close()
                            }))
                        })()
                    }
                    ngOnDestroy() {
                        this.modalService.remove(this.id), this.element.remove()
                    }
                    open() {
                        this.isResendEmailSuccess = !1, this.element.style.display = "block", document.body.classList.add("jw-modal-open")
                    }
                    close() {
                        this.isResendEmailSuccess = !1, this.element.style.display = "none", document.body.classList.remove("jw-modal-open")
                    }
                    closeModal(B) {
                        this.isResendEmailSuccess = !1, this.modalService.close(B)
                    }
                    resendEmailClick() {
                        var B = this;
                        return (0, t.Z)(function*() {
                            B.isResendEmailSuccess = !1;
                            let le = sessionStorage.getItem("useremail");
                            (yield B.service.resendUpdatedVerificationEmail(le)).subscribe(oe => {
                                B.isResendEmailSuccess = !0
                            }, oe => {
                                throw B.closeModal("addOktaVerifyEmail"), B.outputFromChild.emit(oe), oe
                            })
                        })()
                    }
                }
                return F.\u0275fac = function(B) {
                    return new(B || F)(r.Y36(U.Z), r.Y36(r.SBq), r.Y36(C.v))
                }, F.\u0275cmp = r.Xpm({
                    type: F,
                    selectors: [
                        ["pu-verfiy-email-popup"]
                    ],
                    inputs: {
                        id: "id",
                        sensitiveUpdate: "sensitiveUpdate",
                        useremail: "useremail"
                    },
                    outputs: {
                        outputFromChild: "outputFromChild"
                    },
                    features: [r.TTD],
                    decls: 23,
                    vars: 14,
                    consts: [
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        [1, "jw-modal"],
                        [1, "jw-modal-body"],
                        ["modalName", "addOktaVerifyEmail", 3, "closeModal"],
                        [1, "row"],
                        [1, "col-sm-1", "col-md-1", "col-lg-1", "col-xl-1"],
                        [1, "_Puro-Desk-H2", "col-sm-10", "col-md-10", "col-lg-10", "col-xl-10", 2, "line-height", "1.8rem !important", "text-align", "center !important", "display", "block !important"],
                        [1, "p-2"],
                        [1, "end_body", "_Puro-Body", 2, "text-align", "center !important"],
                        [3, "ngIf"],
                        [1, "pointer", 2, "color", "#001996", "text-decoration", "none", 3, "click"],
                        [1, "jw-modal-background"],
                        [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto", "margin-bottom", "1rem"],
                        ["id", "no_border_radius", 1, "form-control", 2, "background-color", "rgba(97, 163, 10, 0.1)"],
                        [2, "background-color", "rgb(236 243 227)"],
                        ["src", "./assets/images/Vector.png"],
                        [1, "_Puro-Body", 2, "margin-left", "1.5rem", "margin-top", "1rem", "margin-bottom", "1rem", "margin-right", "1rem", "letter-spacing", "-0.1px"]
                    ],
                    template: function(B, le) {
                        1 & B && (r._UZ(0, "ngx-spinner", 0), r.TgZ(1, "div", 1)(2, "div", 2)(3, "pu-modal-close-icon", 3), r.NdJ("closeModal", function(Te) {
                            return le.closeModal(Te)
                        }), r.qZA(), r.TgZ(4, "div")(5, "div", 4), r._UZ(6, "div", 5), r.TgZ(7, "h3", 6), r._uU(8), r.ALo(9, "translate"), r.qZA(), r._UZ(10, "div", 5), r.qZA(), r.TgZ(11, "div", 7)(12, "p", 8), r._uU(13), r.ALo(14, "translate"), r.qZA(), r.YNc(15, K, 9, 3, "ng-template", 9), r.TgZ(16, "p", 8), r._uU(17), r.ALo(18, "translate"), r.TgZ(19, "a", 10), r.NdJ("click", function() {
                            return le.resendEmailClick()
                        }), r._uU(20), r.ALo(21, "translate"), r.qZA()()()()()(), r._UZ(22, "div", 11)), 2 & B && (r.Q6J("fullScreen", !0), r.xp6(8), r.hij(" ", r.lcZ(9, 6, "verify.email"), " "), r.xp6(5), r.Oqu(r.lcZ(14, 8, "resend.email")), r.xp6(2), r.Q6J("ngIf", le.isResendEmailSuccess), r.xp6(2), r.hij(" ", r.lcZ(18, 10, "verify.link.error"), " "), r.xp6(3), r.Oqu(r.lcZ(21, 12, "resend.email.btn")))
                    },
                    dependencies: [x.O5, V.Ro, P.D, $.X$],
                    styles: ["pu-verfiy-email-popup{display:none}pu-verfiy-email-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;left:calc(10% + 1vw + 1vh);z-index:1000;overflow:auto}pu-verfiy-email-popup .jw-modal .end_body{font-family:Open Sans;font-style:normal;font-weight:400;font-size:.875rem;line-height:1.3rem}pu-verfiy-email-popup .jw-modal-body{padding:20px;background:#fff}pu-verfiy-email-popup .jw-modal-body .heading{font-family:Open Sans;font-style:normal;font-weight:400;font-size:calc(50% + 1vw + 1vh);line-height:calc(70% + 1vw + 1vh);color:#001996}pu-verfiy-email-popup .mobile_view_table{height:156px;width:224px;left:0;top:0;border-radius:0;padding:16px}@media (width: 280px){pu-verfiy-email-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:0;bottom:0;left:0}}@media (min-width: 540px){pu-verfiy-email-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(10% + 1vw + 1vh);left:calc(10% + 1vw + 1vh)}}@media screen and (width: 412px){pu-verfiy-email-popup{position:fixed;top:calc(3% + 1vw + 1vh);right:calc(10% + 1vw + 1vh);bottom:calc(3% + 1vw + 1vh)!important;left:calc(10% + 1vw + 1vh);z-index:1000;overflow:auto}}@media (min-width: 768px){pu-verfiy-email-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(15% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(15% + 1vw + 1vh)}}@media (min-width: 992px){pu-verfiy-email-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(25% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(25% + 1vw + 1vh)}}@media (min-width: 1200px){pu-verfiy-email-popup .jw-modal{position:fixed;top:calc(25% + 1vw + 1vh);right:calc(30% + 1vw + 1vh);bottom:calc(2% + 1vw + 1vh);left:calc(30% + 1vw + 1vh)}}pu-verfiy-email-popup .jw-modal-background{position:fixed;inset:0;background:rgba(73,80,87,.5);z-index:900}body.jw-modal-open{overflow:hidden}.title{text-align:center;color:#1b11af}.body-text{text-align:center}.table-custom{table-layout:fixed!important;word-wrap:break-word!important}.endpoint-heading-txt{font-family:Open Sans;font-style:normal;font-weight:600;font-size:20px;line-height:24px;color:#001996}.endpoint-service-txt{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#001996}.endpoint-heading-txt-mob{font-family:Open Sans;font-style:normal;font-weight:600;font-size:18px;line-height:22px;color:#001996}.endpoint-service-txt-mob{font-family:Open Sans;font-style:normal;font-weight:400;font-size:18px;line-height:22px;color:#001996}.table-strip-bg{--bs-table-striped-bg: white(0, 0, 0, .05) !important}tr:nth-child(odd){background-color:#fff}tr:nth-child(even){background-color:#f5f6f6}.icon-style-mobile{position:static;width:18px;height:18px;left:0;top:10px}.table-lable-font{font-weight:500!important;font-size:14px!important}\n"],
                    encapsulation: 2
                }), F
            })()
        },
        4053: (Re, he, _) => {
            "use strict";
            _.d(he, {
                t: () => r
            });
            var t = _(5575);

            function r() {
                return C => {
                    const x = C.get("answer") ? .value.trim().toLowerCase(),
                        V = C.get("password") ? .value.trim().toLowerCase(),
                        P = sessionStorage.getItem("useremail"),
                        $ = C.get("question") ? .value ? .trim().toLowerCase(),
                        K = C.get("custom_question") ? .value ? .trim().toLowerCase();
                    let G = !1;
                    if (x && (V || P || $)) {
                        if (V && x.toLowerCase().includes(V.toLowerCase())) return C.get("answer").setErrors({
                            [t.cp.security_answer_no_as_password]: !0
                        }), {
                            [t.cp.security_answer_no_as_password]: !0
                        };
                        if (P) {
                            let k = P.split(/[-_@\\.]+/);
                            if (k.length > 0)
                                for (let B = 0; B < k.length; B++)
                                    if (k[B].length > 1 && x.toLowerCase().includes(k[B].toLowerCase())) return C.get("answer").setErrors({
                                        [t.cp.security_answer_no_as_email]: !0
                                    }), {
                                        [t.cp.security_answer_no_as_email]: !0
                                    }
                        }
                        let F = K || $;
                        return F && F.split(/\W+/).forEach(function(k) {
                            k.length > 3 && x.toLowerCase().includes(k.toLowerCase()) && (G = !0)
                        }), G ? (C.get("answer").setErrors({
                            [t.cp.security_answer_no_as_question]: !0
                        }), {
                            [t.cp.security_answer_no_as_question]: !0
                        }) : null
                    }
                    return null
                }
            }
        },
        2119: (Re, he, _) => {
            "use strict";
            _.d(he, {
                M: () => r
            });
            var t = _(5575);

            function r(U, C) {
                return V => {
                    const P = V.get(U) ? .value,
                        $ = V.get(C) ? .value;
                    return P !== $ && V.get(C) ? (V.get(C).setErrors({
                        [t.cp.noMatch]: !0
                    }), {
                        [t.cp.noMatch]: !0
                    }) : (V.get(C).setErrors(null), null)
                }
            }
        },
        8779: (Re, he, _) => {
            "use strict";
            _.d(he, {
                d: () => r
            });
            var t = _(5575);

            function r(U) {
                return x => x.value ? .trim().length > U ? {
                    [t.cp.maxLength]: !0
                } : null
            }
        },
        405: (Re, he, _) => {
            "use strict";
            _.d(he, {
                O: () => r
            });
            var t = _(5575);

            function r(U) {
                return x => x.value ? .trim().length < U ? {
                    [t.cp.minLength]: !0
                } : null
            }
        },
        5575: (Re, he, _) => {
            "use strict";
            _.d(he, {
                FJ: () => G,
                cp: () => F,
                Sw: () => k,
                B$: () => le,
                IG: () => $,
                Wy: () => B
            });
            var t = _(4006),
                r = _(3905),
                U = _(8779),
                P = _(4978);
            const $ = /[~|\*<>^{}\\/]/;
            var G = (() => {
                    return (oe = G || (G = {}))[oe.name = 0] = "name", oe[oe.email = 1] = "email", oe[oe.password = 2] = "password", G;
                    var oe
                })(),
                F = (() => {
                    return (oe = F || (F = {})).required = "required", oe.patternForbidden = "patternForbidden", oe.patternAllowed = "patternAllowed", oe.maxLength = "maxLength", oe.minLength = "minLength", oe.noMatch = "noMatch", oe.mailAlreadyTaken = "mailAlreadyTaken", oe.mailAlreadyTakenStageOne = "mailAlreadyTakenStageOne", oe.invalidDomain = "invalidDomain", oe.asyncValidationUnavailable = "asyncValidationUnavailable", oe.phoneNumber = "phoneNumber", oe.cannotInclude = "cannotInclude", oe.cannotIncludeName = "cannotIncludeName", oe.security_answer_no_as_password = "security_answer_no_as_password", oe.security_answer_no_as_email = "security_answer_no_as_email", oe.security_answer_no_as_question = "security_answer_no_as_question", oe.eitherOr = "eitherOr", oe.pattern = "pattern", oe.invalid = "invalid", oe.invalidEmailFormat = "invalidEmailFormat", oe.email = "email", F;
                    var oe
                })();
            const k = {
                    characters10: (0, r.J)("Oops! This field cannot exceed 10 characters."),
                    characters30: (0, r.J)("Oops! This field cannot exceed 30 characters."),
                    characters40: (0, r.J)("Oops! This field cannot exceed 40 characters."),
                    characters100: "MAXLENGTH_CHARACTERS_100"
                },
                B = (oe = "", Te = k.characters30, Ae = (0, r.J)("Oops! You cannot enter these special characters: ~|*<>^{}\\/")) => {
                    if ("" === oe && "" === Te && "" === Ae) throw new Error("You have to provide at least one parameter");
                    let ce = [{
                        errorName: F.required,
                        message: oe
                    }, {
                        errorName: F.maxLength,
                        message: Te
                    }, {
                        errorName: F.patternForbidden,
                        message: Ae
                    }];
                    return oe || ce.shift(), Ae || ce.pop(), ce
                },
                le = new Map([
                    [G.name, [t.kI.required, (0, U.d)(30), (0, P.J)($)]],
                    [G.email, [t.kI.required, (0, P.P)(/^[-_.].*|[-_.]$/), t.kI.email, (0, U.d)(100), (0, P.P)(/([-_.]@)|(@[-_.])/), (0, P.P)(/[\s~|*<>^{}\\/!#$%&'+=?`"\(\),:;\[\]]/)]],
                    [G.password, [t.kI.required, function V(oe) {
                        return Ae => oe.test(Ae.value) ? null : {
                            [F.patternAllowed]: !0
                        }
                    }(/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,72}$/), function C() {
                        return Te => {
                            const Ae = sessionStorage.getItem("useremail"),
                                ce = Te ? .value ? .trim().toLowerCase();
                            let be = [];
                            if (ce && ce.length >= 8 && Ae) {
                                const [je] = Ae.split("@");
                                be = je.split(/[\.\-_]+/);
                                for (const me of be)
                                    if (me.length > 1 && ce.includes(me.toLowerCase())) return {
                                        [F.cannotInclude]: !0
                                    }
                            }
                            return null
                        }
                    }()]]
                ])
        },
        4978: (Re, he, _) => {
            "use strict";
            _.d(he, {
                J: () => r,
                P: () => U
            });
            var t = _(5575);

            function r(C) {
                return V => C.test(V.value) ? {
                    [t.cp.patternForbidden]: !0
                } : null
            }

            function U(C) {
                return V => C.test(V.value) ? {
                    [t.cp.email]: !0
                } : null
            }
        },
        5571: (Re, he, _) => {
            "use strict";
            _.d(he, {
                H: () => Te
            });
            var t = _(3606),
                r = _(592),
                U = _(8598),
                C = _(4650),
                x = _(3416),
                V = _(640),
                $ = (_(6583), _(7489)),
                G = _(7579),
                F = _(9300),
                k = _(2722),
                B = _(9653),
                le = _(7799);
            let Te = (() => {
                class Ae {
                    constructor(be, je, me, ge, _e) {
                        this.store = be, this.router = je, this.oktaAuth = me, this.activatedRoute = ge, this.injector = _e, this.unsubscribe$ = new G.x, this.redirectURL = "", this.language = window.navigator.language === U.iu.frCA ? U.iu.frCA : U.iu.enCA, this.oktaLanguage = this.language === U.iu.frCA ? U.pb.fr : U.pb.en, this.isLanguageChanged$ = new C.vpe
                    }
                    ngOnInit() {
                        this.translate = this.injector.get(x.sK), this.store.select(r.pz).pipe((0, F.h)(be => !!be), (0, k.R)(this.unsubscribe$)).subscribe(be => this.redirectURL = be), this.store.select(r.eE).pipe((0, F.h)(be => !!be), (0, k.R)(this.unsubscribe$)).subscribe(be => {
                            this.language = be, this.oktaLanguage = U.B6.get(U.iu.frCA === this.language ? U.iu.frCA : U.iu.enCA), this.isLanguageChanged$.emit(be)
                        }), this.activatedRoute.queryParams.pipe((0, F.h)(be => !!be && Object.keys(be) ? .length > 0)).subscribe(be => {
                            let je = -1;
                            if (be.state) {
                                let me;
                                me = -1 !== (je = be.state.indexOf("lang=")) ? be.state.substring(je + "lang=".length) : U.iu.frCA === window.navigator.language ? U.pb.fr : U.pb.en, this.store.dispatch(t.nj({
                                    lang: "fr" === me ? .toLowerCase() ? U.iu.frCA : U.iu.enCA
                                }))
                            } else void 0 !== be.lang && this.store.dispatch(t.nj({
                                lang: "fr" === be.lang.toLowerCase() ? U.iu.frCA : U.iu.enCA
                            }))
                        })
                    }
                    changeOktaLanguage() {
                        this.oktaAuth.token.getWithRedirect({
                            state: "lang=" + this.oktaLanguage,
                            scopes: ["openid", "email", "profile"]
                        }).catch(be => {
                            console.log(be)
                        })
                    }
                    navigateToLogin() {
                        this.changeOktaLanguage()
                    }
                    translateErrors(be) {
                        let je = (0, $.cloneDeep)(be),
                            me = Object.keys(je),
                            ge = {};
                        return me.forEach(_e => {
                            ge[_e] = je[_e].map(we => (we.message = this.translate.instant(we ? .message), we))
                        }), ge
                    }
                    ngOnDestroy() {
                        this.unsubscribe$.next(), this.unsubscribe$.complete()
                    }
                }
                return Ae.\u0275fac = function(be) {
                    return new(be || Ae)(C.Y36(B.yh), C.Y36(le.F0), C.Y36(V.u_), C.Y36(le.gz), C.Y36(C.zs3))
                }, Ae.\u0275dir = C.lG2({
                    type: Ae
                }), Ae
            })()
        },
        6790: (Re, he, _) => {
            "use strict";
            _.d(he, {
                c: () => C
            });
            var t = _(4650),
                r = _(3416);
            const U = ["pu-password-validation", ""];
            let C = (() => {
                class x {
                    constructor() {}
                    ngOnInit() {}
                }
                return x.\u0275fac = function(P) {
                    return new(P || x)
                }, x.\u0275cmp = t.Xpm({
                    type: x,
                    selectors: [
                        ["div", "pu-password-validation", ""]
                    ],
                    attrs: U,
                    decls: 30,
                    vars: 18,
                    consts: [
                        [1, "_Puro-Body", "reg-stg-one-body"],
                        ["aria-label", "Password must contain below rules", 1, "row"],
                        [1, "col-12", "d-flex", "align-items-start"],
                        ["src", "./assets/images/greentick.png", "alt", "Password Rule Check", 2, "margin-right", "0.5rem", "margin-top", "0.3rem", "margin-bottom", "0.5rem"],
                        ["aria-label", "atleast 8 characters", 1, "px-2", "pu-font"],
                        ["aria-label", "at least one uppercase letter and one lowercase letter", 1, "px-2", "pu-font"],
                        ["aria-label", "at least one special character (eg: !@#%)", 1, "px-2", "pu-font"],
                        ["src", "./assets/images/greentick.png", "alt", "Password Rule Check", "aria-label", "at least one number", 2, "margin-right", "0.5rem", "margin-top", "0.3rem", "margin-bottom", "0.5rem"],
                        [1, "px-2", "pu-font"],
                        ["src", "./assets/images/greentick.png", "alt", "Password Rule Check", "aria-label", "must not contain your first name, last name or email", 2, "margin-right", "0.5rem", "margin-top", "0.3rem", "margin-bottom", "0.5rem"]
                    ],
                    template: function(P, $) {
                        1 & P && (t.TgZ(0, "p", 0), t._uU(1), t.ALo(2, "translate"), t.qZA(), t.TgZ(3, "div")(4, "div", 1)(5, "div", 2), t._UZ(6, "img", 3), t.TgZ(7, "span", 4), t._uU(8), t.ALo(9, "translate"), t.qZA()(), t.TgZ(10, "div", 2), t._UZ(11, "img", 3), t.TgZ(12, "span", 5), t._uU(13), t.ALo(14, "translate"), t.qZA()(), t.TgZ(15, "div", 2), t._UZ(16, "img", 3), t.TgZ(17, "span", 6), t._uU(18), t.ALo(19, "translate"), t.qZA()(), t.TgZ(20, "div", 2), t._UZ(21, "img", 7), t.TgZ(22, "span", 8), t._uU(23), t.ALo(24, "translate"), t.qZA()(), t.TgZ(25, "div", 2), t._UZ(26, "img", 9), t.TgZ(27, "span", 8), t._uU(28), t.ALo(29, "translate"), t.qZA()()()()), 2 & P && (t.xp6(1), t.Oqu(t.lcZ(2, 6, "Your new password must contain:")), t.xp6(7), t.Oqu(t.lcZ(9, 8, "updatePassword.inst1")), t.xp6(5), t.Oqu(t.lcZ(14, 10, "updatePassword.inst2")), t.xp6(5), t.Oqu(t.lcZ(19, 12, "updatePassword.inst3")), t.xp6(5), t.Oqu(t.lcZ(24, 14, "updatePassword.inst4")), t.xp6(5), t.Oqu(t.lcZ(29, 16, "updatePassword.inst5")))
                    },
                    dependencies: [r.X$],
                    styles: [".pu-font[_ngcontent-%COMP%]{font-size:.875rem}"]
                }), x
            })()
        },
        2342: (Re, he, _) => {
            "use strict";
            _.d(he, {
                xF: () => r,
                GZ: () => G,
                e$: () => F,
                iy: () => t
            });
            var t = {};
            _.r(t), _.d(t, {
                Q: () => $
            });
            var r = {};
            _.r(r), _.d(r, {
                Q: () => K
            });
            var U = _(6790),
                C = _(4004),
                x = _(4650),
                V = _(3416);
            let P = (() => {
                class k {
                    constructor(le) {
                        this.translateService = le
                    }
                    transform(le, oe, Te) {
                        return this.translateService.getTranslation(oe).pipe((0, C.U)(Ae => this.translateService.getParsedResult(Ae, le, Te)))
                    }
                }
                return k.\u0275fac = function(le) {
                    return new(le || k)(x.Y36(V.sK, 16))
                }, k.\u0275pipe = x.Yjl({
                    name: "translateByLocale",
                    type: k,
                    pure: !0
                }), k
            })();
            var $ = (() => {
                    return (k = $ || ($ = {}))[k.INVALID_STATUS = -1] = "INVALID_STATUS", k[k.STAGED = 1] = "STAGED", k[k.ACTIVE = 2] = "ACTIVE", k[k.PENDING_VERIFICATION = 3] = "PENDING_VERIFICATION", k[k.VERIFIED_MFA_ENROLLMENT_CHECK_REQUIRED = 4] = "VERIFIED_MFA_ENROLLMENT_CHECK_REQUIRED", k[k.PENDING_VERIFICATION_LINK_EXPIRED = 5] = "PENDING_VERIFICATION_LINK_EXPIRED", k[k.EMAIL_UPDATED_PENDING_VERIFICATION = 6] = "EMAIL_UPDATED_PENDING_VERIFICATION", k[k.UPDATE_EMAIL_PENDING_VERIFICATION_LINK_EXPIRED = 7] = "UPDATE_EMAIL_PENDING_VERIFICATION_LINK_EXPIRED", k[k.ACTIVE_PROFILE_INCOMPLETE = 8] = "ACTIVE_PROFILE_INCOMPLETE", $;
                    var k
                })(),
                K = (() => {
                    return (k = K || (K = {})).PENDING_ACTIVATION = "PENDING_ACTIVATION", k.ACTIVE = "ACTIVE", K;
                    var k
                })();
            const G = [U.c],
                F = [P]
        },
        5952: (Re, he, _) => {
            "use strict";
            _.d(he, {
                c: () => K
            });
            var t = _(4650),
                r = _(6895),
                U = _(3416);
            const C = ["pu-no-header", ""];

            function x(G, F) {
                if (1 & G && (t.TgZ(0, "div", 7), t._UZ(1, "span", 8), t.ALo(2, "translate"), t.qZA()), 2 & G) {
                    const k = t.oxw();
                    t.xp6(1), t.Q6J("innerHTML", t.lcZ(2, 1, k.title), t.oJD)
                }
            }

            function V(G, F) {
                1 & G && t.GkF(0)
            }

            function P(G, F) {
                1 & G && t.GkF(0)
            }

            function $(G, F) {
                if (1 & G && (t.TgZ(0, "div"), t.YNc(1, P, 1, 0, "ng-container", 5), t.qZA()), 2 & G) {
                    const k = t.oxw();
                    t.xp6(1), t.Q6J("ngTemplateOutlet", k.footer)
                }
            }
            let K = (() => {
                class G {
                    constructor() {
                        this.width = 684, this.role = "main"
                    }
                    ngOnInit() {}
                }
                return G.\u0275fac = function(k) {
                    return new(k || G)
                }, G.\u0275cmp = t.Xpm({
                    type: G,
                    selectors: [
                        ["div", "pu-no-header", ""]
                    ],
                    inputs: {
                        width: "width",
                        content: "content",
                        footer: "footer",
                        title: "title",
                        role: "role"
                    },
                    attrs: C,
                    decls: 7,
                    vars: 6,
                    consts: [
                        [1, "d-flex", "flex-column", "justify-content-center", "pu-no-header-wrapper"],
                        [1, "card"],
                        ["class", "_Puro-Desk-H mx-auto", "style", "margin: 1.5rem", 4, "ngIf"],
                        [2, "margin", "0 !important", "border", "1px solid #d3d3d3"],
                        [1, "card-body"],
                        [4, "ngTemplateOutlet"],
                        [4, "ngIf"],
                        [1, "_Puro-Desk-H", "mx-auto", 2, "margin", "1.5rem"],
                        [3, "innerHTML"]
                    ],
                    template: function(k, B) {
                        1 & k && (t.TgZ(0, "div", 0)(1, "div", 1), t.YNc(2, x, 3, 3, "div", 2), t._UZ(3, "hr", 3), t.TgZ(4, "div", 4), t.YNc(5, V, 1, 0, "ng-container", 5), t.qZA()(), t.YNc(6, $, 2, 1, "div", 6), t.qZA()), 2 & k && (t.Udp("max-width", B.width, "px"), t.uIk("role", B.role), t.xp6(2), t.Q6J("ngIf", B.title), t.xp6(3), t.Q6J("ngTemplateOutlet", B.content), t.xp6(1), t.Q6J("ngIf", B.footer))
                    },
                    dependencies: [r.O5, r.tP, U.X$],
                    styles: ["[_nghost-%COMP%]{padding:.9375rem;padding-bottom:0!important;display:flex;justify-content:center}[_nghost-%COMP%]   h1[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%]   .pu-no-header-wrapper[_ngcontent-%COMP%]{transition:width .2s ease-in-out}"]
                }), G
            })()
        },
        9061: (Re, he, _) => {
            "use strict";
            _.d(he, {
                J: () => U
            });
            var t = _(4650),
                r = _(3416);
            let U = (() => {
                class C {
                    constructor() {
                        this.toastId = "", this.toastHeaderText = "", this.toastBodyText = ""
                    }
                    ngOnInit() {}
                }
                return C.\u0275fac = function(V) {
                    return new(V || C)
                }, C.\u0275cmp = t.Xpm({
                    type: C,
                    selectors: [
                        ["pu-success-msg-toast"]
                    ],
                    inputs: {
                        toastId: "toastId",
                        toastHeaderText: "toastHeaderText",
                        toastBodyText: "toastBodyText"
                    },
                    decls: 11,
                    vars: 7,
                    consts: [
                        [1, "custom-success-msg-toast", "toast-container", "position-absolute", "rounded"],
                        ["role", "alert", "aria-live", "assertive", "aria-atomic", "true", "data-autohide", "false", 1, "toast", "mx-auto", "my-0", "bg-white"],
                        [1, "toast-header", "border-bottom"],
                        [1, "me-auto"],
                        ["src", "./assets/images/success.jpg", "alt", "success message toast", 1, "succ-icon-style"],
                        ["type", "button", "data-bs-dismiss", "toast", "aria-label", "Close", 1, "btn-close"],
                        [1, "toast-body"]
                    ],
                    template: function(V, P) {
                        1 & V && (t.TgZ(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "strong", 3), t._UZ(4, "img", 4), t._uU(5), t.ALo(6, "translate"), t.qZA(), t._UZ(7, "button", 5), t.qZA(), t.TgZ(8, "div", 6), t._uU(9), t.ALo(10, "translate"), t.qZA()()()), 2 & V && (t.xp6(1), t.uIk("id", P.toastId), t.xp6(4), t.hij(" ", t.lcZ(6, 3, P.toastHeaderText), ""), t.xp6(4), t.hij(" ", t.lcZ(10, 5, P.toastBodyText), " "))
                    },
                    dependencies: [r.X$],
                    styles: [".custom-success-msg-toast[_ngcontent-%COMP%]{top:0}.succ-icon-style[_ngcontent-%COMP%]{width:25px!important;height:25px!important}@media (min-width: 576px){.custom-success-msg-toast[_ngcontent-%COMP%]{right:15px}}@media (max-width: 575px){.custom-success-msg-toast[_ngcontent-%COMP%]{width:100%}}"]
                }), C
            })()
        },
        1139: (Re, he, _) => {
            "use strict";
            _.d(he, {
                t: () => U
            });
            var t = _(4650),
                r = _(3416);
            let U = (() => {
                class C {
                    constructor() {
                        this.successMessageText = ""
                    }
                    ngOnInit() {}
                }
                return C.\u0275fac = function(V) {
                    return new(V || C)
                }, C.\u0275cmp = t.Xpm({
                    type: C,
                    selectors: [
                        ["pu-success-msg"]
                    ],
                    inputs: {
                        successMessageText: "successMessageText"
                    },
                    decls: 5,
                    vars: 3,
                    consts: [
                        [1, "custom-success-box"],
                        ["src", "./assets/icons/success_icon.png", "alt", "success message", 1, "custom-success-icon"],
                        [1, "custom-success-msg"]
                    ],
                    template: function(V, P) {
                        1 & V && (t.TgZ(0, "div", 0), t._UZ(1, "img", 1), t.TgZ(2, "p", 2), t._uU(3), t.ALo(4, "translate"), t.qZA()()), 2 & V && (t.xp6(3), t.Oqu(t.lcZ(4, 1, P.successMessageText)))
                    },
                    dependencies: [r.X$],
                    styles: [".custom-success-box[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:22px;gap:16px;position:relative;background:rgba(100,167,11,.1);border:1px solid #c0c0c0;border-radius:4px;margin-bottom:10px}.custom-success-msg[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#111;margin-bottom:0!important;margin-left:2%}.custom-success-icon[_ngcontent-%COMP%]{height:30px;width:25px;padding-top:5px}"]
                }), C
            })()
        },
        4557: (Re, he, _) => {
            "use strict";
            _.d(he, {
                m: () => kn
            });
            var t = _(6895),
                r = _(4006),
                U = _(7799),
                C = _(1835),
                x = _(3416),
                V = _(137),
                P = _(835),
                $ = _(371),
                K = _(8816),
                G = _(3044),
                F = _(8423),
                B = (_(5571), _(4650));
            _(640), _(6583), _(9300), _(2722), _(9653);
            _(78);
            _(2342);
            _(5952);
            _(8829);
            _(3134), _(4115);
            var Pe = _(2340),
                De = _(7798);
            _(1348), _(6554), _(7344), _(7706), _(6285), _(4971), _(9061), _(1139);
            const Lt = [t.ez, r.u5, r.UX, F.ef],
                _n = [x.aw, C.A0, U.Bz],
                Ln = [$.bB.forRoot(), G.mr.forRoot(), V.fx.forRoot(), K.f.forRoot(), P.Fq.forRoot(), De.dV.forRoot({
                    environment: Pe.NZ.library
                })];
            let kn = (() => {
                class vn {}
                return vn.\u0275fac = function(Cn) {
                    return new(Cn || vn)
                }, vn.\u0275mod = B.oAB({
                    type: vn
                }), vn.\u0275inj = B.cJS({
                    imports: [Lt, _n, Ln, t.ez, r.u5, r.UX, F.ef, x.aw, C.A0, U.Bz, $.bB, G.mr, V.fx, K.f, P.Fq, De.dV]
                }), vn
            })()
        },
        2340: (Re, he, _) => {
            "use strict";
            _.d(he, {
                AB: () => t,
                NZ: () => U,
                wy: () => r
            });
            const t = {
                    issuer: "https://nonprod-commonprofile.oauth.purolator.com/oauth2/ausj0r28qrsdN1TWL1d6",
                    clientId: "0oa81b0ycuVu6PLLT1d7",
                    redirectUri: "https://nonprod-ship.purolator.com/my/login/callback",
                    postLogoutRedirectUri: "https://www.purolator.com/",
                    internalLogoutRedirectUri: "https://purolator.okta.com/login/signout"
                },
                r = {
                    commonProfile: {
                        url: "https://nonprod-ship.purolator.com/my/api"
                    },
                    baseHref: "/my/",
                    data: "Dqdj0RFwgctiv5ZihkS67Q=="
                },
                U = {
                    production: !0,
                    api: {
                        address: {
                            url: "https://ds9udmm76ktc8.cloudfront.net"
                        },
                        apiPortal: {
                            url: "https://nonprod-ship.purolator.com/developer/dashboard"
                        },
                        eso: {
                            url: "https://nonprod-ship.purolator.com/onlineship"
                        },
                        vision: {
                            url: "https://nonprod-ship.purolator.com/vision"
                        },
                        reverseLogix: {
                            url: "http://purolator-qa.reverselogix.io/cp_auth/login"
                        },
                        returnsPortalB2B: {
                            url: "http://purolator-qa.reverselogix.io/auth/login"
                        },
                        returnsPortalGlobal: {
                            url: "https://web-uat.g2rl.com?key=817696d1-b146-4092-8f1f-697506d3e07b"
                        }
                    },
                    oidc: {
                        postLogoutRedirectUri: "https://www.purolator.com"
                    },
                    customDomain: {
                        url: "https://nonprod-commonprofile.oauth.purolator.com"
                    },
                    MFA: {
                        fetchEnrolledMFAFactors: r.commonProfile.url + "/auth/fetchEnrolledMFAFactors",
                        fetchRegisteredUserStatus: r.commonProfile.url + "/auth/fetchRegisteredUserStatus",
                        sendSMSCode: r.commonProfile.url + "/auth/addMFAFactor",
                        reSendCode: r.commonProfile.url + "/auth/resendMFAOTP",
                        activateFactor: r.commonProfile.url + "/auth/activateMFAFactor",
                        getCountry: r.commonProfile.url + "/app/country/getCountry"
                    },
                    registration: {
                        stageTwoVerifyEmail: r.commonProfile.url + "/app/verifyEmail",
                        stageOneRegUser: r.commonProfile.url + "/app/registerUser",
                        fetchUserByUsername: r.commonProfile.url + "/app/fetchUserByUsername",
                        isVerifyEmailLinkExpired: r.commonProfile.url + "/app/isVerifyEmailLinkExpired",
                        resendEmailVerification: r.commonProfile.url + "/app/resendVerificationEmail",
                        isVerifyEmailLinkActive: r.commonProfile.url + "/app/isVerifyEmailLinkActive"
                    },
                    profileUpdate: {
                        fetchUserManagementProfileAttributes: r.commonProfile.url + "/auth/fetchUserManagementProfileAttributes",
                        verifyEmail: r.commonProfile.url + "/app/verifyUpdatedEmail",
                        resendUpdateEmailVerificationEmail: r.commonProfile.url + "/app/resendUpdateEmailVerificationEmail",
                        updateSecurityQuestionAndAnsr: r.commonProfile.url + "/auth/updateRecoveryQuestion",
                        fetchSecurityQuestionsList: r.commonProfile.url + "/app/fetchSecurityQuestionsList",
                        fetchProfileSettingSecurityQuestionsList: r.commonProfile.url + "/auth/fetchProfileSettingsSecurityQuestionsList",
                        updateUserProfileNames: r.commonProfile.url + "/auth/updateUserProfileNames",
                        updateMarketingOption: r.commonProfile.url + "/auth/updateMarketingOption",
                        updatePreferredLang: r.commonProfile.url + "/auth/updatePreferredLanguage",
                        updatePrimaryEmail: r.commonProfile.url + "/auth/updatePrimaryEmail",
                        updatePassword: r.commonProfile.url + "/auth/changePassword",
                        removeMfaFactor: r.commonProfile.url + "/auth/removeMFAFactor"
                    },
                    email_verification_timer: 3e5,
                    albSessionUrl: "/auth/signIn",
                    bypassExternalId: !1,
                    library: {
                        s3URL: "https://nonprod-ship.purolator.com/my",
                        vision: {
                            appName: "Vision",
                            appIntent: "vision",
                            en: "https://nonprod-ship.purolator.com/vision?lang=en",
                            fr: "https://nonprod-ship.purolator.com/vision?lang=fr"
                        },
                        "api-integrator": {
                            appName: "API Portal",
                            appIntent: "api-integrator",
                            en: "https://nonprod-ship.purolator.com/developer/dashboard?lang=en",
                            fr: "https://nonprod-ship.purolator.com/developer/dashboard?lang=fr"
                        },
                        eso: {
                            appName: "Shipping",
                            appIntent: "eso",
                            en: "https://nonprod-ship.purolator.com/onlineship?lang=en",
                            fr: "https://nonprod-ship.purolator.com/onlineship?lang=fr"
                        },
                        reverselogix: {
                            appName: "Returns Portal",
                            appIntent: "reverselogix",
                            en: "http://purolator-qa.reverselogix.io/cp_auth/login?lang=en",
                            fr: "http://purolator-qa.reverselogix.io/cp_auth/login?lang=fr"
                        },
                        "returns portal b2b": {
                            appName: "Returns Portal B2B",
                            appIntent: "returns portal b2b",
                            en: "http://purolator-qa.reverselogix.io/auth/login?lang=en",
                            fr: "http://purolator-qa.reverselogix.io/auth/login?lang=fr"
                        },
                        "pi returns portal": {
                            appName: "PI Returns Portal",
                            appIntent: "pi returns portal",
                            en: "https://web-uat.g2rl.com?key=817696d1-b146-4092-8f1f-697506d3e07b",
                            fr: "https://web-uat.g2rl.com?key=817696d1-b146-4092-8f1f-697506d3e07b"
                        },
                        "user-management": "https://nonprod-ship.purolator.com/usermanagement"
                    },
                    register_user_again: "https://nonprod-ship.purolator.com/my/register-stage-one?lang=",
                    language: "en"
                }
        },
        6136: (Re, he, _) => {
            "use strict";
            var t = _(1481),
                r = _(4650),
                U = _(2340),
                C = _(529),
                x = _(7798),
                V = _(6895),
                P = _(7799),
                $ = _(5861),
                K = _(2342),
                G = _(640),
                F = _(6583),
                k = _(2722),
                B = _(3166),
                le = _(3977),
                oe = _(9653),
                Te = _(8423),
                Ae = _(5952),
                ce = _(3416);
            const be = ["pu-email-not-verified", ""];

            function je(A, y) {
                1 & A && (r.TgZ(0, "div", 20)(1, "table", 24)(2, "tr")(3, "td"), r._UZ(4, "img", 25), r.qZA(), r.TgZ(5, "td")(6, "label", 26), r._uU(7), r.ALo(8, "translate"), r.qZA()()()()()), 2 & A && (r.xp6(7), r.hij(" ", r.lcZ(8, 1, "verification.email.sent"), ""))
            }

            function me(A, y) {
                if (1 & A && (r.TgZ(0, "label"), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A) {
                    const g = y.$implicit;
                    r.xp6(1), r.Oqu(r.lcZ(2, 1, g))
                }
            }

            function ge(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.TgZ(0, "div", 27), r.YNc(1, me, 3, 3, "label", 28), r.qZA(), r.TgZ(2, "div", 29)(3, "a", 30), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.navigateToLogin())
                    }), r._uU(4), r.ALo(5, "translate"), r.qZA()()
                }
                if (2 & A) {
                    const g = r.oxw(2);
                    r.xp6(1), r.Q6J("ngForOf", g.errorKey), r.xp6(3), r.Oqu(r.lcZ(5, 2, "email.not.verified.continue.button"))
                }
            }

            function _e(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.TgZ(0, "div", 31)(1, "span", 32), r._uU(2), r.ALo(3, "translate"), r.qZA(), r.TgZ(4, "a", 33), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.sendAgain())
                    }), r._uU(5), r.ALo(6, "translate"), r.qZA()()
                }
                2 & A && (r.xp6(2), r.Oqu(r.lcZ(3, 2, "email.not.verified.note1")), r.xp6(3), r.Oqu(r.lcZ(6, 4, "email.not.verified.resend.button")))
            }

            function we(A, y) {
                if (1 & A && (r.ynx(0), r.TgZ(1, "div", 5)(2, "div", 6)(3, "div", 7)(4, "div", 8), r._uU(5), r.ALo(6, "translate"), r.qZA()()()(), r.TgZ(7, "div", 9)(8, "div", 6)(9, "div", 7)(10, "div", 8), r._uU(11), r.ALo(12, "translate"), r.qZA()()()(), r.TgZ(13, "div", 10)(14, "div", 6)(15, "div", 7)(16, "div", 8), r._uU(17), r.ALo(18, "translate"), r.qZA()()()(), r.TgZ(19, "div", 11)(20, "div", 6)(21, "div", 7)(22, "div", 8), r._uU(23), r.ALo(24, "translate"), r.qZA()()()(), r.TgZ(25, "div", 12)(26, "div", 6)(27, "div", 7)(28, "div", 8), r._uU(29), r.ALo(30, "translate"), r.qZA()()()(), r.TgZ(31, "div", 13)(32, "div", 6)(33, "div", 7)(34, "div", 8), r._uU(35), r.ALo(36, "translate"), r.qZA()()()(), r.TgZ(37, "div", 14)(38, "div", 6)(39, "div", 7)(40, "div", 8), r._uU(41), r.ALo(42, "translate"), r.qZA()()()(), r.TgZ(43, "div", 15)(44, "div", 16)(45, "div", 17)(46, "span", 18), r._uU(47), r.ALo(48, "translate"), r.qZA(), r.TgZ(49, "span", 19), r._uU(50), r.ALo(51, "translate"), r.ALo(52, "translate"), r.ALo(53, "translate"), r.qZA()()()(), r.TgZ(54, "div", 20), r._UZ(55, "img", 21), r.qZA(), r.YNc(56, je, 9, 3, "ng-template", 22), r.YNc(57, ge, 6, 4, "ng-template", 22), r.YNc(58, _e, 7, 6, "div", 23), r.BQk()), 2 & A) {
                    const g = r.oxw();
                    r.xp6(5), r.hij(" ", r.lcZ(6, 14, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(12, 16, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(18, 18, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(24, 20, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(30, 22, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(36, 24, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(42, 26, "generic.error"), " "), r.xp6(6), r.Oqu(r.lcZ(48, 28, "email.not.verified.title")), r.xp6(3), r.lnq(" ", r.lcZ(51, 30, "email.not.verified.description1"), " ", r.lcZ(52, 32, "email.not.verified.description2"), " ", r.lcZ(53, 34, "email.not.verified.description3"), " "), r.xp6(6), r.Q6J("ngIf", g.resendEmailSuccess), r.xp6(1), r.Q6J("ngIf", g.errorOccured), r.xp6(1), r.Q6J("ngIf", !g.errorOccured)
                }
            }
            let ke = (() => {
                class A extends B.a {
                    constructor(g, M, ne, Ce, qe, Ye) {
                        super(Ce, ne, M, qe, Ye), this.service = g, this.store = M, this.oktaAuth = ne, this.router = Ce, this.activatedRoute = qe, this.injector = Ye, this.resendEmailSuccess = !1, this.urlExpired = !1, this.errorOccured = !1, this.errorKey = []
                    }
                    ngOnInit() {
                        super.ngOnInit(), this.urlExpired = history.state.urlExpired
                    }
                    sendAgain() {
                        var g = this;
                        return (0, $.Z)(function*() {
                            g.resendEmailSuccess = !1, g.errorOccured = !1, g.errorKey = [], null != sessionStorage.getItem("useremail") && sessionStorage.getItem("useremail") ? .includes(".com") ? g.service.fetchUserByUsername(sessionStorage.getItem("useremail")).pipe((0, k.R)(g.unsubscribe$)).subscribe(M => {
                                M.userStatusCode == K.iy.Q.EMAIL_UPDATED_PENDING_VERIFICATION ? g.service.resendUpdatedVerificationEmail(sessionStorage.getItem("useremail")).pipe((0, k.R)(g.unsubscribe$)).subscribe(ne => {
                                    ne ? g.resendEmailSuccess = !0 : g.displayGenericError("emailSendError")
                                }, ne => {
                                    throw ne ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("email already verified") || ne ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("d\xe9j\xe0 v\xe9rifi\xe9") ? (g.errorKey = ["verification.email.already.verified", "verification.email.proceed"], g.errorOccured = !0) : g.displayGenericError("emailSendApiError"), ne
                                }) : g.service.resendVerificationEmail(sessionStorage.getItem("useremail")).pipe((0, k.R)(g.unsubscribe$)).subscribe(ne => {
                                    ne && 204 === ne.status ? g.resendEmailSuccess = !0 : g.displayGenericError("userEmailError")
                                }, ne => {
                                    throw ne ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("email already verified") || ne ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("d\xe9j\xe0 v\xe9rifi\xe9") ? (g.errorKey = ["verification.email.already.verified", "verification.email.proceed"], g.errorOccured = !0) : g.displayGenericError("resendEmailError"), ne
                                })
                            }, M => {
                                g.displayGenericError("sendAgainApiError")
                            }) : (g.email = history.state.email, g.service.resendVerificationEmail(sessionStorage.getItem("useremail")).pipe((0, k.R)(g.unsubscribe$)).subscribe(M => {
                                M && 204 === M.status ? g.resendEmailSuccess = !0 : g.displayGenericError("resendVerificationEmailError")
                            }, M => {
                                throw M ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("email already verified") || M ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("d\xe9j\xe0 v\xe9rifi\xe9") ? (g.errorKey = ["verification.email.already.verified", "verification.email.proceed"], g.errorOccured = !0) : g.displayGenericError("resendVerificationEmailApiError"), M
                            }))
                        })()
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.Y36(le.v), r.Y36(oe.yh), r.Y36(G.u_), r.Y36(P.F0), r.Y36(P.gz), r.Y36(r.zs3))
                }, A.\u0275cmp = r.Xpm({
                    type: A,
                    selectors: [
                        ["div", "pu-email-not-verified", ""]
                    ],
                    hostAttrs: [1, "pu-main"],
                    features: [r.qOj],
                    attrs: be,
                    decls: 8,
                    vars: 6,
                    consts: [
                        ["pu-no-header", "", 3, "content"],
                        ["content", ""],
                        [1, "d-flex", "align-items-center", "justify-content-center", "mt-2", "flex-wrap", "flex-column", "flex-sm-row"],
                        ["target", "_blank", 1, "btn", "btn-link", "common-btn-link", 2, "text-decoration", "none", "padding", "0.3rem !important"],
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        ["id", "emailSendError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [1, "modal-dialog", "rounded"],
                        [1, "modal-content", "error-modal"],
                        [1, "modal-body"],
                        ["id", "emailSendApiError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "userEmailError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "resendEmailError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "sendAgainApiError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "resendVerificationEmailError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "resendVerificationEmailApiError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [1, "row", "gx-0", "text-center", "px-0", "px-md-5"],
                        [1, "gy-4"],
                        [1, "row", "justify-content-center", "_Puro-Body-Off-Justify-No-Margin"],
                        [1, "_Puro-Desk-H1", 2, "display", "inline-block"],
                        [1, "py-3", "_Puro-Body-center", 2, "margin", "1rem"],
                        [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto"],
                        ["src", "./assets/icons/email.svg"],
                        [3, "ngIf"],
                        ["class", "row gx-0 text-center px-0 px-md-5", "style", "margin-bottom: 1.5rem; margin-top: 1rem", 4, "ngIf"],
                        ["id", "no_border_radius", 1, "form-control", 2, "background-color", "rgba(97, 163, 10, 0.1)"],
                        ["src", "./assets/images/Vector.png"],
                        [1, "_Puro-Body", 2, "margin-left", "1.5rem", "margin-top", "1rem", "margin-bottom", "1rem", "margin-right", "1rem", "letter-spacing", "-0.1px"],
                        [1, "row", "invalid-feedback", "text-center", 2, "display", "table"],
                        [4, "ngFor", "ngForOf"],
                        [1, "row", "gx-0", "text-center", "px-0", "px-md-5", 2, "margin-top", "1.5rem", "margin-bottom", "1.5rem"],
                        ["role", "button", 1, "_Puro-Body-Link-Text", 3, "click"],
                        [1, "row", "gx-0", "text-center", "px-0", "px-md-5", 2, "margin-bottom", "1.5rem", "margin-top", "1rem"],
                        [1, "_Puro-Body-center"],
                        ["href", "javascript:void(0)", "role", "button", 1, "_Puro-Body-Link-Text", 2, "margin-top", "0.5rem", 3, "click"]
                    ],
                    template: function(g, M) {
                        if (1 & g && (r._UZ(0, "div", 0), r.YNc(1, we, 59, 36, "ng-template", null, 1, r.W1O), r.TgZ(3, "div", 2)(4, "a", 3), r._uU(5), r.ALo(6, "translate"), r.qZA()(), r._UZ(7, "ngx-spinner", 4)), 2 & g) {
                            const ne = r.MAs(2);
                            r.Q6J("content", ne), r.xp6(4), r.uIk("href", "https://www.purolator.com/" + M.oktaLanguage + "/support/faqs/mypurolator", r.LSH), r.xp6(1), r.Oqu(r.lcZ(6, 4, "need.help")), r.xp6(2), r.Q6J("fullScreen", !0)
                        }
                    },
                    dependencies: [V.sg, V.O5, Te.Ro, Ae.c, ce.X$],
                    styles: ["a[_ngcontent-%COMP%]{text-decoration:none!important}a[_ngcontent-%COMP%]:link{color:#001996;text-decoration:none!important;border-bottom:none!important}a[_ngcontent-%COMP%]:visited{color:#001996!important}a[_ngcontent-%COMP%]:hover{color:#415bde!important;border-bottom:none!important}a[_ngcontent-%COMP%]:active{color:#001996!important}"]
                }), A
            })();
            var Je = _(2805),
                ue = _(5698),
                Me = _(3900),
                Ke = _(9300),
                Be = _(8746);
            const He = ["pu-email-verification", ""];

            function xt(A, y) {
                1 & A && (r.TgZ(0, "span", 23), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A && (r.xp6(1), r.Oqu(r.lcZ(2, 1, "email.verification.notexpired.title")))
            }

            function kt(A, y) {
                1 & A && (r.TgZ(0, "span", 24), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A && (r.xp6(1), r.Oqu(r.lcZ(2, 1, "email.verification.expired.title")))
            }

            function St(A, y) {
                1 & A && (r.TgZ(0, "span", 25), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A && (r.xp6(1), r.hij(" ", r.lcZ(2, 1, "email.verification.linknotexpired.description"), " "))
            }

            function Ct(A, y) {
                1 & A && (r.TgZ(0, "span", 25), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A && (r.xp6(1), r.hij(" ", r.lcZ(2, 1, "verification.email.description1"), " "))
            }

            function ht(A, y) {
                1 & A && (r.TgZ(0, "div", 26)(1, "table", 27)(2, "tr")(3, "td"), r._UZ(4, "img", 28), r.qZA(), r.TgZ(5, "td")(6, "label", 29), r._uU(7), r.ALo(8, "translate"), r.qZA()()()()()), 2 & A && (r.xp6(7), r.hij(" ", r.lcZ(8, 1, "verification.email.sent"), ""))
            }

            function Pe(A, y) {
                if (1 & A && (r.TgZ(0, "label"), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A) {
                    const g = y.$implicit;
                    r.xp6(1), r.Oqu(r.lcZ(2, 1, g))
                }
            }

            function De(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.TgZ(0, "div", 30), r.YNc(1, Pe, 3, 3, "label", 31), r.qZA(), r.TgZ(2, "div", 32)(3, "a", 33), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.navigateToLogin())
                    }), r._uU(4), r.ALo(5, "translate"), r.qZA()()
                }
                if (2 & A) {
                    const g = r.oxw(2);
                    r.xp6(1), r.Q6J("ngForOf", g.errorKey), r.xp6(3), r.Oqu(r.lcZ(5, 2, "email.not.verified.continue.button"))
                }
            }

            function J(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.TgZ(0, "div", 11)(1, "a", 34), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.resendEmail())
                    }), r._uU(2), r.ALo(3, "translate"), r.qZA()()
                }
                2 & A && (r.xp6(2), r.Oqu(r.lcZ(3, 1, "email.not.verified.resend.button")))
            }

            function fe(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.TgZ(0, "div", 11)(1, "span", 35), r._uU(2), r.ALo(3, "translate"), r.qZA(), r.TgZ(4, "a", 34), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.resendEmail())
                    }), r._uU(5), r.ALo(6, "translate"), r.qZA()()
                }
                2 & A && (r.xp6(2), r.Oqu(r.lcZ(3, 2, "email.verification.inbox")), r.xp6(3), r.Oqu(r.lcZ(6, 4, "email.not.verified.resend.button")))
            }

            function Fe(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.TgZ(0, "div", 11)(1, "span", 35), r._uU(2), r.ALo(3, "translate"), r.qZA(), r.TgZ(4, "a", 34), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.resendEmail())
                    }), r._uU(5), r.ALo(6, "translate"), r.qZA()()
                }
                2 & A && (r.xp6(2), r.Oqu(r.lcZ(3, 2, "email.verification.inbox")), r.xp6(3), r.Oqu(r.lcZ(6, 4, "email.not.verified.resend.button")))
            }

            function at(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.TgZ(0, "div", 32)(1, "a", 33), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.navigateToLogin())
                    }), r._uU(2), r.ALo(3, "translate"), r.qZA()()
                }
                2 & A && (r.xp6(2), r.Oqu(r.lcZ(3, 1, "email.not.verified.continue.button")))
            }

            function ct(A, y) {
                1 & A && (r.TgZ(0, "div", 36), r._uU(1), r.ALo(2, "translate"), r.ALo(3, "translate"), r.qZA()), 2 & A && (r.xp6(1), r.AsE("", r.lcZ(2, 2, "verification.email.footer"), " ", r.lcZ(3, 4, "verification.email.footer2"), ""))
            }

            function vt(A, y) {
                if (1 & A && (r.ynx(0), r.TgZ(1, "div", 5)(2, "div", 6)(3, "div", 7)(4, "div", 8), r._uU(5), r.ALo(6, "translate"), r.qZA()()()(), r.TgZ(7, "div", 9)(8, "div", 6)(9, "div", 7)(10, "div", 8), r._uU(11), r.ALo(12, "translate"), r.qZA()()()(), r.TgZ(13, "div", 10)(14, "div", 6)(15, "div", 7)(16, "div", 8), r._uU(17), r.ALo(18, "translate"), r.qZA()()()(), r.TgZ(19, "div", 11)(20, "div", 12)(21, "div", 13), r.YNc(22, xt, 3, 3, "span", 14), r.YNc(23, kt, 3, 3, "span", 15), r.YNc(24, St, 3, 3, "span", 16), r.YNc(25, Ct, 3, 3, "span", 16), r.qZA()()(), r.TgZ(26, "div", 17), r._UZ(27, "img", 18), r.qZA(), r.YNc(28, ht, 9, 3, "ng-template", 19), r.YNc(29, De, 6, 4, "ng-template", 19), r.YNc(30, J, 4, 3, "ng-template", 19), r.YNc(31, fe, 7, 6, "ng-template", 19), r.YNc(32, Fe, 7, 6, "div", 20), r.YNc(33, at, 4, 3, "div", 21), r.YNc(34, ct, 4, 6, "div", 22), r.BQk()), 2 & A) {
                    const g = r.oxw();
                    r.xp6(5), r.hij(" ", r.lcZ(6, 14, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(12, 16, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(18, 18, "generic.error"), " "), r.xp6(5), r.Q6J("ngIf", !g.urlExpired), r.xp6(1), r.Q6J("ngIf", g.urlExpired), r.xp6(1), r.Q6J("ngIf", !g.urlExpired), r.xp6(1), r.Q6J("ngIf", g.urlExpired), r.xp6(3), r.Q6J("ngIf", g.resendEmailSuccess), r.xp6(1), r.Q6J("ngIf", g.errorOccured), r.xp6(1), r.Q6J("ngIf", g.urlExpired && !g.resendEmailSuccess && !g.errorOccured), r.xp6(1), r.Q6J("ngIf", g.urlExpired && g.resendEmailSuccess), r.xp6(1), r.Q6J("ngIf", !g.isAlreadyVerifiedEmail && !g.urlExpired), r.xp6(1), r.Q6J("ngIf", !g.urlExpired && !g.errorOccured), r.xp6(1), r.Q6J("ngIf", g.urlExpired && !g.errorOccured)
                }
            }
            let Qt = (() => {
                class A extends B.a {
                    constructor(g, M, ne, Ce, qe, Ye, wt) {
                        super(M, qe, Ce, Ye, wt), this.route = g, this.router = M, this.service = ne, this.store = Ce, this.oktaAuth = qe, this.activatedRoute = Ye, this.injector = wt, this.ACTIVATION_CODE_QUERY_PARAM = "activationCode", this.resendEmailSuccess = !1, this.urlExpired = !1, this.errorOccured = !1, this.errorKey = [], this.isAlreadyVerifiedEmail = !1, this.counter = 0
                    }
                    ngOnInit() {
                        super.ngOnInit();
                        let g = U.NZ.oidc.postLogoutRedirectUri;
                        "stage1" === history.state.stage && (0, Je.H)(U.NZ.email_verification_timer, U.NZ.email_verification_timer).pipe((0, ue.q)(3), (0, Me.w)(() => (++this.counter, this.service.fetchUserByUsername(this.email))), (0, Ke.h)(M => !!M), (0, Be.x)(() => {
                            3 === this.counter && window.open(g + "/" + this.oktaLanguage, "_self")
                        }), (0, k.R)(this.unsubscribe$)).subscribe(M => {
                            M.userStatusCode === K.iy.Q.VERIFIED_MFA_ENROLLMENT_CHECK_REQUIRED && window.open(g + "/" + this.oktaLanguage, "_self")
                        }, M => {
                            console.log(M), window.open(g + "/" + this.oktaLanguage, "_self")
                        }), this.urlExpired = history.state.urlExpired, this.email = history.state.email, sessionStorage.setItem("useremail", this.email), this.route.queryParams.subscribe(M => {
                            this.activationCode = M && M[this.ACTIVATION_CODE_QUERY_PARAM] ? M[this.ACTIVATION_CODE_QUERY_PARAM] : null
                        })
                    }
                    continueToLogin() {}
                    resendEmail() {
                        this.errorOccured = !1, this.resendEmailSuccess = !1, this.isAlreadyVerifiedEmail = !1, this.errorKey = [], this.service.resendVerificationEmail(this.email).pipe((0, k.R)(this.unsubscribe$)).subscribe(g => {
                            g && 204 === g.status ? this.resendEmailSuccess = !0 : this.displayGenericError("resendEmailVerficationError")
                        }, g => {
                            throw g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("email already verified") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("d\xe9j\xe0 v\xe9rifi\xe9") ? (this.errorOccured = !0, this.errorKey = ["verification.email.already.verified", "verification.email.proceed"], this.isAlreadyVerifiedEmail = !0) : this.displayGenericError("resendEmailVerficationApiError"), g
                        })
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.Y36(P.gz), r.Y36(P.F0), r.Y36(le.v), r.Y36(oe.yh), r.Y36(G.u_), r.Y36(P.gz), r.Y36(r.zs3))
                }, A.\u0275cmp = r.Xpm({
                    type: A,
                    selectors: [
                        ["div", "pu-email-verification", ""]
                    ],
                    hostAttrs: [1, "pu-main"],
                    features: [r.qOj],
                    attrs: He,
                    decls: 8,
                    vars: 6,
                    consts: [
                        ["id", "content-align", "pu-no-header", "", 3, "content"],
                        ["content", ""],
                        [1, "d-flex", "align-items-center", "justify-content-center", "mt-2", "flex-wrap", "flex-column", "flex-sm-row"],
                        ["target", "_blank", 1, "btn", "btn-link", "common-btn-link", 2, "text-decoration", "none", "padding", "0.3rem !important"],
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        ["id", "errorToast", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [1, "modal-dialog", "rounded"],
                        [1, "modal-content", "error-modal"],
                        [1, "modal-body"],
                        ["id", "resendEmailVerficationError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "resendEmailVerficationApiError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [1, "row", "gx-0", "text-center", "px-0", "px-md-5"],
                        [1, "gy-4"],
                        [1, "justify-content-center", "_Puro-Body-Off-Justify-No-Margin"],
                        ["class", "_Puro-Desk-H1", "id", "title-space", "style", "margin-top: 1.5rem; margin-bottom: 1.5rem; margin-left: 2rem; margin-right: 2rem; display: inline-block", 4, "ngIf"],
                        ["class", "_Puro-Desk-H1", "style", "margin-top: 1.5rem; margin-bottom: 1.5rem; margin-left: 2rem; margin-right: 2rem; display: inline-block", 4, "ngIf"],
                        ["class", "py-3 _Puro-Body-center", 4, "ngIf"],
                        [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto", "margin-top", "1rem", "margin-bottom", "1rem"],
                        ["src", "./assets/icons/email.svg"],
                        [3, "ngIf"],
                        ["class", "row gx-0 text-center px-0 px-md-5", 4, "ngIf"],
                        ["class", "row gx-0 text-center px-0 px-md-5", "style", "margin-top: 1.5rem; margin-bottom: 1.5rem", 4, "ngIf"],
                        ["class", "_Puro-Body-center p-4", 4, "ngIf"],
                        ["id", "title-space", 1, "_Puro-Desk-H1", 2, "margin-top", "1.5rem", "margin-bottom", "1.5rem", "margin-left", "2rem", "margin-right", "2rem", "display", "inline-block"],
                        [1, "_Puro-Desk-H1", 2, "margin-top", "1.5rem", "margin-bottom", "1.5rem", "margin-left", "2rem", "margin-right", "2rem", "display", "inline-block"],
                        [1, "py-3", "_Puro-Body-center"],
                        [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto", "margin-bottom", "1rem"],
                        ["id", "no_border_radius", 1, "form-control", 2, "background-color", "rgba(97, 163, 10, 0.1)"],
                        ["src", "./assets/images/Vector.png"],
                        [1, "_Puro-Body", 2, "margin-left", "1.5rem", "margin-top", "1rem", "margin-bottom", "1rem", "margin-right", "1rem", "letter-spacing", "-0.1px"],
                        [1, "row", "invalid-feedback", "text-center", 2, "display", "table"],
                        [4, "ngFor", "ngForOf"],
                        [1, "row", "gx-0", "text-center", "px-0", "px-md-5", 2, "margin-top", "1.5rem", "margin-bottom", "1.5rem"],
                        ["role", "button", 1, "_Puro-Body-Link-Text", 3, "click"],
                        ["role", "button", "href", "javascript:void(0)", 1, "_Puro-Body-Link-Text", 2, "margin-top", "0.5rem", 3, "click"],
                        [1, "_Puro-Body-center"],
                        [1, "_Puro-Body-center", "p-4"]
                    ],
                    template: function(g, M) {
                        if (1 & g && (r._UZ(0, "div", 0), r.YNc(1, vt, 35, 20, "ng-template", null, 1, r.W1O), r.TgZ(3, "div", 2)(4, "a", 3), r._uU(5), r.ALo(6, "translate"), r.qZA()(), r._UZ(7, "ngx-spinner", 4)), 2 & g) {
                            const ne = r.MAs(2);
                            r.Q6J("content", ne), r.xp6(4), r.uIk("href", "https://www.purolator.com/" + M.oktaLanguage + "/support/faqs/mypurolator", r.LSH), r.xp6(1), r.Oqu(r.lcZ(6, 4, "need.help")), r.xp6(2), r.Q6J("fullScreen", !0)
                        }
                    },
                    dependencies: [V.sg, V.O5, Te.Ro, Ae.c, ce.X$],
                    styles: ["h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{color:#001996}h1.pu-black-title[_ngcontent-%COMP%], h2.pu-black-title[_ngcontent-%COMP%], h3.pu-black-title[_ngcontent-%COMP%], h4.pu-black-title[_ngcontent-%COMP%]{color:#111}main[_ngcontent-%COMP%], .pu-main[_ngcontent-%COMP%]{flex:1}img.pu-ratio-height[_ngcontent-%COMP%]{object-fit:cover;width:100%;height:250px;height:var(--height)}.puro-page[_ngcontent-%COMP%]{display:block}.pu-global-container-border[_ngcontent-%COMP%]{border:solid 1px #d3d3d3}.pu-global-container-border-radius[_ngcontent-%COMP%]{border-radius:4px}.pu-global-hr[_ngcontent-%COMP%]{border:1px solid #c0c0c0}.puro-main-icon[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:153px}.puro-main-icon-public[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:203px}@media screen and (max-width: 576px){.puro-main-icon-public[_ngcontent-%COMP%]{width:171px}}#okta-sign-in.auth-container[_ngcontent-%COMP%]   .link[_ngcontent-%COMP%]   .js-switchAuthenticator[_ngcontent-%COMP%]{display:none!important}.common-btn-link[_ngcontent-%COMP%]{color:#001996!important}.common-btn-link[_ngcontent-%COMP%]:hover, .common-btn-link[_ngcontent-%COMP%]:focus{color:#0a38e6!important}.btn.btn-link[_ngcontent-%COMP%]{text-decoration:none}@media screen and (max-width: 768px){.small-xs[_ngcontent-%COMP%]{font-size:14px}}.resendemailsuccess[_ngcontent-%COMP%]{background-color:transparent;border-color:transparent;color:#001996!important;font-weight:600}a[_ngcontent-%COMP%]{text-decoration:none!important}a[_ngcontent-%COMP%]:link{color:#001996;text-decoration:none!important;border-bottom:none}a[_ngcontent-%COMP%]:visited{color:#001996!important}a[_ngcontent-%COMP%]:hover{color:#415bde!important;border-bottom:none!important}a[_ngcontent-%COMP%]:active{color:#001996!important}#content-align[_ngcontent-%COMP%]{margin:40px 13% 0}#title-space[_ngcontent-%COMP%]{line-height:2.5rem}"]
                }), A
            })();
            var Ge = _(3606),
                mt = _(592),
                Lt = _(8598),
                _n = _(4053),
                Ln = _(2119),
                Nn = _(8779),
                kn = _(405),
                vn = _(5575);
            const tn = new Map([
                [Lt.iu.enCA, "https://www.purolator.com/en/privacy-statement"],
                [Lt.iu.frCA, "https://www.purolator.com/fr/politique-de-confidentialite"]
            ]);
            var Cn = _(4006),
                pn = _(4004),
                Rn = _(4086),
                Qn = _(9536),
                _r = _(6290),
                Mr = _(6790);

            function Ut(A, y) {
                if (1 & A && (r.TgZ(0, "div", 24), r._UZ(1, "puro-field-text", 44), r.ALo(2, "translate"), r.qZA()), 2 & A) {
                    const g = r.oxw();
                    r.xp6(1), r.Q6J("fieldTextControl", g.custom_question)("errorList", g.errorList.custom_question)("label", r.lcZ(2, 7, "create.your.own.question"))("isRequired", g.showCustomQuestion)("maxlength", 100)("minlength", 1)("disabled", g.isFieldDisabled)
                }
            }

            function dt(A, y) {
                if (1 & A && (r.TgZ(0, "div", 34)(1, "puro-field-checkbox", 35)(2, "span", 45), r._uU(3), r.ALo(4, "translate"), r.qZA(), r.TgZ(5, "a", 46), r._uU(6), r.ALo(7, "translate"), r.qZA(), r.TgZ(8, "span", 45), r._uU(9), r.ALo(10, "translate"), r.qZA()()()), 2 & A) {
                    const g = r.oxw();
                    r.xp6(1), r.Q6J("fieldControl", g.communicateproduct)("errorList", g.errorList.terms)("hasContent", !0)("disabled", g.isFieldDisabled), r.xp6(2), r.Oqu(r.lcZ(4, 7, "AGREE_PUROLATOR_PRIVACY_STATEMENT_LINKS.0")), r.xp6(3), r.Oqu(r.lcZ(7, 9, "AGREE_PUROLATOR_PRIVACY_STATEMENT_LINKS.1")), r.xp6(3), r.Oqu(r.lcZ(10, 11, "AGREE_PUROLATOR_PRIVACY_STATEMENT_LINKS.2"))
                }
            }

            function et(A, y) {
                if (1 & A && (r.TgZ(0, "label"), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A) {
                    const g = y.$implicit;
                    r.xp6(1), r.Oqu(r.lcZ(2, 1, g))
                }
            }

            function Pt(A, y) {
                if (1 & A && (r.TgZ(0, "div", 47), r.YNc(1, et, 3, 3, "label", 48), r.qZA()), 2 & A) {
                    const g = r.oxw();
                    r.xp6(1), r.Q6J("ngForOf", g.errorKey)
                }
            }

            function jt(A, y) {
                1 & A && (r.TgZ(0, "div", 24)(1, "table", 49)(2, "tr")(3, "td", 50), r._UZ(4, "img", 51), r.qZA(), r.TgZ(5, "td")(6, "label", 52), r._uU(7), r.ALo(8, "translate"), r.qZA()()()()()), 2 & A && (r.xp6(7), r.Oqu(r.lcZ(8, 1, "password.question.created")))
            }
            let Xn = (() => {
                class A extends B.a {
                    constructor(g, M, ne, Ce, qe, Ye, wt, Zt, mn) {
                        super(M, Ye, Ce, wt, mn), this.fb = g, this.router = M, this.service = ne, this.store = Ce, this.translateService = qe, this.oktaAuth = Ye, this.activatedRoute = wt, this.encryptionService = Zt, this.injector = mn, this.isSuccess = !1, this.errorOccured = !1, this.errorKey = [], this.hide = !0, this.USER_INPUT = "USER-INPUT", this.buttonCaption = "Continue", this.width = 684, this.showCustomQuestion = !1, this.isVerifyEmailLinkActive = !0, this.isFieldDisabled = !1, this.registerUserAgainLink = U.NZ.register_user_again, this.ACTIVATION_CODE_QUERY_PARAM = "activationCode", this.linkPrivacy$ = this.store.select(mt.eE).pipe((0, pn.U)(En => tn.get(En))), this.questions = [], this.errorList = Qn.z, this.form = this.fb.group({
                            password: [Qn.P.password, vn.B$.get(vn.FJ.password)],
                            confirmPassword: [Qn.P.confirmPassword, [Cn.kI.required]],
                            question: [Qn.P.question, Cn.kI.required],
                            custom_question: [{
                                    value: Qn.P.custom_question,
                                    disabled: !0
                                },
                                [Cn.kI.required, (0, Nn.d)(100), (0, kn.O)(1)]
                            ],
                            answer: [{
                                    value: Qn.P.answer,
                                    disabled: !0
                                },
                                [Cn.kI.required, (0, Nn.d)(100), (0, kn.O)(4)]
                            ],
                            term: [Qn.P.term, Cn.kI.requiredTrue],
                            communicateproduct: [Qn.P.communicateproduct]
                        }, {
                            validators: [(0, Ln.M)("password", "confirmPassword"), (0, _n.t)()]
                        })
                    }
                    get password() {
                        return this.form.get("password")
                    }
                    get confirmPassword() {
                        return this.form.get("confirmPassword")
                    }
                    get question() {
                        return this.form.get("question")
                    }
                    get custom_question() {
                        return this.form.get("custom_question")
                    }
                    get answer() {
                        return this.form.get("answer")
                    }
                    get term() {
                        return this.form.get("term")
                    }
                    get communicateproduct() {
                        return this.form.get("communicateproduct")
                    }
                    ngOnInit() {
                        if (super.ngOnInit(), setTimeout(() => {
                                this.errorList = this.translateErrors(Qn.z)
                            }, 500), this.store.select(mt.eE).pipe((0, k.R)(this.unsubscribe$)).subscribe(g => {
                                this.locale = Lt.B6.get(g)
                            }), this.activationUrl = history.state.activationUrl, this.activationUrl && this.activationUrl.split("?")[1]) {
                            let g = new URLSearchParams(this.activationUrl.split("?")[1]);
                            (this.emailId = g.get("emailId")) && (this.activationCodeToSubmit = g.get("activationCode")) && (this.store.select(mt.mF).pipe((0, Ke.h)(M => !!M), (0, k.R)(this.unsubscribe$)).subscribe(M => {
                                let ne = this.translateService.instant("Create your own question");
                                this.questions = M.map(Ce => ({
                                    label: Ce.label,
                                    value: Ce.value
                                })), ne && this.questions.push({
                                    label: ne,
                                    value: ne
                                })
                            }), sessionStorage.setItem("useremail", this.emailId), this.fetchRegisteredUserByUsername(this.emailId, this.activationCodeToSubmit), this.store.dispatch(Ge.Y6({
                                emailId: this.emailId
                            })))
                        }
                        this.isLanguageChanged$.pipe((0, Rn.g)(500), (0, k.R)(this.unsubscribe$)).subscribe(g => {
                            this.errorList = this.translateErrors(Qn.z)
                        })
                    }
                    fetchRegisteredUserByUsername(g, M) {
                        try {
                            this.isFieldDisabled = !1, this.service.fetchUserByUsername(g).pipe((0, Ke.h)(ne => !!ne), (0, k.R)(this.unsubscribe$)).subscribe(ne => {
                                K.iy.Q.ACTIVE == ne.userStatusCode ? this.navigateToLogin() : this.service.isVerifyEmailLinkExpired(g).pipe((0, k.R)(this.unsubscribe$)).subscribe(Ce => {
                                    this.isVerifyEmailLinkExpired = Ce, this.service.isVerifyEmailLinkActive(g, M).pipe((0, k.R)(this.unsubscribe$)).subscribe(qe => {
                                        this.isVerifyEmailLinkActive = qe, (this.isVerifyEmailLinkExpired || !this.isVerifyEmailLinkActive) && this.router.navigate(["email-verification"], {
                                            state: {
                                                urlExpired: !0,
                                                email: g
                                            }
                                        })
                                    }, qe => {
                                        qe ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("activation code does not match with our records") || qe ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("le code d'activation ne correspond pas \xe0 nos enregistrements") ? this.router.navigate(["email-verification"], {
                                            state: {
                                                urlExpired: !0,
                                                email: g
                                            }
                                        }) : this.displayGenericError("isVerifyEmailLinkExpiredError")
                                    }, () => {})
                                }, Ce => {
                                    this.displayGenericError("isVerifyEmailLinkExpiredApiError")
                                }, () => {})
                            }, ne => {
                                ne ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("no user found for given") || ne ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("aucun utilisateur trouv\xe9 pour l'e-mail") ? (this.isFieldDisabled = !0, this.displayGenericError("userNotFound")) : this.displayGenericError("fetchRegisteredUserByUsernameError")
                            }, () => {})
                        } catch {
                            this.displayGenericError("fetchRegisteredUserByUsernameApiError")
                        }
                    }
                    ngAfterViewInit() {
                        this.errorList = this.translateErrors(Qn.z), this.marketingOptIn && this.marketingOptIn === this.USER_INPUT ? this.communicateproduct.setValidators(Cn.kI.requiredTrue) : this.communicateproduct.clearValidators()
                    }
                    change(g) {
                        this.answer.enable(), this.showCustomQuestion = this.question.value === this.questions[this.questions.length - 1].value, this.showCustomQuestion ? (this.custom_question.reset(), this.custom_question.enable()) : (this.custom_question.reset(), this.custom_question.disable())
                    }
                    forceValidation() {
                        this.form && Object.keys(this.form.controls).forEach(g => {
                            this.form.controls[g].enabled && (this.form.controls[g].markAsTouched(), this.form.controls[g].markAsDirty(), this.form.controls[g].updateValueAndValidity())
                        })
                    }
                    submit() {
                        if (this.errorOccured = !1, this.errorKey = [], this.isSuccess) this.navigateToLogin();
                        else if (this.forceValidation(), this.form.valid) {
                            var g = this.password ? .value,
                                M = this.question ? .value;
                            M === this.translateService.instant("Create your own question") && (M = this.form.get("custom_question") ? .value);
                            var Ye, ne = this.answer ? .value,
                                Ce = this.emailId,
                                qe = this.term ? .value;
                            Ye = this.USER_INPUT === this.implicitConsentMarketingOpt ? this.form.get("marketingOptIn") ? .value ? "YES" : "NO" : this.implicitConsentMarketingOpt;
                            const wt = {
                                email: Ce,
                                password: this.encryptionService.encrypt(g),
                                question: M,
                                answer: this.encryptionService.encrypt(ne),
                                tsc: qe,
                                implicitConsentMarketingOpt: Ye,
                                activationCodeToSubmit: this.activationCodeToSubmit
                            };
                            this.service.verifyEmail(wt).pipe((0, k.R)(this.unsubscribe$)).subscribe(Zt => {
                                Zt && 204 === Zt.status && (this.isSuccess = !0, this.buttonCaption = "continue.to.login")
                            }, Zt => {
                                throw this.isSuccess = !1, this.processError(Zt), Zt
                            })
                        }
                    }
                    processError(g) {
                        g ? .error.apiError ? .errors[0] ? .field ? .toLowerCase().includes("password") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("password") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("mot de passe") ? (this.errorOccured = !0, this.errorKey = g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("not contain first name or") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("ni pr\xe9nom ni") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("no parts of your username") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("partie de votre nom") ? ["pwdformat.error"] : ["register.stage2.password.error"]) : g ? .error.apiError ? .errors[0] ? .field ? .toLowerCase().includes("recoveryanswer") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("answer") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("r\xe9ponse") ? (this.errorOccured = !0, this.errorKey = g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("answer is too weak, answer must not be part") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("la r\xe9ponse ne doit pas faire partie de la question") ? ["security.answer.no.as.question"] : ["verification.question.answer.generic"]) : g ? .error.apiError ? .errors[0] ? .field ? .toLowerCase().includes("customSecurityQuestion") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("customsecurityquestion") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("r\xe9ponse") ? (this.errorOccured = !0, this.errorKey = ["verification.question.answer.generic"]) : g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("activation code does not match with our records") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("le code d'activation ne correspond pas \xe0 nos enregistrements") ? (this.errorOccured = !0, this.errorKey = ["register.stage2.activation.code.invalid"]) : this.displayGenericError("processError")
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.Y36(Cn.qu), r.Y36(P.F0), r.Y36(le.v), r.Y36(oe.yh), r.Y36(ce.sK), r.Y36(G.u_), r.Y36(P.gz), r.Y36(_r.C), r.Y36(r.zs3))
                }, A.\u0275cmp = r.Xpm({
                    type: A,
                    selectors: [
                        ["pu-security-block"]
                    ],
                    hostAttrs: [1, "pu-main"],
                    features: [r.qOj],
                    decls: 111,
                    vars: 110,
                    consts: [
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        ["role", "main", 1, "d-flex", "flex-column", "justify-content-center", "pu-no-header-wrapper"],
                        [1, "card"],
                        [1, "_Puro-Desk-H1", "registerStageTwoHead"],
                        ["id", "title-space", 3, "innerHTML"],
                        [2, "margin", "0 !important", "border", "1px solid #d3d3d3"],
                        [1, "card-body"],
                        ["id", "isVerifyEmailLinkExpiredError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [1, "modal-dialog", "rounded"],
                        [1, "modal-content", "error-modal"],
                        [1, "modal-body"],
                        ["id", "isVerifyEmailLinkExpiredApiError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "fetchRegisteredUserByUsernameError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "fetchRegisteredUserByUsernameApiError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "processError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "userNotFound", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [3, "href"],
                        [1, "pu-registration-wrapper"],
                        ["autocomplete", "off", 1, "container", 3, "formGroup", "ngSubmit"],
                        [1, "_Puro-Desk-H2-Black", "reg-stg-one-heading"],
                        [1, "_Puro-Body", "reg-stg-one-body"],
                        [1, "row", "gy-4", "pb-4"],
                        [1, "col-12", "col-md-6"],
                        ["type", "password", 3, "fieldTextControl", "errorList", "label", "isRequired", "maxlength", "disabled"],
                        [1, "col-12"],
                        ["pu-password-validation", ""],
                        [1, "pu-hr"],
                        [1, "col-12", 2, "padding-left", "0"],
                        [1, "row"],
                        [1, "_Puro-Body", "reg-stg-one-body", 2, "letter-spacing", "-0.1px"],
                        [1, "_Puro-Body", "reg-stg-one-body", 2, "letter-spacing", "-0.2px"],
                        ["placeholder", " ", 3, "fieldTextControl", "isRequired", "label", "options", "errorList", "disabled", "onDropdownChange"],
                        ["class", "col-12", 4, "ngIf"],
                        [3, "fieldTextControl", "errorList", "label", "isRequired", "disabled", "maxlength", "minlength"],
                        [1, "col-12", "py-4"],
                        [3, "fieldControl", "errorList", "hasContent", "disabled"],
                        ["target", "_blank", 1, "text-decoration-none"],
                        [1, "_Puro-Body-Off"],
                        ["class", "col-12 py-4", 4, "ngIf"],
                        [3, "ngIf"],
                        [1, "col", "text-center"],
                        ["id", "puro-button_continue-to-login", "type", "submit", 1, "btn", "btn-primary", 3, "disabled"],
                        [1, "d-flex", "align-items-center", "justify-content-center", "mt-2", "flex-wrap", "flex-column", "flex-sm-row"],
                        ["target", "_blank", 1, "btn", "btn-link", "common-btn-link", 2, "text-decoration", "none", "padding", "0.3rem !important"],
                        [3, "fieldTextControl", "errorList", "label", "isRequired", "maxlength", "minlength", "disabled"],
                        [1, "_Puro-Body"],
                        ["href", "https://www.purolator.com/en/privacy-statement", 1, "text-decoration-none"],
                        [1, "row", "invalid-feedback", "text-center", 2, "display", "table"],
                        [4, "ngFor", "ngForOf"],
                        ["id", "no_border_radius", 1, "form-control", 2, "background-color", "rgba(97, 163, 10, 0.1)"],
                        [2, "margin-left", "1.5rem", "margin-bottom", "1.5rem", "margin-top", "1.9rem"],
                        ["src", "./assets/images/Vector.png"],
                        ["id", "puro-label_registration-s2-success-message", 1, "_Puro-Body", 2, "margin-left", "1.5rem", "margin-top", "1.5em", "margin-bottom", "1.5rem", "margin-right", "1.5rem", "letter-spacing", "-0.1px"]
                    ],
                    template: function(g, M) {
                        1 & g && (r._UZ(0, "ngx-spinner", 0), r.TgZ(1, "div", 1)(2, "div", 2)(3, "div", 3), r._UZ(4, "span", 4), r.ALo(5, "translate"), r.qZA(), r._UZ(6, "hr", 5), r.TgZ(7, "div", 6), r.ynx(8), r.TgZ(9, "div", 7)(10, "div", 8)(11, "div", 9)(12, "div", 10), r._uU(13), r.ALo(14, "translate"), r.qZA()()()(), r.TgZ(15, "div", 11)(16, "div", 8)(17, "div", 9)(18, "div", 10), r._uU(19), r.ALo(20, "translate"), r.qZA()()()(), r.TgZ(21, "div", 12)(22, "div", 8)(23, "div", 9)(24, "div", 10), r._uU(25), r.ALo(26, "translate"), r.qZA()()()(), r.TgZ(27, "div", 13)(28, "div", 8)(29, "div", 9)(30, "div", 10), r._uU(31), r.ALo(32, "translate"), r.qZA()()()(), r.TgZ(33, "div", 14)(34, "div", 8)(35, "div", 9)(36, "div", 10), r._uU(37), r.ALo(38, "translate"), r.qZA()()()(), r.TgZ(39, "div", 15)(40, "div", 8)(41, "div", 9)(42, "div", 10), r._uU(43), r.ALo(44, "translate"), r.TgZ(45, "a", 16), r._uU(46), r.ALo(47, "translate"), r.qZA(), r._uU(48), r.ALo(49, "translate"), r.qZA()()()(), r.TgZ(50, "div", 17)(51, "form", 18), r.NdJ("ngSubmit", function() {
                            return M.submit()
                        }), r.TgZ(52, "p", 19), r._uU(53), r.ALo(54, "translate"), r.qZA(), r.TgZ(55, "p", 20), r._uU(56), r.ALo(57, "translate"), r.qZA(), r.TgZ(58, "div", 21)(59, "div", 22), r._UZ(60, "puro-field-text", 23), r.ALo(61, "translate"), r.qZA(), r.TgZ(62, "div", 22), r._UZ(63, "puro-field-text", 23), r.ALo(64, "translate"), r.qZA(), r.TgZ(65, "div", 24), r._UZ(66, "div", 25), r.qZA(), r._UZ(67, "hr", 26), r.TgZ(68, "div", 27)(69, "div")(70, "div", 28)(71, "div")(72, "ol")(73, "li", 29), r._uU(74), r.ALo(75, "translate"), r.qZA(), r.TgZ(76, "li", 30), r._uU(77), r.ALo(78, "translate"), r.qZA()()()()()(), r.TgZ(79, "div", 24)(80, "puro-field-dropdown", 31), r.NdJ("onDropdownChange", function(Ce) {
                            return M.change(Ce)
                        }), r.ALo(81, "translate"), r.qZA()(), r.YNc(82, Ut, 3, 9, "div", 32), r.TgZ(83, "div", 24), r._UZ(84, "puro-field-text", 33), r.ALo(85, "translate"), r.TgZ(86, "div", 34)(87, "puro-field-checkbox", 35)(88, "span", 20), r._uU(89), r.ALo(90, "translate"), r.qZA(), r.TgZ(91, "a", 36), r.ALo(92, "async"), r._uU(93), r.ALo(94, "translate"), r.qZA(), r.TgZ(95, "span", 37), r._uU(96), r.ALo(97, "translate"), r.qZA()()(), r.YNc(98, dt, 11, 13, "div", 38), r.YNc(99, Pt, 2, 1, "ng-template", 39), r.YNc(100, jt, 9, 3, "ng-template", 39), r.qZA()(), r.TgZ(101, "div")(102, "div", 28)(103, "div", 40)(104, "button", 41), r._uU(105), r.ALo(106, "translate"), r.qZA()()()()()(), r.BQk(), r.qZA()(), r.TgZ(107, "div", 42)(108, "a", 43), r._uU(109), r.ALo(110, "translate"), r.qZA()()()), 2 & g && (r.Q6J("fullScreen", !0), r.xp6(1), r.Udp("max-width", M.width, "px"), r.xp6(3), r.Q6J("innerHTML", r.lcZ(5, 64, "register.stage2.title"), r.oJD), r.xp6(9), r.hij(" ", r.lcZ(14, 66, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(20, 68, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(26, 70, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(32, 72, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(38, 74, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(44, 76, "register.stage2.user.not.found"), ""), r.xp6(2), r.Q6J("href", M.registerUserAgainLink + M.locale, r.LSH), r.xp6(1), r.Oqu(r.lcZ(47, 78, "register.stage2.user.not.found1")), r.xp6(2), r.hij("", r.lcZ(49, 80, "register.stage2.user.not.found2"), " "), r.xp6(3), r.Q6J("formGroup", M.form), r.xp6(2), r.Oqu(r.lcZ(54, 82, "register.stage2.description")), r.xp6(3), r.Oqu(r.lcZ(57, 84, "register.stage2.mandatory.hint")), r.xp6(4), r.Tol("-ms-reveal"), r.Q6J("fieldTextControl", M.password)("errorList", M.errorList.password)("label", r.lcZ(61, 86, "Password"))("isRequired", !0)("maxlength", 72)("disabled", M.isFieldDisabled), r.xp6(3), r.Tol("-ms-reveal"), r.Q6J("fieldTextControl", M.confirmPassword)("errorList", M.errorList.confirmPassword)("label", r.lcZ(64, 88, "confirm.password"))("isRequired", !0)("maxlength", 72)("disabled", M.isFieldDisabled), r.xp6(11), r.Oqu(r.lcZ(75, 90, "register.stage2.security.hint1")), r.xp6(3), r.Oqu(r.lcZ(78, 92, "register.stage2.security.hint2")), r.xp6(3), r.Q6J("fieldTextControl", M.question)("isRequired", !0)("label", r.lcZ(81, 94, "security.question"))("options", M.questions)("errorList", M.errorList.question)("disabled", M.isFieldDisabled), r.xp6(2), r.Q6J("ngIf", M.showCustomQuestion), r.xp6(2), r.Q6J("fieldTextControl", M.answer)("errorList", M.errorList.answer)("label", r.lcZ(85, 96, "security.answer"))("isRequired", !0)("disabled", !M.question.value)("maxlength", 100)("minlength", 4)("disabled", M.isFieldDisabled), r.xp6(3), r.Q6J("fieldControl", M.term)("errorList", M.errorList.term)("hasContent", !0)("disabled", M.isFieldDisabled), r.xp6(2), r.Oqu(r.lcZ(90, 98, "AGREE_PUROLATOR_PRIVACY_STATEMENT_LINKS.0")), r.xp6(2), r.uIk("href", r.lcZ(92, 100, M.linkPrivacy$), r.LSH), r.xp6(2), r.Oqu(r.lcZ(94, 102, "AGREE_PUROLATOR_PRIVACY_STATEMENT_LINKS.1")), r.xp6(3), r.Oqu(r.lcZ(97, 104, "AGREE_PUROLATOR_PRIVACY_STATEMENT_LINKS.2")), r.xp6(2), r.Q6J("ngIf", M.marketingOptIn === M.USER_INPUT), r.xp6(1), r.Q6J("ngIf", M.errorOccured), r.xp6(1), r.Q6J("ngIf", M.isSuccess), r.xp6(4), r.Q6J("disabled", M.isFieldDisabled), r.xp6(1), r.Oqu(r.lcZ(106, 106, M.buttonCaption)), r.xp6(3), r.uIk("href", "https://www.purolator.com/" + M.oktaLanguage + "/support/faqs/mypurolator", r.LSH), r.xp6(1), r.Oqu(r.lcZ(110, 108, "need.help")))
                    },
                    dependencies: [V.sg, V.O5, Cn._Y, Cn.JL, Cn.sg, Te.Ro, x.GM, x.at, x.mj, Mr.c, V.Ov, ce.X$],
                    styles: ["h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{color:#001996}h1.pu-black-title[_ngcontent-%COMP%], h2.pu-black-title[_ngcontent-%COMP%], h3.pu-black-title[_ngcontent-%COMP%], h4.pu-black-title[_ngcontent-%COMP%]{color:#111}main[_ngcontent-%COMP%], .pu-main[_ngcontent-%COMP%]{flex:1}img.pu-ratio-height[_ngcontent-%COMP%]{object-fit:cover;width:100%;height:250px;height:var(--height)}.puro-page[_ngcontent-%COMP%]{display:block}.pu-global-container-border[_ngcontent-%COMP%]{border:solid 1px #d3d3d3}.pu-global-container-border-radius[_ngcontent-%COMP%]{border-radius:4px}.pu-global-hr[_ngcontent-%COMP%], .pu-hr[_ngcontent-%COMP%]{border:1px solid #c0c0c0}.puro-main-icon[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:153px}.puro-main-icon-public[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:203px}@media screen and (max-width: 576px){.puro-main-icon-public[_ngcontent-%COMP%]{width:171px}}#okta-sign-in.auth-container[_ngcontent-%COMP%]   .link[_ngcontent-%COMP%]   .js-switchAuthenticator[_ngcontent-%COMP%]{display:none!important}.common-btn-link[_ngcontent-%COMP%]{color:#001996!important}.common-btn-link[_ngcontent-%COMP%]:hover, .common-btn-link[_ngcontent-%COMP%]:focus{color:#0a38e6!important}.pu-registration-wrapper[_ngcontent-%COMP%]{margin:auto}@media screen and (max-width: 768px){.pu-registration-wrapper[_ngcontent-%COMP%]{max-width:100%}}@media screen and (min-width: 768px){.pu-registration-wrapper[_ngcontent-%COMP%]{max-width:80%}}.pu-hr[_ngcontent-%COMP%]{margin-bottom:0}#height_adjust[_ngcontent-%COMP%]{min-height:50rem}.pu-font-content[_ngcontent-%COMP%]{font-size:.875rem}li[_ngcontent-%COMP%]:not(:last-child){margin-bottom:.5rem}#title-space[_ngcontent-%COMP%]{line-height:2.5rem}#no_border_radius[_ngcontent-%COMP%]{border-radius:0!important}[_nghost-%COMP%]{padding:.9375rem;display:flex;justify-content:center}[_nghost-%COMP%]   h1[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%]   .pu-no-header-wrapper[_ngcontent-%COMP%]{transition:width .2s ease-in-out}"]
                }), A
            })();
            const sn = ["pu-email-verified", ""];

            function cr(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.ynx(0), r.TgZ(1, "div", 13)(2, "div", 14)(3, "div", 15)(4, "span", 16), r._uU(5), r.ALo(6, "translate"), r.qZA()()()(), r.TgZ(7, "div", 17), r._UZ(8, "img", 18), r.qZA(), r.TgZ(9, "div", 19), r._uU(10), r.ALo(11, "translate"), r.TgZ(12, "label", 20), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.navigateToLogin())
                    }), r.TgZ(13, "b", 21), r._uU(14), r.ALo(15, "translate"), r.qZA()(), r._uU(16), r.ALo(17, "translate"), r.qZA(), r.BQk()
                }
                2 & A && (r.xp6(5), r.Oqu(r.lcZ(6, 4, "email.verified.title")), r.xp6(5), r.hij(" ", r.lcZ(11, 6, "please"), " "), r.xp6(4), r.Oqu(r.lcZ(15, 8, "clickhere")), r.xp6(2), r.hij(" ", r.lcZ(17, 10, "logininfo"), " "))
            }

            function Jn(A, y) {
                1 & A && (r.TgZ(0, "div", 24)(1, "table", 31)(2, "tr")(3, "td"), r._UZ(4, "img", 32), r.qZA(), r.TgZ(5, "td")(6, "label", 33), r._uU(7), r.ALo(8, "translate"), r.qZA()()()()()), 2 & A && (r.xp6(7), r.hij(" ", r.lcZ(8, 1, "verification.email.sent"), ""))
            }

            function wr(A, y) {
                if (1 & A && (r.TgZ(0, "label"), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A) {
                    const g = y.$implicit;
                    r.xp6(1), r.Oqu(r.lcZ(2, 1, g))
                }
            }

            function Yn(A, y) {
                if (1 & A && (r.TgZ(0, "div", 34), r.YNc(1, wr, 3, 3, "label", 35), r.qZA()), 2 & A) {
                    const g = r.oxw(3);
                    r.xp6(1), r.Q6J("ngForOf", g.errorKey)
                }
            }

            function In(A, y) {
                1 & A && (r.TgZ(0, "span", 36), r._uU(1), r.ALo(2, "translate"), r.qZA()), 2 & A && (r.xp6(1), r.Oqu(r.lcZ(2, 1, "email.verification.inbox")))
            }
            const Kn = function() {
                return ["/app-launcher"]
            };

            function si(A, y) {
                1 & A && (r.TgZ(0, "div", 37)(1, "a", 38), r._uU(2), r.ALo(3, "translate"), r.qZA()()), 2 & A && (r.xp6(1), r.Q6J("routerLink", r.DdM(4, Kn)), r.xp6(1), r.Oqu(r.lcZ(3, 2, "email.not.verified.continue.button")))
            }

            function Jr(A, y) {
                1 & A && (r.TgZ(0, "div", 39), r._uU(1), r.ALo(2, "translate"), r.ALo(3, "translate"), r.qZA()), 2 & A && (r.xp6(1), r.AsE("", r.lcZ(2, 2, "verification.email.footer"), " ", r.lcZ(3, 4, "verification.email.footer2"), ""))
            }

            function hr(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.ynx(0), r.TgZ(1, "div", 13)(2, "div", 14)(3, "div", 15)(4, "div", 15)(5, "span", 22), r._uU(6), r.ALo(7, "translate"), r.qZA(), r.TgZ(8, "span", 23), r._uU(9), r.ALo(10, "translate"), r.qZA()()()()(), r.TgZ(11, "div", 24), r._UZ(12, "img", 18), r.qZA(), r.YNc(13, Jn, 9, 3, "ng-template", 25), r.YNc(14, Yn, 2, 1, "ng-template", 25), r.TgZ(15, "div", 26), r.YNc(16, In, 3, 3, "span", 27), r.TgZ(17, "a", 28), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw(2);
                        return r.KtG(ne.resendEmail())
                    }), r._uU(18), r.ALo(19, "translate"), r.qZA()(), r.YNc(20, si, 4, 5, "div", 29), r.YNc(21, Jr, 4, 6, "div", 30), r.BQk()
                }
                if (2 & A) {
                    const g = r.oxw(2);
                    r.xp6(6), r.Oqu(r.lcZ(7, 8, "email.verification.expired.title")), r.xp6(3), r.hij(" ", r.lcZ(10, 10, "verification.email.description1"), " "), r.xp6(4), r.Q6J("ngIf", g.resendEmailSuccess), r.xp6(1), r.Q6J("ngIf", g.errorOccured), r.xp6(2), r.Q6J("ngIf", g.resendEmailSuccess), r.xp6(2), r.Oqu(r.lcZ(19, 12, "email.not.verified.resend.button")), r.xp6(2), r.Q6J("ngIf", !g.linkExpired), r.xp6(1), r.Q6J("ngIf", g.linkExpired)
                }
            }

            function ai(A, y) {
                1 & A && (r.ynx(0), r.TgZ(1, "div", 13)(2, "div", 14)(3, "div", 15)(4, "div", 15)(5, "span", 40), r._uU(6), r.ALo(7, "translate"), r.qZA()()()()(), r.BQk()), 2 & A && (r.xp6(6), r.hij(" ", r.lcZ(7, 1, "email.verified.networkissue"), " "))
            }

            function Si(A, y) {
                if (1 & A && (r.TgZ(0, "div", 3)(1, "div", 4)(2, "div", 5)(3, "div", 6), r._uU(4), r.ALo(5, "translate"), r.qZA()()()(), r.TgZ(6, "div", 7)(7, "div", 4)(8, "div", 5)(9, "div", 6), r._uU(10), r.ALo(11, "translate"), r.qZA()()()(), r.TgZ(12, "div", 8)(13, "div", 4)(14, "div", 5)(15, "div", 6), r._uU(16), r.ALo(17, "translate"), r.qZA()()()(), r.TgZ(18, "div", 9)(19, "div", 4)(20, "div", 5)(21, "div", 6), r._uU(22), r.ALo(23, "translate"), r.qZA()()()(), r.TgZ(24, "div", 10)(25, "div", 4)(26, "div", 5)(27, "div", 6), r._uU(28), r.ALo(29, "translate"), r.qZA()()()(), r.TgZ(30, "div", 11)(31, "div", 4)(32, "div", 5)(33, "div", 6), r._uU(34), r.ALo(35, "translate"), r.qZA()()()(), r.YNc(36, cr, 18, 12, "ng-container", 12), r.YNc(37, hr, 22, 14, "ng-container", 12), r.YNc(38, ai, 8, 3, "ng-container", 12)), 2 & A) {
                    const g = r.oxw();
                    r.xp6(4), r.hij(" ", r.lcZ(5, 9, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(11, 11, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(17, 13, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(23, 15, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(29, 17, "generic.error"), " "), r.xp6(6), r.hij(" ", r.lcZ(35, 19, "generic.error"), " "), r.xp6(2), r.Q6J("ngIf", g.emailVerified), r.xp6(1), r.Q6J("ngIf", g.linkExpired), r.xp6(1), r.Q6J("ngIf", g.isError)
                }
            }
            let yi = (() => {
                class A extends B.a {
                    constructor(g, M, ne, Ce, qe, Ye) {
                        super(Ce, ne, M, qe, Ye), this.service = g, this.store = M, this.oktaAuth = ne, this.router = Ce, this.activatedRoute = qe, this.injector = Ye, this.ACTIVATION_CODE_QUERY_PARAM = "activationCode", this.resendEmailSuccess = !1, this.errorOccured = !1, this.errorKey = [], this.isAlreadyVerifiedEmail = !1, this.emailVerified = !1, this.linkExpired = !1, this.isError = !1, this.isVerifyEmailLinkActive = !0
                    }
                    ngOnInit() {
                        super.ngOnInit(), this.verifyEmailUrl = history.state.verifyEmailUrl;
                        const g = new URLSearchParams(this.verifyEmailUrl);
                        this.activationCodeToSubmit = g.get("activationCode"), this.emailId = g.get("emailId"), this.isEmailExpiredOrActive(this.emailId, this.activationCodeToSubmit)
                    }
                    isEmailExpiredOrActive(g, M) {
                        var ne = this;
                        return (0, $.Z)(function*() {
                            ne.service.isVerifyEmailLinkExpired(g).pipe((0, k.R)(ne.unsubscribe$)).subscribe(Ce => {
                                ne.isVerifyEmailLinkExpired = Ce, ne.service.isVerifyEmailLinkActive(g, M).pipe((0, k.R)(ne.unsubscribe$)).subscribe(qe => {
                                    ne.isVerifyEmailLinkActive = qe, ne.isVerifyEmailLinkExpired || !ne.isVerifyEmailLinkActive ? ne.linkExpired = !0 : ne.verifyEmail()
                                }, qe => {
                                    qe ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("activation code does not match with our records") || qe ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("le code d'activation ne correspond pas \xe0 nos enregistrements") ? ne.linkExpired = !0 : ne.displayGenericError("isEmailExpiredOrActiveError")
                                }, () => {})
                            }, Ce => {
                                ne.displayGenericError("isEmailExpiredOrActiveApiError")
                            }, () => {})
                        })()
                    }
                    verifyEmail() {
                        var g = this;
                        return (0, $.Z)(function*() {
                            g.service.verifyUpdatedEmail({
                                email: g.emailId,
                                activationCode: g.activationCodeToSubmit
                            }).pipe((0, k.R)(g.unsubscribe$)).subscribe(qe => {
                                qe && 204 === qe.status && (g.emailVerified = !0, g.oktaAuth.session.exists().then(function() {
                                    var Ye = (0, $.Z)(function*(wt) {
                                        wt && (yield g.oktaAuth.revokeAccessToken(), g.oktaAuth.closeSession().then(() => {}))
                                    });
                                    return function(wt) {
                                        return Ye.apply(this, arguments)
                                    }
                                }()))
                            }, qe => {
                                throw qe ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("verification link has expired") || qe ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("activation code does not match with our records") || qe ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("le code d'activation ne correspond pas \xe0 nos enregistrements") ? g.linkExpired = !0 : g.displayGenericError("verifyEmailError"), qe
                            })
                        })()
                    }
                    resendEmail() {
                        this.errorOccured = !1, this.resendEmailSuccess = !1, this.isAlreadyVerifiedEmail = !1, this.errorKey = [], this.service.resendUpdatedVerificationEmail(this.emailId).pipe((0, k.R)(this.unsubscribe$)).subscribe(g => {
                            g && 204 === g.status ? this.resendEmailSuccess = !0 : this.displayGenericError("resendUpdatedVerificationEmailError")
                        }, g => {
                            throw g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("email already verified") || g ? .error.apiError ? .errors[0] ? .message ? .toLowerCase().includes("d\xe9j\xe0 v\xe9rifi\xe9") ? (this.errorKey = ["verification.email.already.verified"], this.errorOccured = !0) : this.displayGenericError("resendEmailError"), g
                        })
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.Y36(le.v), r.Y36(oe.yh), r.Y36(G.u_), r.Y36(P.F0), r.Y36(P.gz), r.Y36(r.zs3))
                }, A.\u0275cmp = r.Xpm({
                    type: A,
                    selectors: [
                        ["div", "pu-email-verified", ""]
                    ],
                    hostAttrs: [1, "pu-main"],
                    features: [r.qOj],
                    attrs: sn,
                    decls: 4,
                    vars: 2,
                    consts: [
                        ["pu-no-header", "", 3, "content"],
                        ["content", ""],
                        ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                        ["id", "errorToast", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [1, "modal-dialog", "rounded"],
                        [1, "modal-content", "error-modal"],
                        [1, "modal-body"],
                        ["id", "isEmailExpiredOrActiveError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "isEmailExpiredOrActiveApiError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "verifyEmailError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "resendUpdatedVerificationEmailError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        ["id", "resendEmailError", "tabindex", "-1", "aria-labelledby", "exampleModalLabel", "aria-hidden", "true", 1, "modal"],
                        [4, "ngIf"],
                        [1, "row", "gx-0", "text-center"],
                        [1, "gy-4"],
                        [1, "row", "justify-content-center", "_Puro-Body-Off-Justify-No-Margin"],
                        [1, "_Puro-Desk-H1", 2, "display", "inline-block", "line-height", "2.2rem"],
                        [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto", "padding-top", "3rem"],
                        ["src", "./assets/icons/email.svg"],
                        [1, "gx-0", "text-center", "px-0", "px-md-5", 2, "margin-top", "1.5rem", "margin-bottom", "1.5rem"],
                        [2, "color", "#001996", 3, "click"],
                        [1, "pointer", 2, "font-weight", "400"],
                        [1, "_Puro-Desk-H1", 2, "display", "inline-block"],
                        [1, "_Puro-Body-center", 2, "margin", "1rem"],
                        [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto", "margin-bottom", "1rem"],
                        [3, "ngIf"],
                        [1, "row", "gx-0", "text-center", "px-0", "px-md-5"],
                        ["class", "_Puro-Body-center", 4, "ngIf"],
                        ["role", "button", 1, "_Puro-Body-Link-Text", 2, "padding-top", "0.4rem", 3, "click"],
                        ["class", "row gx-0 text-center px-0 px-md-5", "style", "margin-top: 1.5rem; margin-bottom: 1.5rem", 4, "ngIf"],
                        ["class", "_Puro-Body-center p-4", 4, "ngIf"],
                        ["id", "no_border_radius", 1, "form-control", 2, "background-color", "rgba(97, 163, 10, 0.1)"],
                        ["src", "./assets/images/Vector.png"],
                        [1, "_Puro-Body", 2, "margin-left", "1.5rem", "margin-top", "1rem", "margin-bottom", "1rem", "margin-right", "1rem", "letter-spacing", "-0.1px"],
                        [1, "row", "invalid-feedback", "text-center", 2, "display", "table"],
                        [4, "ngFor", "ngForOf"],
                        [1, "_Puro-Body-center"],
                        [1, "row", "gx-0", "text-center", "px-0", "px-md-5", 2, "margin-top", "1.5rem", "margin-bottom", "1.5rem"],
                        ["role", "button", 1, "_Puro-Body-Link-Text", 3, "routerLink"],
                        [1, "_Puro-Body-center", "p-4"],
                        [1, "py-3", "_Puro-Body-center", 2, "margin", "1.5rem"]
                    ],
                    template: function(g, M) {
                        if (1 & g && (r._UZ(0, "div", 0), r.YNc(1, Si, 39, 21, "ng-template", null, 1, r.W1O), r._UZ(3, "ngx-spinner", 2)), 2 & g) {
                            const ne = r.MAs(2);
                            r.Q6J("content", ne), r.xp6(3), r.Q6J("fullScreen", !0)
                        }
                    },
                    dependencies: [V.sg, V.O5, Te.Ro, P.yS, Ae.c, ce.X$],
                    styles: ["a[_ngcontent-%COMP%]{text-decoration:none!important}a[_ngcontent-%COMP%]:link{color:#001996;text-decoration:none!important;border-bottom:none!important}a[_ngcontent-%COMP%]:visited{color:#001996!important}a[_ngcontent-%COMP%]:hover{color:#415bde!important;border-bottom:none!important}a[_ngcontent-%COMP%]:active{color:#001996!important}"]
                }), A
            })();
            var Ji = _(5571);

            function Pi(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.ynx(0), r.TgZ(1, "div")(2, "div", 2)(3, "div", 3)(4, "span", 4), r._uU(5), r.ALo(6, "translate"), r.qZA()()(), r.TgZ(7, "div", 5)(8, "div", 6)(9, "button", 7), r.NdJ("click", function() {
                        r.CHM(g);
                        const ne = r.oxw();
                        return r.KtG(ne.navigateToLogin())
                    }), r._uU(10), r.ALo(11, "translate"), r.qZA()()()(), r.BQk()
                }
                2 & A && (r.xp6(5), r.Oqu(r.lcZ(6, 2, "session.inactive")), r.xp6(5), r.Oqu(r.lcZ(11, 4, "session.timeout.back.button")))
            }
            let To = (() => {
                class A extends Ji.H {
                    constructor(g, M, ne, Ce, qe) {
                        super(g, M, ne, Ce, qe), this.store = g, this.router = M, this.oktaAuth = ne, this.activatedRoute = Ce, this.injector = qe
                    }
                    ngOnInit() {
                        var g = localStorage.getItem("target_app");
                        g || (g = "vision"), this.appName = {
                            language: Lt.B6.get(Lt.iu.enCA)
                        }
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.Y36(oe.yh), r.Y36(P.F0), r.Y36(G.u_), r.Y36(P.gz), r.Y36(r.zs3))
                }, A.\u0275cmp = r.Xpm({
                    type: A,
                    selectors: [
                        ["pu-timeout-error"]
                    ],
                    hostAttrs: [1, "pu-main"],
                    features: [r.qOj],
                    decls: 3,
                    vars: 2,
                    consts: [
                        ["pu-no-header", "", 3, "content", "title"],
                        ["content", ""],
                        [1, "container", "py-3"],
                        [1, "row", 2, "margin", "0"],
                        [1, "col-12", "py-3", "_Puro-Body-center", 2, "color", "black", "margin-bottom", "1rem"],
                        [1, "row", "gx-0", "text-center"],
                        [1, "col-12"],
                        ["type", "submit", 1, "btn", "btn-primary", 3, "click"]
                    ],
                    template: function(g, M) {
                        if (1 & g && (r._UZ(0, "div", 0), r.YNc(1, Pi, 12, 6, "ng-template", null, 1, r.W1O)), 2 & g) {
                            const ne = r.MAs(2);
                            r.Q6J("content", ne)("title", "session.timeout")
                        }
                    },
                    dependencies: [Ae.c, ce.X$],
                    styles: ["h1[_ngcontent-%COMP%], h2[_ngcontent-%COMP%], h3[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{color:#001996}h1.pu-black-title[_ngcontent-%COMP%], h2.pu-black-title[_ngcontent-%COMP%], h3.pu-black-title[_ngcontent-%COMP%], h4.pu-black-title[_ngcontent-%COMP%]{color:#111}main[_ngcontent-%COMP%], .pu-main[_ngcontent-%COMP%]{flex:1}img.pu-ratio-height[_ngcontent-%COMP%]{object-fit:cover;width:100%;height:250px;height:var(--height)}.puro-page[_ngcontent-%COMP%]{display:block}.pu-global-container-border[_ngcontent-%COMP%]{border:solid 1px #d3d3d3}.pu-global-container-border-radius[_ngcontent-%COMP%]{border-radius:4px}.pu-global-hr[_ngcontent-%COMP%], .pu-hr[_ngcontent-%COMP%]{border:1px solid #c0c0c0}.puro-main-icon[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:153px}.puro-main-icon-public[_ngcontent-%COMP%]{display:flex;flex-direction:row;width:203px}@media screen and (max-width: 576px){.puro-main-icon-public[_ngcontent-%COMP%]{width:171px}}#okta-sign-in.auth-container[_ngcontent-%COMP%]   .link[_ngcontent-%COMP%]   .js-switchAuthenticator[_ngcontent-%COMP%]{display:none!important}.common-btn-link[_ngcontent-%COMP%]{color:#001996!important}.common-btn-link[_ngcontent-%COMP%]:hover, .common-btn-link[_ngcontent-%COMP%]:focus{color:#0a38e6!important}.pu-registration-wrapper[_ngcontent-%COMP%]{margin:auto}@media screen and (max-width: 768px){.pu-registration-wrapper[_ngcontent-%COMP%]{max-width:100%}}@media screen and (min-width: 768px){.pu-registration-wrapper[_ngcontent-%COMP%]{max-width:80%}}.pu-hr[_ngcontent-%COMP%]{margin-bottom:0}.pu-font-content[_ngcontent-%COMP%]{font-size:.875rem}"]
                }), A
            })();
            const lr = ["purolator-integration-profile", ""];

            function br(A, y) {
                if (1 & A && (r.TgZ(0, "a", 8)(1, "div"), r._UZ(2, "img", 9), r.TgZ(3, "p", 10), r._uU(4), r.ALo(5, "translate"), r.qZA(), r.TgZ(6, "p", 11), r._uU(7), r.ALo(8, "translate"), r.qZA()()()), 2 & A) {
                    const g = y.$implicit,
                        M = r.oxw();
                    r.s9C("href", g.url + "?lang=" + (M.language === M.supportedLanguages.frCA ? "fr" : "en"), r.LSH), r.xp6(2), r.s9C("src", g.src, r.LSH), r.xp6(2), r.Oqu(r.lcZ(5, 4, g.appName)), r.xp6(3), r.Oqu(r.lcZ(8, 6, g.desc))
                }
            }
            let Er = (() => {
                class A extends Ji.H {
                    constructor(g, M, ne, Ce, qe, Ye) {
                        super(M, ne, Ce, qe, Ye), this.document = g, this.store = M, this.router = ne, this.oktaAuth = Ce, this.activatedRoute = qe, this.injector = Ye, this.appDetails = [], this.title = "okta-angular-quickstart", this.locale = "en", this.privateEndpointResult = "", this.publicEndpointResult = "", this.claims = [], this.supportedLanguages = Lt.iu
                    }
                    getOktaToken() {
                        let g = localStorage.getItem("okta-token-storage");
                        if (("{}" === g || !g) && (g = JSON.stringify(g)), g) {
                            let M = JSON.parse(g);
                            if (Object.keys(M) ? .length > 0) {
                                let ne = M ? .accessToken ? .claims ? .group;
                                this.appDetails = [], ne && ne ? .forEach(Ce => {
                                    Ce ? .toLowerCase() ? .includes("vision") ? this.appDetails.push({
                                        appName: "landingpage.vision",
                                        src: "./assets/icons/vision-icon.svg",
                                        desc: "landingpage.appvisiondesc",
                                        url: U.NZ.api.vision.url
                                    }) : Ce ? .toLowerCase() ? .includes("api") ? this.appDetails.push({
                                        appName: "landingpage.apiportal",
                                        src: "./assets/icons/apiportal-icon.svg",
                                        desc: "landingpage.appapiportaldesc",
                                        url: U.NZ.api.apiPortal.url
                                    }) : Ce ? .toLowerCase() ? .includes("eso") ? this.appDetails.push({
                                        appName: "landingpage.eso",
                                        src: "./assets/icons/shipping-icon.svg",
                                        desc: "landingpage.esodesc",
                                        url: U.NZ.api.eso.url
                                    }) : Ce ? .toLowerCase() ? .includes("reverselogix") ? this.appDetails.push({
                                        appName: "landingpage.returns",
                                        src: "./assets/icons/returns.svg",
                                        desc: "landingpage.returnsdesc",
                                        url: U.NZ.api.reverseLogix.url
                                    }) : Ce ? .toLowerCase() ? .includes("returns portal b2b") ? this.appDetails.push({
                                        appName: "landingpage.returns.b2b",
                                        src: "./assets/icons/gear.svg",
                                        desc: "landingpage.returnsb2bdesc",
                                        url: U.NZ.api.returnsPortalB2B.url
                                    }) : Ce ? .toLowerCase() ? .includes("pi returns portal") && this.appDetails.push({
                                        appName: "landingpage.returns.global",
                                        src: "./assets/icons/global-returns.png",
                                        desc: "landingpage.returnsglobaldesc",
                                        url: U.NZ.api.returnsPortalGlobal.url
                                    })
                                })
                            }
                        }
                    }
                    ngOnInit() {
                        super.ngOnInit(), setTimeout(() => {
                            this.getOktaToken()
                        }, 1e3), this.store.dispatch(Ge.mw({
                            display: !0
                        }))
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.Y36(V.K0), r.Y36(oe.yh), r.Y36(P.F0), r.Y36(G.u_), r.Y36(P.gz), r.Y36(r.zs3))
                }, A.\u0275cmp = r.Xpm({
                    type: A,
                    selectors: [
                        ["div", "purolator-integration-profile", ""]
                    ],
                    hostAttrs: [1, "pu-main"],
                    features: [r.qOj],
                    attrs: lr,
                    decls: 14,
                    vars: 10,
                    consts: [
                        [1, "container"],
                        [1, "_Puro-Desk-H1", "mt-3", "ps-4", "pe-4"],
                        [1, "_Puro-Body", "mt-4", "ps-4", "pe-4", "pt-2", "pb-2"],
                        [1, "card", "apps-card", "p-3", "text-decoration-none", "bg-white"],
                        [1, "card-body"],
                        [1, "myapps", "text-center", "text-md-start"],
                        [1, "mt-4", "cards-container", "justify-content-md-start", "justify-content-center"],
                        ["class", "appsdiv text-center p-4", 3, "href", 4, "ngFor", "ngForOf"],
                        [1, "appsdiv", "text-center", "p-4", 3, "href"],
                        ["alt", "ecommerce", 3, "src"],
                        [1, "appname", "mt-2"],
                        [1, "appnamedesc", "mt-2"]
                    ],
                    template: function(g, M) {
                        1 & g && (r.TgZ(0, "div", 0)(1, "span", 1), r._uU(2), r.ALo(3, "translate"), r.qZA(), r.TgZ(4, "p", 2), r._uU(5), r.ALo(6, "translate"), r.qZA(), r.TgZ(7, "div", 3)(8, "div", 4)(9, "span", 5), r._uU(10), r.ALo(11, "translate"), r.qZA(), r.TgZ(12, "div", 6), r.YNc(13, br, 9, 8, "a", 7), r.qZA()()()()), 2 & g && (r.xp6(2), r.Oqu(r.lcZ(3, 4, "landingPage.title")), r.xp6(3), r.Oqu(r.lcZ(6, 6, "landingPage.desc")), r.xp6(5), r.Oqu(r.lcZ(11, 8, "landingpage.myapps")), r.xp6(3), r.Q6J("ngForOf", M.appDetails))
                    },
                    dependencies: [V.sg, ce.X$],
                    styles: [".myapps[_ngcontent-%COMP%]{font-family:Open Sans;font-size:1.4rem;font-weight:400;line-height:36px;letter-spacing:0em;color:#000;display:block}.appsdiv[_ngcontent-%COMP%]{min-height:200px;width:264px;border-radius:8px;border:1px solid #c0c0c0;box-shadow:0 0 #0000001a,0 2px 8px #0000001a;display:inline-block;background-color:#fff;cursor:pointer}.appsdiv[_ngcontent-%COMP%]:hover{transform:scale(1.05);border:1px solid #001996;box-shadow:0 10px 20px #0000001f,0 4px 8px #0000000f}.appname[_ngcontent-%COMP%]{font-family:Open Sans;font-size:20px;font-weight:600;line-height:27px;letter-spacing:0em;text-align:center;color:#001996}.appnamedesc[_ngcontent-%COMP%]{font-family:Open Sans;font-size:15px;font-weight:400;line-height:22px;letter-spacing:0em;text-align:center;color:#000}img[_ngcontent-%COMP%]{height:50px;width:54px;left:-.3px;top:.1;border-radius:0}.apps-card[_ngcontent-%COMP%]{width:100%!important;min-height:499px;height:auto}a[_ngcontent-%COMP%]{text-decoration:none}.cards-container[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:30px}"]
                }), A
            })();
            const zr = ["pu-no-email", ""];

            function Fr(A, y) {
                1 & A && (r.ynx(0), r.TgZ(1, "div", 5)(2, "div", 6)(3, "div", 7)(4, "span", 8), r._uU(5), r.ALo(6, "translate"), r.qZA(), r.TgZ(7, "span", 9), r._uU(8), r.ALo(9, "translate"), r.TgZ(10, "span", 10), r._uU(11), r.ALo(12, "translate"), r.qZA()()()()(), r.TgZ(13, "div", 11), r._UZ(14, "img", 12), r.qZA(), r.BQk()), 2 & A && (r.xp6(5), r.Oqu(r.lcZ(6, 3, "email.not.verified.title")), r.xp6(3), r.hij(" ", r.lcZ(9, 5, "email-not-verified-no-email.description1"), " "), r.xp6(3), r.hij(" ", r.lcZ(12, 7, "email-not-verified-no-email.description2"), ". "))
            }
            const Ee = [{
                path: "logout",
                loadChildren: () => _.e(364).then(_.bind(_, 5364)).then(A => A.LogoutModule)
            }, {
                path: "session-timeout",
                component: To
            }, {
                path: "register-stage-one",
                loadChildren: () => _.e(566).then(_.bind(_, 7566)).then(A => A.RegistrationModule)
            }, {
                path: "profile-setting",
                canActivate: [G.fI],
                loadChildren: () => _.e(812).then(_.bind(_, 5812)).then(A => A.ProfileModule)
            }, {
                path: "register-stage-two",
                component: Xn
            }, {
                path: "email-verification",
                component: Qt
            }, {
                path: "email-not-verified",
                canActivate: [(() => {
                    class A {
                        constructor(g, M) {
                            this.oktaAuth = g, this.router = M
                        }
                        canActivate(g, M) {
                            let ne = g.queryParamMap.get("LoginHint");
                            return ne && ne.trim().length > 0 && sessionStorage.setItem("useremail", ne), !!sessionStorage.getItem("useremail") || (this.router.navigate(["email-not-verified-no-email"]), !1)
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.LFG(G.u_), r.LFG(P.F0))
                    }, A.\u0275prov = r.Yz7({
                        token: A,
                        factory: A.\u0275fac,
                        providedIn: "root"
                    }), A
                })()],
                component: ke
            }, {
                path: "email-not-verified-no-email",
                component: (() => {
                    class A extends Ji.H {
                        constructor(g, M, ne, Ce, qe) {
                            super(g, ne, M, Ce, qe), this.store = g, this.oktaAuth = M, this.router = ne, this.activatedRoute = Ce, this.injector = qe
                        }
                        ngOnInit() {
                            super.ngOnInit()
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.Y36(oe.yh), r.Y36(G.u_), r.Y36(P.F0), r.Y36(P.gz), r.Y36(r.zs3))
                    }, A.\u0275cmp = r.Xpm({
                        type: A,
                        selectors: [
                            ["div", "pu-no-email", ""]
                        ],
                        hostAttrs: [1, "pu-main"],
                        features: [r.qOj],
                        attrs: zr,
                        decls: 8,
                        vars: 6,
                        consts: [
                            ["pu-no-header", "", 3, "content"],
                            ["content", ""],
                            [1, "d-flex", "align-items-center", "justify-content-center", "mt-2", "flex-wrap", "flex-column", "flex-sm-row"],
                            ["target", "_blank", 1, "btn", "btn-link", "common-btn-link", 2, "text-decoration", "none", "padding", "0.3rem !important"],
                            ["name", "sp3", "type", "ball-spin-clockwise", "size", "medium", 3, "fullScreen"],
                            [1, "row", "gx-0", "text-center", "px-0", "px-md-5"],
                            [1, "gy-4"],
                            [1, "row", "justify-content-center", "_Puro-Body-Off-Justify-No-Margin"],
                            [1, "_Puro-Desk-H1", 2, "display", "inline-block"],
                            [1, "py-3", "_Puro-Body-center", 2, "margin", "1rem"],
                            [1, "_Puro-Body-Link-Text"],
                            [1, "row", "text-center", 2, "display", "table", "margin-left", "auto", "margin-right", "auto"],
                            ["src", "./assets/icons/email.svg"]
                        ],
                        template: function(g, M) {
                            if (1 & g && (r._UZ(0, "div", 0), r.YNc(1, Fr, 15, 9, "ng-template", null, 1, r.W1O), r.TgZ(3, "div", 2)(4, "a", 3), r._uU(5), r.ALo(6, "translate"), r.qZA()(), r._UZ(7, "ngx-spinner", 4)), 2 & g) {
                                const ne = r.MAs(2);
                                r.Q6J("content", ne), r.xp6(4), r.uIk("href", "https://www.purolator.com/" + M.oktaLanguage + "/support/faqs/mypurolator", r.LSH), r.xp6(1), r.Oqu(r.lcZ(6, 4, "need.help")), r.xp6(2), r.Q6J("fullScreen", !0)
                            }
                        },
                        dependencies: [Te.Ro, Ae.c, ce.X$],
                        styles: ["a[_ngcontent-%COMP%]{text-decoration:none!important}a[_ngcontent-%COMP%]:link{color:#001996;text-decoration:none!important;border-bottom:none!important}a[_ngcontent-%COMP%]:visited{color:#001996!important}a[_ngcontent-%COMP%]:hover{color:#415bde!important;border-bottom:none!important}a[_ngcontent-%COMP%]:active{color:#001996!important}"]
                    }), A
                })()
            }, {
                path: "email-verified",
                component: yi
            }, {
                path: "login/callback",
                component: G.dF
            }, {
                path: "app-launcher",
                canActivate: [G.fI],
                component: Er
            }, {
                path: "**",
                redirectTo: "app-launcher"
            }];
            let re = (() => {
                class A {}
                return A.\u0275fac = function(g) {
                    return new(g || A)
                }, A.\u0275mod = r.oAB({
                    type: A
                }), A.\u0275inj = r.cJS({
                    imports: [V.ez, P.Bz.forRoot(Ee, {
                        useHash: !1
                    }), P.Bz]
                }), A
            })();
            var ae = _(1135);
            const Xe = new r.OlP("LocalStorage");

            function Dt() {
                return window.localStorage
            }
            let Xt = (() => {
                class A {
                    constructor(g) {
                        this.navigator = g
                    }
                    get defaultLocale() {
                        const g = Object.values(Lt.iu),
                            M = this.navigator.language,
                            ne = g.indexOf(M);
                        return ne > -1 ? g[ne] : Lt.Xz.get(M) || Lt.iu.enCA
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.LFG(Xe))
                }, A.\u0275prov = r.Yz7({
                    token: A,
                    factory: A.\u0275fac,
                    providedIn: "root"
                }), A
            })();

            function dn(A, y) {
                if (1 & A) {
                    const g = r.EpF();
                    r.ynx(0), r.TgZ(1, "puro-common-header", 1), r.NdJ("signOut", function() {
                        r.CHM(g);
                        const ne = r.oxw();
                        return r.KtG(ne.signOut())
                    }), r.ALo(2, "async"), r.qZA(), r.TgZ(3, "puro-common-sidebar", 2)(4, "div", 3)(5, "puro-common-navigation", 4), r.NdJ("routeToDestination", function(ne) {
                        r.CHM(g);
                        const Ce = r.oxw();
                        return r.KtG(Ce.routeToDestination(ne))
                    }), r.qZA()(), r.TgZ(6, "div", 5)(7, "main", 6), r._UZ(8, "router-outlet"), r.qZA()()(), r.TgZ(9, "puro-common-footer", 7), r.NdJ("changeLocale", function(ne) {
                        r.CHM(g);
                        const Ce = r.oxw();
                        return r.KtG(Ce.changeLocale(ne))
                    }), r.qZA(), r.BQk()
                }
                if (2 & A) {
                    const g = r.oxw();
                    r.xp6(1), r.Q6J("displayName", g.appName)("app_intent", g.appName)("isCommonProfile", !0)("isLoggedIn", r.lcZ(2, 11, g.displayHeader$))("currentLanguageLocale", g.oktaLanguage)("menu", g.dropdownValues), r.xp6(2), r.Q6J("showSideBar", !1), r.xp6(2), r.Q6J("displayName", g.appName)("app_intent", g.appName)("menu", g.dropdownValues), r.xp6(4), r.Q6J("reload", !1)
                }
            }
            const er = ["register-stage-one", "register-stage-two", "email-verification", "email-verified", "email-not-verified", "session-timeout"];
            let Kr = (() => {
                class A extends Ji.H {
                    constructor(g, M, ne, Ce, qe, Ye) {
                        super(g, M, qe, Ce, Ye), this.store = g, this.router = M, this.translationService = ne, this.activatedRoute = Ce, this.oktaAuth = qe, this.injector = Ye, this.displayHeader$ = this.store.select(mt.oG), this.appName = "", this.isLoaded$ = new ae.X(!1), this.dropdownValues = []
                    }
                    ngOnInit() {
                        super.ngOnInit();
                        var g = "login";
                        const ne = (localStorage.getItem("lang") ? localStorage.getItem("lang") : this.language ? this.language : Lt.B6.get(this.translationService.defaultLocale)) ? .toLowerCase() == Lt.iu.frCA.toLowerCase() ? Lt.iu.frCA : Lt.iu.enCA;
                        localStorage.clear(), window.location.pathname && "email-not-verified" === window.location.pathname.replace(U.wy.baseHref, "") && this.store.dispatch(Ge.nj({
                            lang: ne
                        })), window.location.pathname && (g = window.location.pathname.replace(U.wy.baseHref, "")), this.redirectToPublicRoutes(g), this.isLoaded$.next(!0)
                    }
                    redirectToPublicRoutes(g) {
                        if (-1 != er.findIndex(M => M === g.toLocaleLowerCase())) {
                            let M, Ce = new URLSearchParams(window.location.search).get("lang");
                            switch (Ce = Ce ? Ce ? .toLowerCase() === Lt.pb.en ? Lt.pb.en : Lt.pb.fr : this.language, g.toLocaleLowerCase()) {
                                case "email-verified":
                                    M = {
                                        verifyEmailUrl: window.location.search
                                    };
                                    break;
                                case "register-stage-two":
                                    M = {
                                        activationUrl: window.location.href
                                    }
                            }
                            M && this.router.navigate([g], {
                                queryParams: {
                                    lang: Ce
                                },
                                state: M
                            })
                        }
                    }
                    changeLocale(g) {
                        this.router.navigate([], {
                            relativeTo: this.activatedRoute,
                            queryParams: {
                                lang: Lt.B6.get(g)
                            },
                            queryParamsHandling: "merge"
                        }), this.store.dispatch(Ge.nj({
                            lang: g
                        }))
                    }
                    ngOnDestroy() {
                        super.ngOnDestroy()
                    }
                    routeToDestination(g) {
                        this.router.navigateByUrl(g)
                    }
                    signOut() {
                        this.store.dispatch(Ge.kS())
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.Y36(oe.yh), r.Y36(P.F0), r.Y36(Xt), r.Y36(P.gz), r.Y36(G.u_), r.Y36(r.zs3))
                }, A.\u0275cmp = r.Xpm({
                    type: A,
                    selectors: [
                        ["purolator-root"]
                    ],
                    features: [r.qOj],
                    decls: 2,
                    vars: 3,
                    consts: [
                        [4, "ngIf"],
                        [3, "displayName", "app_intent", "isCommonProfile", "isLoggedIn", "currentLanguageLocale", "menu", "signOut"],
                        [3, "showSideBar"],
                        ["slot", "sidebar"],
                        [3, "displayName", "app_intent", "menu", "routeToDestination"],
                        ["slot", "body"],
                        ["id", "main", "role", "main"],
                        [3, "reload", "changeLocale"]
                    ],
                    template: function(g, M) {
                        1 & g && (r.YNc(0, dn, 10, 13, "ng-container", 0), r.ALo(1, "async")), 2 & g && r.Q6J("ngIf", r.lcZ(1, 1, M.isLoaded$))
                    },
                    dependencies: [V.O5, P.lC, x.lF, x._l, x.Rn, x.tV, V.Ov],
                    styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;min-height:100vh}"]
                }), A
            })();
            var Tn = _(4557);
            const Lr = void 0,
                ji = ["en-CA", [
                        ["am", "pm"],
                        ["a.m.", "p.m."], Lr
                    ],
                    [
                        ["a.m.", "pm"],
                        ["a.m.", "p.m."], Lr
                    ],
                    [
                        ["S", "M", "T", "W", "T", "F", "S"],
                        ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
                        ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
                        ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
                    ], Lr, [
                        ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
                        ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"],
                        ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
                    ], Lr, [
                        ["B", "A"],
                        ["BC", "AD"],
                        ["Before Christ", "Anno Domini"]
                    ], 0, [6, 0],
                    ["y-MM-dd", "MMM d, y", "MMMM d, y", "EEEE, MMMM d, y"],
                    ["h:mm a", "h:mm:ss a", "h:mm:ss a z", "h:mm:ss a zzzz"],
                    ["{1}, {0}", Lr, "{1} 'at' {0}", Lr],
                    [".", ",", ";", "%", "+", "-", "E", "\xd7", "\u2030", "\u221e", "NaN", ":"],
                    ["#,##0.###", "#,##0%", "\xa4#,##0.00", "#E0"], "CAD", "$", "Canadian Dollar", {
                        CAD: ["$"],
                        JPY: ["JP\xa5", "\xa5"],
                        USD: ["US$", "$"]
                    }, "ltr",
                    function bi(A) {
                        const g = Math.floor(Math.abs(A)),
                            M = A.toString().replace(/^[^.]*\.?/, "").length;
                        return 1 === g && 0 === M ? 1 : 5
                    }
                ],
                ye = void 0,
                Le = ["fr-CA", [
                        ["a", "p"],
                        ["a.m.", "p.m."], ye
                    ],
                    [
                        ["a.m.", "p.m."], ye, ye
                    ],
                    [
                        ["D", "L", "M", "M", "J", "V", "S"],
                        ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
                        ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"],
                        ["di", "lu", "ma", "me", "je", "ve", "sa"]
                    ], ye, [
                        ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
                        ["janv.", "f\xe9vr.", "mars", "avr.", "mai", "juin", "juill.", "ao\xfbt", "sept.", "oct.", "nov.", "d\xe9c."],
                        ["janvier", "f\xe9vrier", "mars", "avril", "mai", "juin", "juillet", "ao\xfbt", "septembre", "octobre", "novembre", "d\xe9cembre"]
                    ], ye, [
                        ["av. J.-C.", "ap. J.-C."], ye, ["avant J\xe9sus-Christ", "apr\xe8s J\xe9sus-Christ"]
                    ], 0, [6, 0],
                    ["y-MM-dd", "d MMM y", "d MMMM y", "EEEE d MMMM y"],
                    ["HH 'h' mm", "HH 'h' mm 'min' ss 's'", "HH 'h' mm 'min' ss 's' z", "HH 'h' mm 'min' ss 's' zzzz"],
                    ["{1} {0}", "{1}, {0}", "{1} '\xe0' {0}", ye],
                    [",", "\xa0", ";", "%", "+", "-", "E", "\xd7", "\u2030", "\u221e", "NaN", ":"],
                    ["#,##0.###", "#,##0\xa0%", "#,##0.00\xa0\xa4", "#E0"], "CAD", "$", "dollar canadien", {
                        AUD: ["$\xa0AU", "$"],
                        BEF: ["FB"],
                        BYN: [ye, "Br"],
                        CAD: ["$"],
                        CYP: ["\xa3CY"],
                        EGP: [ye, "\xa3E"],
                        FRF: ["F"],
                        GEL: [],
                        HKD: ["$\xa0HK", "$"],
                        IEP: ["\xa3IE"],
                        ILP: ["\xa3IL"],
                        ILS: [ye, "\u20aa"],
                        INR: [ye, "\u20b9"],
                        ITL: ["\u20a4IT"],
                        KRW: [ye, "\u20a9"],
                        LBP: [ye, "\xa3L"],
                        MTP: ["\xa3MT"],
                        MXN: [ye, "$"],
                        NZD: ["$\xa0NZ", "$"],
                        PHP: [ye, "\u20b1"],
                        RHD: ["$RH"],
                        RON: [ye, "L"],
                        RWF: [ye, "FR"],
                        SGD: ["$\xa0SG", "$"],
                        TOP: [ye, "$T"],
                        TWD: [ye, "NT$"],
                        USD: ["$\xa0US", "$"],
                        VND: [ye, "\u20ab"],
                        XAF: [],
                        XCD: [ye, "$"],
                        XOF: [],
                        XPF: []
                    }, "ltr",
                    function Ue(A) {
                        const g = Math.floor(Math.abs(A)),
                            M = A.toString().replace(/^[^.]*\.?/, "").length,
                            ne = parseInt(A.toString().replace(/^[^e]*(e([-+]?\d+))?/, "$2")) || 0;
                        return 0 === g || 1 === g ? 1 : 0 === ne && 0 !== g && g % 1e6 == 0 && 0 === M || !(ne >= 0 && ne <= 5) ? 4 : 5
                    }
                ];
            var ot = _(7340);

            function Ht(A) {
                return new r.vHH(3e3, !1)
            }

            function oo() {
                return typeof window < "u" && typeof window.document < "u"
            }

            function ga() {
                return typeof process < "u" && "[object process]" === {}.toString.call(process)
            }

            function bo(A) {
                switch (A.length) {
                    case 0:
                        return new ot.ZN;
                    case 1:
                        return A[0];
                    default:
                        return new ot.ZE(A)
                }
            }

            function Fs(A, y, g, M, ne = new Map, Ce = new Map) {
                const qe = [],
                    Ye = [];
                let wt = -1,
                    Zt = null;
                if (M.forEach(mn => {
                        const En = mn.get("offset"),
                            pr = En == wt,
                            vr = pr && Zt || new Map;
                        mn.forEach((Pn, tr) => {
                            let qr = tr,
                                ki = Pn;
                            if ("offset" !== tr) switch (qr = y.normalizePropertyName(qr, qe), ki) {
                                case ot.k1:
                                    ki = ne.get(tr);
                                    break;
                                case ot.l3:
                                    ki = Ce.get(tr);
                                    break;
                                default:
                                    ki = y.normalizeStyleValue(tr, qr, ki, qe)
                            }
                            vr.set(qr, ki)
                        }), pr || Ye.push(vr), Zt = vr, wt = En
                    }), qe.length) throw function Tr(A) {
                    return new r.vHH(3502, !1)
                }();
                return Ye
            }

            function Co(A, y, g, M) {
                switch (y) {
                    case "start":
                        A.onStart(() => M(g && ds(g, "start", A)));
                        break;
                    case "done":
                        A.onDone(() => M(g && ds(g, "done", A)));
                        break;
                    case "destroy":
                        A.onDestroy(() => M(g && ds(g, "destroy", A)))
                }
            }

            function ds(A, y, g) {
                const Ce = jo(A.element, A.triggerName, A.fromState, A.toState, y || A.phaseName, g.totalTime ? ? A.totalTime, !!g.disabled),
                    qe = A._data;
                return null != qe && (Ce._data = qe), Ce
            }

            function jo(A, y, g, M, ne = "", Ce = 0, qe) {
                return {
                    element: A,
                    triggerName: y,
                    fromState: g,
                    toState: M,
                    phaseName: ne,
                    totalTime: Ce,
                    disabled: !!qe
                }
            }

            function Ni(A, y, g) {
                let M = A.get(y);
                return M || A.set(y, M = g), M
            }

            function ii(A) {
                const y = A.indexOf(":");
                return [A.substring(1, y), A.slice(y + 1)]
            }
            let Vr = (A, y) => !1,
                ks = (A, y, g) => [],
                fs = null;

            function Ls(A) {
                const y = A.parentNode || A.host;
                return y === fs ? null : y
            }(ga() || typeof Element < "u") && (oo() ? (fs = (() => document.documentElement)(), Vr = (A, y) => {
                for (; y;) {
                    if (y === A) return !0;
                    y = Ls(y)
                }
                return !1
            }) : Vr = (A, y) => A.contains(y), ks = (A, y, g) => {
                if (g) return Array.from(A.querySelectorAll(y));
                const M = A.querySelector(y);
                return M ? [M] : []
            });
            let Bi = null,
                Xo = !1;
            const _a = Vr,
                xi = ks;
            let xo = (() => {
                    class A {
                        validateStyleProperty(g) {
                            return function oa(A) {
                                Bi || (Bi = function ps() {
                                    return typeof document < "u" ? document.body : null
                                }() || {}, Xo = !!Bi.style && "WebkitAppearance" in Bi.style);
                                let y = !0;
                                return Bi.style && ! function ia(A) {
                                    return "ebkit" == A.substring(1, 6)
                                }(A) && (y = A in Bi.style, !y && Xo && (y = "Webkit" + A.charAt(0).toUpperCase() + A.slice(1) in Bi.style)), y
                            }(g)
                        }
                        matchesElement(g, M) {
                            return !1
                        }
                        containsElement(g, M) {
                            return _a(g, M)
                        }
                        getParentElement(g) {
                            return Ls(g)
                        }
                        query(g, M, ne) {
                            return xi(g, M, ne)
                        }
                        computeStyle(g, M, ne) {
                            return ne || ""
                        }
                        animate(g, M, ne, Ce, qe, Ye = [], wt) {
                            return new ot.ZN(ne, Ce)
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)
                    }, A.\u0275prov = r.Yz7({
                        token: A,
                        factory: A.\u0275fac
                    }), A
                })(),
                $s = (() => {
                    class A {}
                    return A.NOOP = new xo, A
                })();
            const hs = "ng-enter",
                Ti = "ng-leave",
                Ri = "ng-trigger",
                So = ".ng-trigger",
                ci = "ng-animating",
                ao = ".ng-animating";

            function Oi(A) {
                if ("number" == typeof A) return A;
                const y = A.match(/^(-?[\.\d]+)(m?s)/);
                return !y || y.length < 2 ? 0 : lo(parseFloat(y[1]), y[2])
            }

            function lo(A, y) {
                return "s" === y ? 1e3 * A : A
            }

            function qn(A, y, g) {
                return A.hasOwnProperty("duration") ? A : function sa(A, y, g) {
                    let ne, Ce = 0,
                        qe = "";
                    if ("string" == typeof A) {
                        const Ye = A.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);
                        if (null === Ye) return y.push(Ht()), {
                            duration: 0,
                            delay: 0,
                            easing: ""
                        };
                        ne = lo(parseFloat(Ye[1]), Ye[2]);
                        const wt = Ye[3];
                        null != wt && (Ce = lo(parseFloat(wt), Ye[4]));
                        const Zt = Ye[5];
                        Zt && (qe = Zt)
                    } else ne = A;
                    if (!g) {
                        let Ye = !1,
                            wt = y.length;
                        ne < 0 && (y.push(function an() {
                            return new r.vHH(3100, !1)
                        }()), Ye = !0), Ce < 0 && (y.push(function Kt() {
                            return new r.vHH(3101, !1)
                        }()), Ye = !0), Ye && y.splice(wt, 0, Ht())
                    }
                    return {
                        duration: ne,
                        delay: Ce,
                        easing: qe
                    }
                }(A, y, g)
            }

            function ti(A, y = {}) {
                return Object.keys(A).forEach(g => {
                    y[g] = A[g]
                }), y
            }

            function Go(A) {
                const y = new Map;
                return Object.keys(A).forEach(g => {
                    y.set(g, A[g])
                }), y
            }

            function L(A, y = new Map, g) {
                if (g)
                    for (let [M, ne] of g) y.set(M, ne);
                for (let [M, ne] of A) y.set(M, ne);
                return y
            }

            function ee(A, y, g) {
                return g ? y + ":" + g + ";" : ""
            }

            function R(A) {
                let y = "";
                for (let g = 0; g < A.style.length; g++) {
                    const M = A.style.item(g);
                    y += ee(0, M, A.style.getPropertyValue(M))
                }
                for (const g in A.style) A.style.hasOwnProperty(g) && !g.startsWith("_") && (y += ee(0, An(g), A.style[g]));
                A.setAttribute("style", y)
            }

            function ie(A, y, g) {
                A.style && (y.forEach((M, ne) => {
                    const Ce = It(ne);
                    g && !g.has(ne) && g.set(ne, A.style[Ce]), A.style[Ce] = M
                }), ga() && R(A))
            }

            function rt(A, y) {
                A.style && (y.forEach((g, M) => {
                    const ne = It(M);
                    A.style[ne] = ""
                }), ga() && R(A))
            }

            function gt(A) {
                return Array.isArray(A) ? 1 == A.length ? A[0] : (0, ot.vP)(A) : A
            }
            const en = new RegExp("{{\\s*(.+?)\\s*}}", "g");

            function X(A) {
                let y = [];
                if ("string" == typeof A) {
                    let g;
                    for (; g = en.exec(A);) y.push(g[1]);
                    en.lastIndex = 0
                }
                return y
            }

            function Y(A, y, g) {
                const M = A.toString(),
                    ne = M.replace(en, (Ce, qe) => {
                        let Ye = y[qe];
                        return null == Ye && (g.push(function Zn(A) {
                            return new r.vHH(3003, !1)
                        }()), Ye = ""), Ye.toString()
                    });
                return ne == M ? A : ne
            }

            function H(A) {
                const y = [];
                let g = A.next();
                for (; !g.done;) y.push(g.value), g = A.next();
                return y
            }
            const Ie = /-+([a-z0-9])/g;

            function It(A) {
                return A.replace(Ie, (...y) => y[1].toUpperCase())
            }

            function An(A) {
                return A.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()
            }

            function Ci(A, y, g) {
                switch (y.type) {
                    case 7:
                        return A.visitTrigger(y, g);
                    case 0:
                        return A.visitState(y, g);
                    case 1:
                        return A.visitTransition(y, g);
                    case 2:
                        return A.visitSequence(y, g);
                    case 3:
                        return A.visitGroup(y, g);
                    case 4:
                        return A.visitAnimate(y, g);
                    case 5:
                        return A.visitKeyframes(y, g);
                    case 6:
                        return A.visitStyle(y, g);
                    case 8:
                        return A.visitReference(y, g);
                    case 9:
                        return A.visitAnimateChild(y, g);
                    case 10:
                        return A.visitAnimateRef(y, g);
                    case 11:
                        return A.visitQuery(y, g);
                    case 12:
                        return A.visitStagger(y, g);
                    default:
                        throw function Vn(A) {
                            return new r.vHH(3004, !1)
                        }()
                }
            }

            function Gi(A, y) {
                return window.getComputedStyle(A)[y]
            }

            function vc(A, y) {
                const g = [];
                return "string" == typeof A ? A.split(/\s*,\s*/).forEach(M => function Sa(A, y, g) {
                    if (":" == A[0]) {
                        const wt = function Ks(A, y) {
                            switch (A) {
                                case ":enter":
                                    return "void => *";
                                case ":leave":
                                    return "* => void";
                                case ":increment":
                                    return (g, M) => parseFloat(M) > parseFloat(g);
                                case ":decrement":
                                    return (g, M) => parseFloat(M) < parseFloat(g);
                                default:
                                    return y.push(function Tt(A) {
                                        return new r.vHH(3016, !1)
                                    }()), "* => *"
                            }
                        }(A, g);
                        if ("function" == typeof wt) return void y.push(wt);
                        A = wt
                    }
                    const M = A.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);
                    if (null == M || M.length < 4) return g.push(function Rt(A) {
                        return new r.vHH(3015, !1)
                    }()), y;
                    const ne = M[1],
                        Ce = M[2],
                        qe = M[3];
                    y.push(Gl(ne, qe));
                    "<" == Ce[0] && !("*" == ne && "*" == qe) && y.push(Gl(qe, ne))
                }(M, g, y)) : g.push(A), g
            }
            const es = new Set(["true", "1"]),
                Za = new Set(["false", "0"]);

            function Gl(A, y) {
                const g = es.has(A) || Za.has(A),
                    M = es.has(y) || Za.has(y);
                return (ne, Ce) => {
                    let qe = "*" == A || A == ne,
                        Ye = "*" == y || y == Ce;
                    return !qe && g && "boolean" == typeof ne && (qe = ne ? es.has(A) : Za.has(A)), !Ye && M && "boolean" == typeof Ce && (Ye = Ce ? es.has(y) : Za.has(y)), qe && Ye
                }
            }
            const Ys = new RegExp("s*:selfs*,?", "g");

            function Wa(A, y, g, M) {
                return new ol(A).build(y, g, M)
            }
            class ol {
                constructor(y) {
                    this._driver = y
                }
                build(y, g, M) {
                    const ne = new ts(g);
                    return this._resetContextStyleTimingState(ne), Ci(this, gt(y), ne)
                }
                _resetContextStyleTimingState(y) {
                    y.currentQuerySelector = "", y.collectedStyles = new Map, y.collectedStyles.set("", new Map), y.currentTime = 0
                }
                visitTrigger(y, g) {
                    let M = g.queryCount = 0,
                        ne = g.depCount = 0;
                    const Ce = [],
                        qe = [];
                    return "@" == y.name.charAt(0) && g.errors.push(function Dr() {
                        return new r.vHH(3006, !1)
                    }()), y.definitions.forEach(Ye => {
                        if (this._resetContextStyleTimingState(g), 0 == Ye.type) {
                            const wt = Ye,
                                Zt = wt.name;
                            Zt.toString().split(/\s*,\s*/).forEach(mn => {
                                wt.name = mn, Ce.push(this.visitState(wt, g))
                            }), wt.name = Zt
                        } else if (1 == Ye.type) {
                            const wt = this.visitTransition(Ye, g);
                            M += wt.queryCount, ne += wt.depCount, qe.push(wt)
                        } else g.errors.push(function mr() {
                            return new r.vHH(3007, !1)
                        }())
                    }), {
                        type: 7,
                        name: y.name,
                        states: Ce,
                        transitions: qe,
                        queryCount: M,
                        depCount: ne,
                        options: null
                    }
                }
                visitState(y, g) {
                    const M = this.visitStyle(y.styles, g),
                        ne = y.options && y.options.params || null;
                    if (M.containsDynamicStyles) {
                        const Ce = new Set,
                            qe = ne || {};
                        M.styles.forEach(Ye => {
                            Ye instanceof Map && Ye.forEach(wt => {
                                X(wt).forEach(Zt => {
                                    qe.hasOwnProperty(Zt) || Ce.add(Zt)
                                })
                            })
                        }), Ce.size && (H(Ce.values()), g.errors.push(function Yr(A, y) {
                            return new r.vHH(3008, !1)
                        }()))
                    }
                    return {
                        type: 0,
                        name: y.name,
                        style: M,
                        options: ne ? {
                            params: ne
                        } : null
                    }
                }
                visitTransition(y, g) {
                    g.queryCount = 0, g.depCount = 0;
                    const M = Ci(this, gt(y.animation), g);
                    return {
                        type: 1,
                        matchers: vc(y.expr, g.errors),
                        animation: M,
                        queryCount: g.queryCount,
                        depCount: g.depCount,
                        options: ui(y.options)
                    }
                }
                visitSequence(y, g) {
                    return {
                        type: 2,
                        steps: y.steps.map(M => Ci(this, M, g)),
                        options: ui(y.options)
                    }
                }
                visitGroup(y, g) {
                    const M = g.currentTime;
                    let ne = 0;
                    const Ce = y.steps.map(qe => {
                        g.currentTime = M;
                        const Ye = Ci(this, qe, g);
                        return ne = Math.max(ne, g.currentTime), Ye
                    });
                    return g.currentTime = ne, {
                        type: 3,
                        steps: Ce,
                        options: ui(y.options)
                    }
                }
                visitAnimate(y, g) {
                    const M = function ms(A, y) {
                        if (A.hasOwnProperty("duration")) return A;
                        if ("number" == typeof A) return Zl(qn(A, y).duration, 0, "");
                        const g = A;
                        if (g.split(/\s+/).some(Ce => "{" == Ce.charAt(0) && "{" == Ce.charAt(1))) {
                            const Ce = Zl(0, 0, "");
                            return Ce.dynamic = !0, Ce.strValue = g, Ce
                        }
                        const ne = qn(g, y);
                        return Zl(ne.duration, ne.delay, ne.easing)
                    }(y.timings, g.errors);
                    g.currentAnimateTimings = M;
                    let ne, Ce = y.styles ? y.styles : (0, ot.oB)({});
                    if (5 == Ce.type) ne = this.visitKeyframes(Ce, g);
                    else {
                        let qe = y.styles,
                            Ye = !1;
                        if (!qe) {
                            Ye = !0;
                            const Zt = {};
                            M.easing && (Zt.easing = M.easing), qe = (0, ot.oB)(Zt)
                        }
                        g.currentTime += M.duration + M.delay;
                        const wt = this.visitStyle(qe, g);
                        wt.isEmptyStep = Ye, ne = wt
                    }
                    return g.currentAnimateTimings = null, {
                        type: 4,
                        timings: M,
                        style: ne,
                        options: null
                    }
                }
                visitStyle(y, g) {
                    const M = this._makeStyleAst(y, g);
                    return this._validateStyleAst(M, g), M
                }
                _makeStyleAst(y, g) {
                    const M = [],
                        ne = Array.isArray(y.styles) ? y.styles : [y.styles];
                    for (let Ye of ne) "string" == typeof Ye ? Ye === ot.l3 ? M.push(Ye) : g.errors.push(new r.vHH(3002, !1)) : M.push(Go(Ye));
                    let Ce = !1,
                        qe = null;
                    return M.forEach(Ye => {
                        if (Ye instanceof Map && (Ye.has("easing") && (qe = Ye.get("easing"), Ye.delete("easing")), !Ce))
                            for (let wt of Ye.values())
                                if (wt.toString().indexOf("{{") >= 0) {
                                    Ce = !0;
                                    break
                                }
                    }), {
                        type: 6,
                        styles: M,
                        easing: qe,
                        offset: y.offset,
                        containsDynamicStyles: Ce,
                        options: null
                    }
                }
                _validateStyleAst(y, g) {
                    const M = g.currentAnimateTimings;
                    let ne = g.currentTime,
                        Ce = g.currentTime;
                    M && Ce > 0 && (Ce -= M.duration + M.delay), y.styles.forEach(qe => {
                        "string" != typeof qe && qe.forEach((Ye, wt) => {
                            const Zt = g.collectedStyles.get(g.currentQuerySelector),
                                mn = Zt.get(wt);
                            let En = !0;
                            mn && (Ce != ne && Ce >= mn.startTime && ne <= mn.endTime && (g.errors.push(function $r(A, y, g, M, ne) {
                                return new r.vHH(3010, !1)
                            }()), En = !1), Ce = mn.startTime), En && Zt.set(wt, {
                                startTime: Ce,
                                endTime: ne
                            }), g.options && function Wt(A, y, g) {
                                const M = y.params || {},
                                    ne = X(A);
                                ne.length && ne.forEach(Ce => {
                                    M.hasOwnProperty(Ce) || g.push(function yn(A) {
                                        return new r.vHH(3001, !1)
                                    }())
                                })
                            }(Ye, g.options, g.errors)
                        })
                    })
                }
                visitKeyframes(y, g) {
                    const M = {
                        type: 5,
                        styles: [],
                        options: null
                    };
                    if (!g.currentAnimateTimings) return g.errors.push(function hi() {
                        return new r.vHH(3011, !1)
                    }()), M;
                    let Ce = 0;
                    const qe = [];
                    let Ye = !1,
                        wt = !1,
                        Zt = 0;
                    const mn = y.steps.map(ki => {
                        const Ui = this._makeStyleAst(ki, g);
                        let Cs = null != Ui.offset ? Ui.offset : function ko(A) {
                                if ("string" == typeof A) return null;
                                let y = null;
                                if (Array.isArray(A)) A.forEach(g => {
                                    if (g instanceof Map && g.has("offset")) {
                                        const M = g;
                                        y = parseFloat(M.get("offset")), M.delete("offset")
                                    }
                                });
                                else if (A instanceof Map && A.has("offset")) {
                                    const g = A;
                                    y = parseFloat(g.get("offset")), g.delete("offset")
                                }
                                return y
                            }(Ui.styles),
                            xs = 0;
                        return null != Cs && (Ce++, xs = Ui.offset = Cs), wt = wt || xs < 0 || xs > 1, Ye = Ye || xs < Zt, Zt = xs, qe.push(xs), Ui
                    });
                    wt && g.errors.push(function ls() {
                        return new r.vHH(3012, !1)
                    }()), Ye && g.errors.push(function Ho() {
                        return new r.vHH(3200, !1)
                    }());
                    const En = y.steps.length;
                    let pr = 0;
                    Ce > 0 && Ce < En ? g.errors.push(function Oo() {
                        return new r.vHH(3202, !1)
                    }()) : 0 == Ce && (pr = 1 / (En - 1));
                    const vr = En - 1,
                        Pn = g.currentTime,
                        tr = g.currentAnimateTimings,
                        qr = tr.duration;
                    return mn.forEach((ki, Ui) => {
                        const Cs = pr > 0 ? Ui == vr ? 1 : pr * Ui : qe[Ui],
                            xs = Cs * qr;
                        g.currentTime = Pn + tr.delay + xs, tr.duration = xs, this._validateStyleAst(ki, g), ki.offset = Cs, M.styles.push(ki)
                    }), M
                }
                visitReference(y, g) {
                    return {
                        type: 8,
                        animation: Ci(this, gt(y.animation), g),
                        options: ui(y.options)
                    }
                }
                visitAnimateChild(y, g) {
                    return g.depCount++, {
                        type: 9,
                        options: ui(y.options)
                    }
                }
                visitAnimateRef(y, g) {
                    return {
                        type: 10,
                        animation: this.visitReference(y.animation, g),
                        options: ui(y.options)
                    }
                }
                visitQuery(y, g) {
                    const M = g.currentQuerySelector,
                        ne = y.options || {};
                    g.queryCount++, g.currentQuery = y;
                    const [Ce, qe] = function sl(A) {
                        const y = !!A.split(/\s*,\s*/).find(g => ":self" == g);
                        return y && (A = A.replace(Ys, "")), A = A.replace(/@\*/g, So).replace(/@\w+/g, g => So + "-" + g.slice(1)).replace(/:animating/g, ao), [A, y]
                    }(y.selector);
                    g.currentQuerySelector = M.length ? M + " " + Ce : Ce, Ni(g.collectedStyles, g.currentQuerySelector, new Map);
                    const Ye = Ci(this, gt(y.animation), g);
                    return g.currentQuery = null, g.currentQuerySelector = M, {
                        type: 11,
                        selector: Ce,
                        limit: ne.limit || 0,
                        optional: !!ne.optional,
                        includeSelf: qe,
                        animation: Ye,
                        originalSelector: y.selector,
                        options: ui(y.options)
                    }
                }
                visitStagger(y, g) {
                    g.currentQuery || g.errors.push(function to() {
                        return new r.vHH(3013, !1)
                    }());
                    const M = "full" === y.timings ? {
                        duration: 0,
                        delay: 0,
                        easing: "full"
                    } : qn(y.timings, g.errors, !0);
                    return {
                        type: 12,
                        animation: Ci(this, gt(y.animation), g),
                        timings: M,
                        options: null
                    }
                }
            }
            class ts {
                constructor(y) {
                    this.errors = y, this.queryCount = 0, this.depCount = 0, this.currentTransition = null, this.currentQuery = null, this.currentQuerySelector = null, this.currentAnimateTimings = null, this.currentTime = 0, this.collectedStyles = new Map, this.options = null, this.unsupportedCSSPropertiesFound = new Set
                }
            }

            function ui(A) {
                return A ? (A = ti(A)).params && (A.params = function ba(A) {
                    return A ? ti(A) : null
                }(A.params)) : A = {}, A
            }

            function Zl(A, y, g) {
                return {
                    duration: A,
                    delay: y,
                    easing: g
                }
            }

            function yc(A, y, g, M, ne, Ce, qe = null, Ye = !1) {
                return {
                    type: 1,
                    element: A,
                    keyframes: y,
                    preStyleProps: g,
                    postStyleProps: M,
                    duration: ne,
                    delay: Ce,
                    totalTime: ne + Ce,
                    easing: qe,
                    subTimeline: Ye
                }
            }
            class al {
                constructor() {
                    this._map = new Map
                }
                get(y) {
                    return this._map.get(y) || []
                }
                append(y, g) {
                    let M = this._map.get(y);
                    M || this._map.set(y, M = []), M.push(...g)
                }
                has(y) {
                    return this._map.has(y)
                }
                clear() {
                    this._map.clear()
                }
            }
            const Jt = new RegExp(":enter", "g"),
                Sn = new RegExp(":leave", "g");

            function ir(A, y, g, M, ne, Ce = new Map, qe = new Map, Ye, wt, Zt = []) {
                return (new ni).buildKeyframes(A, y, g, M, ne, Ce, qe, Ye, wt, Zt)
            }
            class ni {
                buildKeyframes(y, g, M, ne, Ce, qe, Ye, wt, Zt, mn = []) {
                    Zt = Zt || new al;
                    const En = new wi(y, g, Zt, ne, Ce, mn, []);
                    En.options = wt;
                    const pr = wt.delay ? Oi(wt.delay) : 0;
                    En.currentTimeline.delayNextStep(pr), En.currentTimeline.setStyles([qe], null, En.errors, wt), Ci(this, M, En);
                    const vr = En.timelines.filter(Pn => Pn.containsAnimation());
                    if (vr.length && Ye.size) {
                        let Pn;
                        for (let tr = vr.length - 1; tr >= 0; tr--) {
                            const qr = vr[tr];
                            if (qr.element === g) {
                                Pn = qr;
                                break
                            }
                        }
                        Pn && !Pn.allowOnlyTimelineStyles() && Pn.setStyles([Ye], null, En.errors, wt)
                    }
                    return vr.length ? vr.map(Pn => Pn.buildKeyframes()) : [yc(g, [], [], [], 0, pr, "", !1)]
                }
                visitTrigger(y, g) {}
                visitState(y, g) {}
                visitTransition(y, g) {}
                visitAnimateChild(y, g) {
                    const M = g.subInstructions.get(g.element);
                    if (M) {
                        const ne = g.createSubContext(y.options),
                            Ce = g.currentTimeline.currentTime,
                            qe = this._visitSubInstructions(M, ne, ne.options);
                        Ce != qe && g.transformIntoNewTimeline(qe)
                    }
                    g.previousNode = y
                }
                visitAnimateRef(y, g) {
                    const M = g.createSubContext(y.options);
                    M.transformIntoNewTimeline(), this._applyAnimationRefDelays([y.options, y.animation.options], g, M), this.visitReference(y.animation, M), g.transformIntoNewTimeline(M.currentTimeline.currentTime), g.previousNode = y
                }
                _applyAnimationRefDelays(y, g, M) {
                    for (const ne of y) {
                        const Ce = ne ? .delay;
                        if (Ce) {
                            const qe = "number" == typeof Ce ? Ce : Oi(Y(Ce, ne ? .params ? ? {}, g.errors));
                            M.delayNextStep(qe)
                        }
                    }
                }
                _visitSubInstructions(y, g, M) {
                    let Ce = g.currentTimeline.currentTime;
                    const qe = null != M.duration ? Oi(M.duration) : null,
                        Ye = null != M.delay ? Oi(M.delay) : null;
                    return 0 !== qe && y.forEach(wt => {
                        const Zt = g.appendInstructionToTimeline(wt, qe, Ye);
                        Ce = Math.max(Ce, Zt.duration + Zt.delay)
                    }), Ce
                }
                visitReference(y, g) {
                    g.updateOptions(y.options, !0), Ci(this, y.animation, g), g.previousNode = y
                }
                visitSequence(y, g) {
                    const M = g.subContextCount;
                    let ne = g;
                    const Ce = y.options;
                    if (Ce && (Ce.params || Ce.delay) && (ne = g.createSubContext(Ce), ne.transformIntoNewTimeline(), null != Ce.delay)) {
                        6 == ne.previousNode.type && (ne.currentTimeline.snapshotCurrentStyles(), ne.previousNode = Qi);
                        const qe = Oi(Ce.delay);
                        ne.delayNextStep(qe)
                    }
                    y.steps.length && (y.steps.forEach(qe => Ci(this, qe, ne)), ne.currentTimeline.applyStylesToKeyframe(), ne.subContextCount > M && ne.transformIntoNewTimeline()), g.previousNode = y
                }
                visitGroup(y, g) {
                    const M = [];
                    let ne = g.currentTimeline.currentTime;
                    const Ce = y.options && y.options.delay ? Oi(y.options.delay) : 0;
                    y.steps.forEach(qe => {
                        const Ye = g.createSubContext(y.options);
                        Ce && Ye.delayNextStep(Ce), Ci(this, qe, Ye), ne = Math.max(ne, Ye.currentTimeline.currentTime), M.push(Ye.currentTimeline)
                    }), M.forEach(qe => g.currentTimeline.mergeTimelineCollectedStyles(qe)), g.transformIntoNewTimeline(ne), g.previousNode = y
                }
                _visitTiming(y, g) {
                    if (y.dynamic) {
                        const M = y.strValue;
                        return qn(g.params ? Y(M, g.params, g.errors) : M, g.errors)
                    }
                    return {
                        duration: y.duration,
                        delay: y.delay,
                        easing: y.easing
                    }
                }
                visitAnimate(y, g) {
                    const M = g.currentAnimateTimings = this._visitTiming(y.timings, g),
                        ne = g.currentTimeline;
                    M.delay && (g.incrementTime(M.delay), ne.snapshotCurrentStyles());
                    const Ce = y.style;
                    5 == Ce.type ? this.visitKeyframes(Ce, g) : (g.incrementTime(M.duration), this.visitStyle(Ce, g), ne.applyStylesToKeyframe()), g.currentAnimateTimings = null, g.previousNode = y
                }
                visitStyle(y, g) {
                    const M = g.currentTimeline,
                        ne = g.currentAnimateTimings;
                    !ne && M.hasCurrentStyleProperties() && M.forwardFrame();
                    const Ce = ne && ne.easing || y.easing;
                    y.isEmptyStep ? M.applyEmptyStep(Ce) : M.setStyles(y.styles, Ce, g.errors, g.options), g.previousNode = y
                }
                visitKeyframes(y, g) {
                    const M = g.currentAnimateTimings,
                        ne = g.currentTimeline.duration,
                        Ce = M.duration,
                        Ye = g.createSubContext().currentTimeline;
                    Ye.easing = M.easing, y.styles.forEach(wt => {
                        Ye.forwardTime((wt.offset || 0) * Ce), Ye.setStyles(wt.styles, wt.easing, g.errors, g.options), Ye.applyStylesToKeyframe()
                    }), g.currentTimeline.mergeTimelineCollectedStyles(Ye), g.transformIntoNewTimeline(ne + Ce), g.previousNode = y
                }
                visitQuery(y, g) {
                    const M = g.currentTimeline.currentTime,
                        ne = y.options || {},
                        Ce = ne.delay ? Oi(ne.delay) : 0;
                    Ce && (6 === g.previousNode.type || 0 == M && g.currentTimeline.hasCurrentStyleProperties()) && (g.currentTimeline.snapshotCurrentStyles(), g.previousNode = Qi);
                    let qe = M;
                    const Ye = g.invokeQuery(y.selector, y.originalSelector, y.limit, y.includeSelf, !!ne.optional, g.errors);
                    g.currentQueryTotal = Ye.length;
                    let wt = null;
                    Ye.forEach((Zt, mn) => {
                        g.currentQueryIndex = mn;
                        const En = g.createSubContext(y.options, Zt);
                        Ce && En.delayNextStep(Ce), Zt === g.element && (wt = En.currentTimeline), Ci(this, y.animation, En), En.currentTimeline.applyStylesToKeyframe(), qe = Math.max(qe, En.currentTimeline.currentTime)
                    }), g.currentQueryIndex = 0, g.currentQueryTotal = 0, g.transformIntoNewTimeline(qe), wt && (g.currentTimeline.mergeTimelineCollectedStyles(wt), g.currentTimeline.snapshotCurrentStyles()), g.previousNode = y
                }
                visitStagger(y, g) {
                    const M = g.parentContext,
                        ne = g.currentTimeline,
                        Ce = y.timings,
                        qe = Math.abs(Ce.duration),
                        Ye = qe * (g.currentQueryTotal - 1);
                    let wt = qe * g.currentQueryIndex;
                    switch (Ce.duration < 0 ? "reverse" : Ce.easing) {
                        case "reverse":
                            wt = Ye - wt;
                            break;
                        case "full":
                            wt = M.currentStaggerTime
                    }
                    const mn = g.currentTimeline;
                    wt && mn.delayNextStep(wt);
                    const En = mn.currentTime;
                    Ci(this, y.animation, g), g.previousNode = y, M.currentStaggerTime = ne.currentTime - En + (ne.startTime - M.currentTimeline.startTime)
                }
            }
            const Qi = {};
            class wi {
                constructor(y, g, M, ne, Ce, qe, Ye, wt) {
                    this._driver = y, this.element = g, this.subInstructions = M, this._enterClassName = ne, this._leaveClassName = Ce, this.errors = qe, this.timelines = Ye, this.parentContext = null, this.currentAnimateTimings = null, this.previousNode = Qi, this.subContextCount = 0, this.options = {}, this.currentQueryIndex = 0, this.currentQueryTotal = 0, this.currentStaggerTime = 0, this.currentTimeline = wt || new Os(this._driver, g, 0), Ye.push(this.currentTimeline)
                }
                get params() {
                    return this.options.params
                }
                updateOptions(y, g) {
                    if (!y) return;
                    const M = y;
                    let ne = this.options;
                    null != M.duration && (ne.duration = Oi(M.duration)), null != M.delay && (ne.delay = Oi(M.delay));
                    const Ce = M.params;
                    if (Ce) {
                        let qe = ne.params;
                        qe || (qe = this.options.params = {}), Object.keys(Ce).forEach(Ye => {
                            (!g || !qe.hasOwnProperty(Ye)) && (qe[Ye] = Y(Ce[Ye], qe, this.errors))
                        })
                    }
                }
                _copyOptions() {
                    const y = {};
                    if (this.options) {
                        const g = this.options.params;
                        if (g) {
                            const M = y.params = {};
                            Object.keys(g).forEach(ne => {
                                M[ne] = g[ne]
                            })
                        }
                    }
                    return y
                }
                createSubContext(y = null, g, M) {
                    const ne = g || this.element,
                        Ce = new wi(this._driver, ne, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(ne, M || 0));
                    return Ce.previousNode = this.previousNode, Ce.currentAnimateTimings = this.currentAnimateTimings, Ce.options = this._copyOptions(), Ce.updateOptions(y), Ce.currentQueryIndex = this.currentQueryIndex, Ce.currentQueryTotal = this.currentQueryTotal, Ce.parentContext = this, this.subContextCount++, Ce
                }
                transformIntoNewTimeline(y) {
                    return this.previousNode = Qi, this.currentTimeline = this.currentTimeline.fork(this.element, y), this.timelines.push(this.currentTimeline), this.currentTimeline
                }
                appendInstructionToTimeline(y, g, M) {
                    const ne = {
                            duration: g ? ? y.duration,
                            delay: this.currentTimeline.currentTime + (M ? ? 0) + y.delay,
                            easing: ""
                        },
                        Ce = new ll(this._driver, y.element, y.keyframes, y.preStyleProps, y.postStyleProps, ne, y.stretchStartingKeyframe);
                    return this.timelines.push(Ce), ne
                }
                incrementTime(y) {
                    this.currentTimeline.forwardTime(this.currentTimeline.duration + y)
                }
                delayNextStep(y) {
                    y > 0 && this.currentTimeline.delayNextStep(y)
                }
                invokeQuery(y, g, M, ne, Ce, qe) {
                    let Ye = [];
                    if (ne && Ye.push(this.element), y.length > 0) {
                        y = (y = y.replace(Jt, "." + this._enterClassName)).replace(Sn, "." + this._leaveClassName);
                        let Zt = this._driver.query(this.element, y, 1 != M);
                        0 !== M && (Zt = M < 0 ? Zt.slice(Zt.length + M, Zt.length) : Zt.slice(0, M)), Ye.push(...Zt)
                    }
                    return !Ce && 0 == Ye.length && qe.push(function it(A) {
                        return new r.vHH(3014, !1)
                    }()), Ye
                }
            }
            class Os {
                constructor(y, g, M, ne) {
                    this._driver = y, this.element = g, this.startTime = M, this._elementTimelineStylesLookup = ne, this.duration = 0, this._previousKeyframe = new Map, this._currentKeyframe = new Map, this._keyframes = new Map, this._styleSummary = new Map, this._localTimelineStyles = new Map, this._pendingStyles = new Map, this._backFill = new Map, this._currentEmptyStepKeyframe = null, this._elementTimelineStylesLookup || (this._elementTimelineStylesLookup = new Map), this._globalTimelineStyles = this._elementTimelineStylesLookup.get(g), this._globalTimelineStyles || (this._globalTimelineStyles = this._localTimelineStyles, this._elementTimelineStylesLookup.set(g, this._localTimelineStyles)), this._loadKeyframe()
                }
                containsAnimation() {
                    switch (this._keyframes.size) {
                        case 0:
                            return !1;
                        case 1:
                            return this.hasCurrentStyleProperties();
                        default:
                            return !0
                    }
                }
                hasCurrentStyleProperties() {
                    return this._currentKeyframe.size > 0
                }
                get currentTime() {
                    return this.startTime + this.duration
                }
                delayNextStep(y) {
                    const g = 1 === this._keyframes.size && this._pendingStyles.size;
                    this.duration || g ? (this.forwardTime(this.currentTime + y), g && this.snapshotCurrentStyles()) : this.startTime += y
                }
                fork(y, g) {
                    return this.applyStylesToKeyframe(), new Os(this._driver, y, g || this.currentTime, this._elementTimelineStylesLookup)
                }
                _loadKeyframe() {
                    this._currentKeyframe && (this._previousKeyframe = this._currentKeyframe), this._currentKeyframe = this._keyframes.get(this.duration), this._currentKeyframe || (this._currentKeyframe = new Map, this._keyframes.set(this.duration, this._currentKeyframe))
                }
                forwardFrame() {
                    this.duration += 1, this._loadKeyframe()
                }
                forwardTime(y) {
                    this.applyStylesToKeyframe(), this.duration = y, this._loadKeyframe()
                }
                _updateStyle(y, g) {
                    this._localTimelineStyles.set(y, g), this._globalTimelineStyles.set(y, g), this._styleSummary.set(y, {
                        time: this.currentTime,
                        value: g
                    })
                }
                allowOnlyTimelineStyles() {
                    return this._currentEmptyStepKeyframe !== this._currentKeyframe
                }
                applyEmptyStep(y) {
                    y && this._previousKeyframe.set("easing", y);
                    for (let [g, M] of this._globalTimelineStyles) this._backFill.set(g, M || ot.l3), this._currentKeyframe.set(g, ot.l3);
                    this._currentEmptyStepKeyframe = this._currentKeyframe
                }
                setStyles(y, g, M, ne) {
                    g && this._previousKeyframe.set("easing", g);
                    const Ce = ne && ne.params || {},
                        qe = function Dl(A, y) {
                            const g = new Map;
                            let M;
                            return A.forEach(ne => {
                                if ("*" === ne) {
                                    M = M || y.keys();
                                    for (let Ce of M) g.set(Ce, ot.l3)
                                } else L(ne, g)
                            }), g
                        }(y, this._globalTimelineStyles);
                    for (let [Ye, wt] of qe) {
                        const Zt = Y(wt, Ce, M);
                        this._pendingStyles.set(Ye, Zt), this._localTimelineStyles.has(Ye) || this._backFill.set(Ye, this._globalTimelineStyles.get(Ye) ? ? ot.l3), this._updateStyle(Ye, Zt)
                    }
                }
                applyStylesToKeyframe() {
                    0 != this._pendingStyles.size && (this._pendingStyles.forEach((y, g) => {
                        this._currentKeyframe.set(g, y)
                    }), this._pendingStyles.clear(), this._localTimelineStyles.forEach((y, g) => {
                        this._currentKeyframe.has(g) || this._currentKeyframe.set(g, y)
                    }))
                }
                snapshotCurrentStyles() {
                    for (let [y, g] of this._localTimelineStyles) this._pendingStyles.set(y, g), this._updateStyle(y, g)
                }
                getFinalKeyframe() {
                    return this._keyframes.get(this.duration)
                }
                get properties() {
                    const y = [];
                    for (let g in this._currentKeyframe) y.push(g);
                    return y
                }
                mergeTimelineCollectedStyles(y) {
                    y._styleSummary.forEach((g, M) => {
                        const ne = this._styleSummary.get(M);
                        (!ne || g.time > ne.time) && this._updateStyle(M, g.value)
                    })
                }
                buildKeyframes() {
                    this.applyStylesToKeyframe();
                    const y = new Set,
                        g = new Set,
                        M = 1 === this._keyframes.size && 0 === this.duration;
                    let ne = [];
                    this._keyframes.forEach((Ye, wt) => {
                        const Zt = L(Ye, new Map, this._backFill);
                        Zt.forEach((mn, En) => {
                            mn === ot.k1 ? y.add(En) : mn === ot.l3 && g.add(En)
                        }), M || Zt.set("offset", wt / this.duration), ne.push(Zt)
                    });
                    const Ce = y.size ? H(y.values()) : [],
                        qe = g.size ? H(g.values()) : [];
                    if (M) {
                        const Ye = ne[0],
                            wt = new Map(Ye);
                        Ye.set("offset", 0), wt.set("offset", 1), ne = [Ye, wt]
                    }
                    return yc(this.element, ne, Ce, qe, this.duration, this.startTime, this.easing, !1)
                }
            }
            class ll extends Os {
                constructor(y, g, M, ne, Ce, qe, Ye = !1) {
                    super(y, g, qe.delay), this.keyframes = M, this.preStyleProps = ne, this.postStyleProps = Ce, this._stretchStartingKeyframe = Ye, this.timings = {
                        duration: qe.duration,
                        delay: qe.delay,
                        easing: qe.easing
                    }
                }
                containsAnimation() {
                    return this.keyframes.length > 1
                }
                buildKeyframes() {
                    let y = this.keyframes,
                        {
                            delay: g,
                            duration: M,
                            easing: ne
                        } = this.timings;
                    if (this._stretchStartingKeyframe && g) {
                        const Ce = [],
                            qe = M + g,
                            Ye = g / qe,
                            wt = L(y[0]);
                        wt.set("offset", 0), Ce.push(wt);
                        const Zt = L(y[0]);
                        Zt.set("offset", As(Ye)), Ce.push(Zt);
                        const mn = y.length - 1;
                        for (let En = 1; En <= mn; En++) {
                            let pr = L(y[En]);
                            const vr = pr.get("offset");
                            pr.set("offset", As((g + vr * M) / qe)), Ce.push(pr)
                        }
                        M = qe, g = 0, ne = "", y = Ce
                    }
                    return yc(this.element, y, this.preStyleProps, this.postStyleProps, M, g, ne, !0)
                }
            }

            function As(A, y = 3) {
                const g = Math.pow(10, y - 1);
                return Math.round(A * g) / g
            }
            class Bs {}
            const j = new Set(["width", "height", "minWidth", "minHeight", "maxWidth", "maxHeight", "left", "top", "bottom", "right", "fontSize", "outlineWidth", "outlineOffset", "paddingTop", "paddingLeft", "paddingBottom", "paddingRight", "marginTop", "marginLeft", "marginBottom", "marginRight", "borderRadius", "borderWidth", "borderTopWidth", "borderLeftWidth", "borderRightWidth", "borderBottomWidth", "textIndent", "perspective"]);
            class de extends Bs {
                normalizePropertyName(y, g) {
                    return It(y)
                }
                normalizeStyleValue(y, g, M, ne) {
                    let Ce = "";
                    const qe = M.toString().trim();
                    if (j.has(g) && 0 !== M && "0" !== M)
                        if ("number" == typeof M) Ce = "px";
                        else {
                            const Ye = M.match(/^[+-]?[\d\.]+([a-z]*)$/);
                            Ye && 0 == Ye[1].length && ne.push(function Ur(A, y) {
                                return new r.vHH(3005, !1)
                            }())
                        }
                    return qe + Ce
                }
            }

            function q(A, y, g, M, ne, Ce, qe, Ye, wt, Zt, mn, En, pr) {
                return {
                    type: 0,
                    element: A,
                    triggerName: y,
                    isRemovalTransition: ne,
                    fromState: g,
                    fromStyles: Ce,
                    toState: M,
                    toStyles: qe,
                    timelines: Ye,
                    queriedElements: wt,
                    preStyleProps: Zt,
                    postStyleProps: mn,
                    totalTime: En,
                    errors: pr
                }
            }
            const Oe = {};
            class pt {
                constructor(y, g, M) {
                    this._triggerName = y, this.ast = g, this._stateStyles = M
                }
                match(y, g, M, ne) {
                    return function nn(A, y, g, M, ne) {
                        return A.some(Ce => Ce(y, g, M, ne))
                    }(this.ast.matchers, y, g, M, ne)
                }
                buildStyles(y, g, M) {
                    let ne = this._stateStyles.get("*");
                    return void 0 !== y && (ne = this._stateStyles.get(y ? .toString()) || ne), ne ? ne.buildStyles(g, M) : new Map
                }
                build(y, g, M, ne, Ce, qe, Ye, wt, Zt, mn) {
                    const En = [],
                        pr = this.ast.options && this.ast.options.params || Oe,
                        Pn = this.buildStyles(M, Ye && Ye.params || Oe, En),
                        tr = wt && wt.params || Oe,
                        qr = this.buildStyles(ne, tr, En),
                        ki = new Set,
                        Ui = new Map,
                        Cs = new Map,
                        xs = "void" === ne,
                        os = {
                            params: Gn(tr, pr),
                            delay: this.ast.options ? .delay
                        },
                        oi = mn ? [] : ir(y, g, this.ast.animation, Ce, qe, Pn, qr, os, Zt, En);
                    let Bo = 0;
                    if (oi.forEach(qi => {
                            Bo = Math.max(qi.duration + qi.delay, Bo)
                        }), En.length) return q(g, this._triggerName, M, ne, xs, Pn, qr, [], [], Ui, Cs, Bo, En);
                    oi.forEach(qi => {
                        const Ba = qi.element,
                            Nu = Ni(Ui, Ba, new Set);
                        qi.preStyleProps.forEach(da => Nu.add(da));
                        const Qa = Ni(Cs, Ba, new Set);
                        qi.postStyleProps.forEach(da => Qa.add(da)), Ba !== g && ki.add(Ba)
                    });
                    const Eo = H(ki.values());
                    return q(g, this._triggerName, M, ne, xs, Pn, qr, oi, Eo, Ui, Cs, Bo)
                }
            }

            function Gn(A, y) {
                const g = ti(y);
                for (const M in A) A.hasOwnProperty(M) && null != A[M] && (g[M] = A[M]);
                return g
            }
            class Zr {
                constructor(y, g, M) {
                    this.styles = y, this.defaultParams = g, this.normalizer = M
                }
                buildStyles(y, g) {
                    const M = new Map,
                        ne = ti(this.defaultParams);
                    return Object.keys(y).forEach(Ce => {
                        const qe = y[Ce];
                        null !== qe && (ne[Ce] = qe)
                    }), this.styles.styles.forEach(Ce => {
                        "string" != typeof Ce && Ce.forEach((qe, Ye) => {
                            qe && (qe = Y(qe, ne, g));
                            const wt = this.normalizer.normalizePropertyName(Ye, g);
                            qe = this.normalizer.normalizeStyleValue(Ye, wt, qe, g), M.set(wt, qe)
                        })
                    }), M
                }
            }
            class Hr {
                constructor(y, g, M) {
                    this.name = y, this.ast = g, this._normalizer = M, this.transitionFactories = [], this.states = new Map, g.states.forEach(ne => {
                        this.states.set(ne.name, new Zr(ne.style, ne.options && ne.options.params || {}, M))
                    }), Ai(this.states, "true", "1"), Ai(this.states, "false", "0"), g.transitions.forEach(ne => {
                        this.transitionFactories.push(new pt(y, ne, this.states))
                    }), this.fallbackTransition = function Sr(A, y, g) {
                        return new pt(A, {
                            type: 1,
                            animation: {
                                type: 2,
                                steps: [],
                                options: null
                            },
                            matchers: [(qe, Ye) => !0],
                            options: null,
                            queryCount: 0,
                            depCount: 0
                        }, y)
                    }(y, this.states)
                }
                get containsQueries() {
                    return this.ast.queryCount > 0
                }
                matchTransition(y, g, M, ne) {
                    return this.transitionFactories.find(qe => qe.match(y, g, M, ne)) || null
                }
                matchStyles(y, g, M) {
                    return this.fallbackTransition.buildStyles(y, g, M)
                }
            }

            function Ai(A, y, g) {
                A.has(y) ? A.has(g) || A.set(g, A.get(y)) : A.has(g) && A.set(y, A.get(g))
            }
            const ri = new al;
            class co {
                constructor(y, g, M) {
                    this.bodyNode = y, this._driver = g, this._normalizer = M, this._animations = new Map, this._playersById = new Map, this.players = []
                }
                register(y, g) {
                    const M = [],
                        Ce = Wa(this._driver, g, M, []);
                    if (M.length) throw function li(A) {
                        return new r.vHH(3503, !1)
                    }();
                    this._animations.set(y, Ce)
                }
                _buildPlayer(y, g, M) {
                    const ne = y.element,
                        Ce = Fs(0, this._normalizer, 0, y.keyframes, g, M);
                    return this._driver.animate(ne, Ce, y.duration, y.delay, y.easing, [], !0)
                }
                create(y, g, M = {}) {
                    const ne = [],
                        Ce = this._animations.get(y);
                    let qe;
                    const Ye = new Map;
                    if (Ce ? (qe = ir(this._driver, g, Ce, hs, Ti, new Map, new Map, M, ri, ne), qe.forEach(mn => {
                            const En = Ni(Ye, mn.element, new Map);
                            mn.postStyleProps.forEach(pr => En.set(pr, null))
                        })) : (ne.push(function mi() {
                            return new r.vHH(3300, !1)
                        }()), qe = []), ne.length) throw function Ki(A) {
                        return new r.vHH(3504, !1)
                    }();
                    Ye.forEach((mn, En) => {
                        mn.forEach((pr, vr) => {
                            mn.set(vr, this._driver.computeStyle(En, vr, ot.l3))
                        })
                    });
                    const Zt = bo(qe.map(mn => {
                        const En = Ye.get(mn.element);
                        return this._buildPlayer(mn, new Map, En)
                    }));
                    return this._playersById.set(y, Zt), Zt.onDestroy(() => this.destroy(y)), this.players.push(Zt), Zt
                }
                destroy(y) {
                    const g = this._getPlayer(y);
                    g.destroy(), this._playersById.delete(y);
                    const M = this.players.indexOf(g);
                    M >= 0 && this.players.splice(M, 1)
                }
                _getPlayer(y) {
                    const g = this._playersById.get(y);
                    if (!g) throw function Gr(A) {
                        return new r.vHH(3301, !1)
                    }();
                    return g
                }
                listen(y, g, M, ne) {
                    const Ce = jo(g, "", "", "");
                    return Co(this._getPlayer(y), M, Ce, ne), () => {}
                }
                command(y, g, M, ne) {
                    if ("register" == M) return void this.register(y, ne[0]);
                    if ("create" == M) return void this.create(y, g, ne[0] || {});
                    const Ce = this._getPlayer(y);
                    switch (M) {
                        case "play":
                            Ce.play();
                            break;
                        case "pause":
                            Ce.pause();
                            break;
                        case "reset":
                            Ce.reset();
                            break;
                        case "restart":
                            Ce.restart();
                            break;
                        case "finish":
                            Ce.finish();
                            break;
                        case "init":
                            Ce.init();
                            break;
                        case "setPosition":
                            Ce.setPosition(parseFloat(ne[0]));
                            break;
                        case "destroy":
                            this.destroy(y)
                    }
                }
            }
            const Lo = "ng-animate-queued",
                Wo = "ng-animate-disabled",
                Ol = [],
                cl = {
                    namespaceId: "",
                    setForRemoval: !1,
                    setForMove: !1,
                    hasAnimation: !1,
                    removedBeforeQueried: !1
                },
                Al = {
                    namespaceId: "",
                    setForMove: !1,
                    setForRemoval: !1,
                    hasAnimation: !1,
                    removedBeforeQueried: !0
                },
                uo = "__ng_removed";
            class Kl {
                constructor(y, g = "") {
                    this.namespaceId = g;
                    const M = y && y.hasOwnProperty("value");
                    if (this.value = function ul(A) {
                            return A ? ? null
                        }(M ? y.value : y), M) {
                        const Ce = ti(y);
                        delete Ce.value, this.options = Ce
                    } else this.options = {};
                    this.options.params || (this.options.params = {})
                }
                get params() {
                    return this.options.params
                }
                absorbOptions(y) {
                    const g = y.params;
                    if (g) {
                        const M = this.options.params;
                        Object.keys(g).forEach(ne => {
                            null == M[ne] && (M[ne] = g[ne])
                        })
                    }
                }
            }
            const Ia = "void",
                bc = new Kl(Ia);
            class Cc {
                constructor(y, g, M) {
                    this.id = y, this.hostElement = g, this._engine = M, this.players = [], this._triggers = new Map, this._queue = [], this._elementListeners = new Map, this._hostClassName = "ng-tns-" + y, zo(g, this._hostClassName)
                }
                listen(y, g, M, ne) {
                    if (!this._triggers.has(g)) throw function ei(A, y) {
                        return new r.vHH(3302, !1)
                    }();
                    if (null == M || 0 == M.length) throw function Ao(A) {
                        return new r.vHH(3303, !1)
                    }();
                    if (! function Yl(A) {
                            return "start" == A || "done" == A
                        }(M)) throw function cs(A, y) {
                        return new r.vHH(3400, !1)
                    }();
                    const Ce = Ni(this._elementListeners, y, []),
                        qe = {
                            name: g,
                            phase: M,
                            callback: ne
                        };
                    Ce.push(qe);
                    const Ye = Ni(this._engine.statesByElement, y, new Map);
                    return Ye.has(g) || (zo(y, Ri), zo(y, Ri + "-" + g), Ye.set(g, bc)), () => {
                        this._engine.afterFlush(() => {
                            const wt = Ce.indexOf(qe);
                            wt >= 0 && Ce.splice(wt, 1), this._triggers.has(g) || Ye.delete(g)
                        })
                    }
                }
                register(y, g) {
                    return !this._triggers.has(y) && (this._triggers.set(y, g), !0)
                }
                _getTrigger(y) {
                    const g = this._triggers.get(y);
                    if (!g) throw function Qo(A) {
                        return new r.vHH(3401, !1)
                    }();
                    return g
                }
                trigger(y, g, M, ne = !0) {
                    const Ce = this._getTrigger(g),
                        qe = new wo(this.id, g, y);
                    let Ye = this._engine.statesByElement.get(y);
                    Ye || (zo(y, Ri), zo(y, Ri + "-" + g), this._engine.statesByElement.set(y, Ye = new Map));
                    let wt = Ye.get(g);
                    const Zt = new Kl(M, this.id);
                    if (!(M && M.hasOwnProperty("value")) && wt && Zt.absorbOptions(wt.options), Ye.set(g, Zt), wt || (wt = bc), Zt.value !== Ia && wt.value === Zt.value) {
                        if (! function qs(A, y) {
                                const g = Object.keys(A),
                                    M = Object.keys(y);
                                if (g.length != M.length) return !1;
                                for (let ne = 0; ne < g.length; ne++) {
                                    const Ce = g[ne];
                                    if (!y.hasOwnProperty(Ce) || A[Ce] !== y[Ce]) return !1
                                }
                                return !0
                            }(wt.params, Zt.params)) {
                            const tr = [],
                                qr = Ce.matchStyles(wt.value, wt.params, tr),
                                ki = Ce.matchStyles(Zt.value, Zt.params, tr);
                            tr.length ? this._engine.reportError(tr) : this._engine.afterFlush(() => {
                                rt(y, qr), ie(y, ki)
                            })
                        }
                        return
                    }
                    const pr = Ni(this._engine.playersByElement, y, []);
                    pr.forEach(tr => {
                        tr.namespaceId == this.id && tr.triggerName == g && tr.queued && tr.destroy()
                    });
                    let vr = Ce.matchTransition(wt.value, Zt.value, y, Zt.params),
                        Pn = !1;
                    if (!vr) {
                        if (!ne) return;
                        vr = Ce.fallbackTransition, Pn = !0
                    }
                    return this._engine.totalQueuedPlayers++, this._queue.push({
                        element: y,
                        triggerName: g,
                        transition: vr,
                        fromState: wt,
                        toState: Zt,
                        player: qe,
                        isFallbackTransition: Pn
                    }), Pn || (zo(y, Lo), qe.onStart(() => {
                        Ms(y, Lo)
                    })), qe.onDone(() => {
                        let tr = this.players.indexOf(qe);
                        tr >= 0 && this.players.splice(tr, 1);
                        const qr = this._engine.playersByElement.get(y);
                        if (qr) {
                            let ki = qr.indexOf(qe);
                            ki >= 0 && qr.splice(ki, 1)
                        }
                    }), this.players.push(qe), pr.push(qe), qe
                }
                deregister(y) {
                    this._triggers.delete(y), this._engine.statesByElement.forEach(g => g.delete(y)), this._elementListeners.forEach((g, M) => {
                        this._elementListeners.set(M, g.filter(ne => ne.name != y))
                    })
                }
                clearElementCache(y) {
                    this._engine.statesByElement.delete(y), this._elementListeners.delete(y);
                    const g = this._engine.playersByElement.get(y);
                    g && (g.forEach(M => M.destroy()), this._engine.playersByElement.delete(y))
                }
                _signalRemovalForInnerTriggers(y, g) {
                    const M = this._engine.driver.query(y, So, !0);
                    M.forEach(ne => {
                        if (ne[uo]) return;
                        const Ce = this._engine.fetchNamespacesByElement(ne);
                        Ce.size ? Ce.forEach(qe => qe.triggerLeaveAnimation(ne, g, !1, !0)) : this.clearElementCache(ne)
                    }), this._engine.afterFlushAnimationsDone(() => M.forEach(ne => this.clearElementCache(ne)))
                }
                triggerLeaveAnimation(y, g, M, ne) {
                    const Ce = this._engine.statesByElement.get(y),
                        qe = new Map;
                    if (Ce) {
                        const Ye = [];
                        if (Ce.forEach((wt, Zt) => {
                                if (qe.set(Zt, wt.value), this._triggers.has(Zt)) {
                                    const mn = this.trigger(y, Zt, Ia, ne);
                                    mn && Ye.push(mn)
                                }
                            }), Ye.length) return this._engine.markElementAsRemoved(this.id, y, !0, g, qe), M && bo(Ye).onDone(() => this._engine.processLeaveNode(y)), !0
                    }
                    return !1
                }
                prepareLeaveAnimationListeners(y) {
                    const g = this._elementListeners.get(y),
                        M = this._engine.statesByElement.get(y);
                    if (g && M) {
                        const ne = new Set;
                        g.forEach(Ce => {
                            const qe = Ce.name;
                            if (ne.has(qe)) return;
                            ne.add(qe);
                            const wt = this._triggers.get(qe).fallbackTransition,
                                Zt = M.get(qe) || bc,
                                mn = new Kl(Ia),
                                En = new wo(this.id, qe, y);
                            this._engine.totalQueuedPlayers++, this._queue.push({
                                element: y,
                                triggerName: qe,
                                transition: wt,
                                fromState: Zt,
                                toState: mn,
                                player: En,
                                isFallbackTransition: !0
                            })
                        })
                    }
                }
                removeNode(y, g) {
                    const M = this._engine;
                    if (y.childElementCount && this._signalRemovalForInnerTriggers(y, g), this.triggerLeaveAnimation(y, g, !0)) return;
                    let ne = !1;
                    if (M.totalAnimations) {
                        const Ce = M.players.length ? M.playersByQueriedElement.get(y) : [];
                        if (Ce && Ce.length) ne = !0;
                        else {
                            let qe = y;
                            for (; qe = qe.parentNode;)
                                if (M.statesByElement.get(qe)) {
                                    ne = !0;
                                    break
                                }
                        }
                    }
                    if (this.prepareLeaveAnimationListeners(y), ne) M.markElementAsRemoved(this.id, y, !1, g);
                    else {
                        const Ce = y[uo];
                        (!Ce || Ce === cl) && (M.afterFlush(() => this.clearElementCache(y)), M.destroyInnerAnimations(y), M._onRemovalComplete(y, g))
                    }
                }
                insertNode(y, g) {
                    zo(y, this._hostClassName)
                }
                drainQueuedTransitions(y) {
                    const g = [];
                    return this._queue.forEach(M => {
                        const ne = M.player;
                        if (ne.destroyed) return;
                        const Ce = M.element,
                            qe = this._elementListeners.get(Ce);
                        qe && qe.forEach(Ye => {
                            if (Ye.name == M.triggerName) {
                                const wt = jo(Ce, M.triggerName, M.fromState.value, M.toState.value);
                                wt._data = y, Co(M.player, Ye.phase, wt, Ye.callback)
                            }
                        }), ne.markedForDestroy ? this._engine.afterFlush(() => {
                            ne.destroy()
                        }) : g.push(M)
                    }), this._queue = [], g.sort((M, ne) => {
                        const Ce = M.transition.ast.depCount,
                            qe = ne.transition.ast.depCount;
                        return 0 == Ce || 0 == qe ? Ce - qe : this._engine.driver.containsElement(M.element, ne.element) ? 1 : -1
                    })
                }
                destroy(y) {
                    this.players.forEach(g => g.destroy()), this._signalRemovalForInnerTriggers(this.hostElement, y)
                }
                elementContainsData(y) {
                    let g = !1;
                    return this._elementListeners.has(y) && (g = !0), g = !!this._queue.find(M => M.element === y) || g, g
                }
            }
            class Po {
                constructor(y, g, M) {
                    this.bodyNode = y, this.driver = g, this._normalizer = M, this.players = [], this.newHostElements = new Map, this.playersByElement = new Map, this.playersByQueriedElement = new Map, this.statesByElement = new Map, this.disabledNodes = new Set, this.totalAnimations = 0, this.totalQueuedPlayers = 0, this._namespaceLookup = {}, this._namespaceList = [], this._flushFns = [], this._whenQuietFns = [], this.namespacesByHostElement = new Map, this.collectedEnterElements = [], this.collectedLeaveElements = [], this.onRemovalComplete = (ne, Ce) => {}
                }
                _onRemovalComplete(y, g) {
                    this.onRemovalComplete(y, g)
                }
                get queuedPlayers() {
                    const y = [];
                    return this._namespaceList.forEach(g => {
                        g.players.forEach(M => {
                            M.queued && y.push(M)
                        })
                    }), y
                }
                createNamespace(y, g) {
                    const M = new Cc(y, g, this);
                    return this.bodyNode && this.driver.containsElement(this.bodyNode, g) ? this._balanceNamespaceList(M, g) : (this.newHostElements.set(g, M), this.collectEnterElement(g)), this._namespaceLookup[y] = M
                }
                _balanceNamespaceList(y, g) {
                    const M = this._namespaceList,
                        ne = this.namespacesByHostElement;
                    if (M.length - 1 >= 0) {
                        let qe = !1,
                            Ye = this.driver.getParentElement(g);
                        for (; Ye;) {
                            const wt = ne.get(Ye);
                            if (wt) {
                                const Zt = M.indexOf(wt);
                                M.splice(Zt + 1, 0, y), qe = !0;
                                break
                            }
                            Ye = this.driver.getParentElement(Ye)
                        }
                        qe || M.unshift(y)
                    } else M.push(y);
                    return ne.set(g, y), y
                }
                register(y, g) {
                    let M = this._namespaceLookup[y];
                    return M || (M = this.createNamespace(y, g)), M
                }
                registerTrigger(y, g, M) {
                    let ne = this._namespaceLookup[y];
                    ne && ne.register(g, M) && this.totalAnimations++
                }
                destroy(y, g) {
                    if (!y) return;
                    const M = this._fetchNamespace(y);
                    this.afterFlush(() => {
                        this.namespacesByHostElement.delete(M.hostElement), delete this._namespaceLookup[y];
                        const ne = this._namespaceList.indexOf(M);
                        ne >= 0 && this._namespaceList.splice(ne, 1)
                    }), this.afterFlushAnimationsDone(() => M.destroy(g))
                }
                _fetchNamespace(y) {
                    return this._namespaceLookup[y]
                }
                fetchNamespacesByElement(y) {
                    const g = new Set,
                        M = this.statesByElement.get(y);
                    if (M)
                        for (let ne of M.values())
                            if (ne.namespaceId) {
                                const Ce = this._fetchNamespace(ne.namespaceId);
                                Ce && g.add(Ce)
                            }
                    return g
                }
                trigger(y, g, M, ne) {
                    if (dl(g)) {
                        const Ce = this._fetchNamespace(y);
                        if (Ce) return Ce.trigger(g, M, ne), !0
                    }
                    return !1
                }
                insertNode(y, g, M, ne) {
                    if (!dl(g)) return;
                    const Ce = g[uo];
                    if (Ce && Ce.setForRemoval) {
                        Ce.setForRemoval = !1, Ce.setForMove = !0;
                        const qe = this.collectedLeaveElements.indexOf(g);
                        qe >= 0 && this.collectedLeaveElements.splice(qe, 1)
                    }
                    if (y) {
                        const qe = this._fetchNamespace(y);
                        qe && qe.insertNode(g, M)
                    }
                    ne && this.collectEnterElement(g)
                }
                collectEnterElement(y) {
                    this.collectedEnterElements.push(y)
                }
                markElementAsDisabled(y, g) {
                    g ? this.disabledNodes.has(y) || (this.disabledNodes.add(y), zo(y, Wo)) : this.disabledNodes.has(y) && (this.disabledNodes.delete(y), Ms(y, Wo))
                }
                removeNode(y, g, M, ne) {
                    if (dl(g)) {
                        const Ce = y ? this._fetchNamespace(y) : null;
                        if (Ce ? Ce.removeNode(g, ne) : this.markElementAsRemoved(y, g, !1, ne), M) {
                            const qe = this.namespacesByHostElement.get(g);
                            qe && qe.id !== y && qe.removeNode(g, ne)
                        }
                    } else this._onRemovalComplete(g, ne)
                }
                markElementAsRemoved(y, g, M, ne, Ce) {
                    this.collectedLeaveElements.push(g), g[uo] = {
                        namespaceId: y,
                        setForRemoval: ne,
                        hasAnimation: M,
                        removedBeforeQueried: !1,
                        previousTriggersValues: Ce
                    }
                }
                listen(y, g, M, ne, Ce) {
                    return dl(g) ? this._fetchNamespace(y).listen(g, M, ne, Ce) : () => {}
                }
                _buildInstruction(y, g, M, ne, Ce) {
                    return y.transition.build(this.driver, y.element, y.fromState.value, y.toState.value, M, ne, y.fromState.options, y.toState.options, g, Ce)
                }
                destroyInnerAnimations(y) {
                    let g = this.driver.query(y, So, !0);
                    g.forEach(M => this.destroyActiveAnimationsForElement(M)), 0 != this.playersByQueriedElement.size && (g = this.driver.query(y, ao, !0), g.forEach(M => this.finishActiveQueriedAnimationOnElement(M)))
                }
                destroyActiveAnimationsForElement(y) {
                    const g = this.playersByElement.get(y);
                    g && g.forEach(M => {
                        M.queued ? M.markedForDestroy = !0 : M.destroy()
                    })
                }
                finishActiveQueriedAnimationOnElement(y) {
                    const g = this.playersByQueriedElement.get(y);
                    g && g.forEach(M => M.finish())
                }
                whenRenderingDone() {
                    return new Promise(y => {
                        if (this.players.length) return bo(this.players).onDone(() => y());
                        y()
                    })
                }
                processLeaveNode(y) {
                    const g = y[uo];
                    if (g && g.setForRemoval) {
                        if (y[uo] = cl, g.namespaceId) {
                            this.destroyInnerAnimations(y);
                            const M = this._fetchNamespace(g.namespaceId);
                            M && M.clearElementCache(y)
                        }
                        this._onRemovalComplete(y, g.setForRemoval)
                    }
                    y.classList ? .contains(Wo) && this.markElementAsDisabled(y, !1), this.driver.query(y, ".ng-animate-disabled", !0).forEach(M => {
                        this.markElementAsDisabled(M, !1)
                    })
                }
                flush(y = -1) {
                    let g = [];
                    if (this.newHostElements.size && (this.newHostElements.forEach((M, ne) => this._balanceNamespaceList(M, ne)), this.newHostElements.clear()), this.totalAnimations && this.collectedEnterElements.length)
                        for (let M = 0; M < this.collectedEnterElements.length; M++) zo(this.collectedEnterElements[M], "ng-star-inserted");
                    if (this._namespaceList.length && (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {
                        const M = [];
                        try {
                            g = this._flushAnimations(M, y)
                        } finally {
                            for (let ne = 0; ne < M.length; ne++) M[ne]()
                        }
                    } else
                        for (let M = 0; M < this.collectedLeaveElements.length; M++) this.processLeaveNode(this.collectedLeaveElements[M]);
                    if (this.totalQueuedPlayers = 0, this.collectedEnterElements.length = 0, this.collectedLeaveElements.length = 0, this._flushFns.forEach(M => M()), this._flushFns = [], this._whenQuietFns.length) {
                        const M = this._whenQuietFns;
                        this._whenQuietFns = [], g.length ? bo(g).onDone(() => {
                            M.forEach(ne => ne())
                        }) : M.forEach(ne => ne())
                    }
                }
                reportError(y) {
                    throw function ra(A) {
                        return new r.vHH(3402, !1)
                    }()
                }
                _flushAnimations(y, g) {
                    const M = new al,
                        ne = [],
                        Ce = new Map,
                        qe = [],
                        Ye = new Map,
                        wt = new Map,
                        Zt = new Map,
                        mn = new Set;
                    this.disabledNodes.forEach(Wn => {
                        mn.add(Wn);
                        const or = this.driver.query(Wn, ".ng-animate-queued", !0);
                        for (let sr = 0; sr < or.length; sr++) mn.add(or[sr])
                    });
                    const En = this.bodyNode,
                        pr = Array.from(this.statesByElement.keys()),
                        vr = ql(pr, this.collectedEnterElements),
                        Pn = new Map;
                    let tr = 0;
                    vr.forEach((Wn, or) => {
                        const sr = hs + tr++;
                        Pn.set(or, sr), Wn.forEach(Qr => zo(Qr, sr))
                    });
                    const qr = [],
                        ki = new Set,
                        Ui = new Set;
                    for (let Wn = 0; Wn < this.collectedLeaveElements.length; Wn++) {
                        const or = this.collectedLeaveElements[Wn],
                            sr = or[uo];
                        sr && sr.setForRemoval && (qr.push(or), ki.add(or), sr.hasAnimation ? this.driver.query(or, ".ng-star-inserted", !0).forEach(Qr => ki.add(Qr)) : Ui.add(or))
                    }
                    const Cs = new Map,
                        xs = ql(pr, Array.from(ki));
                    xs.forEach((Wn, or) => {
                        const sr = Ti + tr++;
                        Cs.set(or, sr), Wn.forEach(Qr => zo(Qr, sr))
                    }), y.push(() => {
                        vr.forEach((Wn, or) => {
                            const sr = Pn.get(or);
                            Wn.forEach(Qr => Ms(Qr, sr))
                        }), xs.forEach((Wn, or) => {
                            const sr = Cs.get(or);
                            Wn.forEach(Qr => Ms(Qr, sr))
                        }), qr.forEach(Wn => {
                            this.processLeaveNode(Wn)
                        })
                    });
                    const os = [],
                        oi = [];
                    for (let Wn = this._namespaceList.length - 1; Wn >= 0; Wn--) this._namespaceList[Wn].drainQueuedTransitions(g).forEach(sr => {
                        const Qr = sr.player,
                            Uo = sr.element;
                        if (os.push(Qr), this.collectedEnterElements.length) {
                            const Wi = Uo[uo];
                            if (Wi && Wi.setForMove) {
                                if (Wi.previousTriggersValues && Wi.previousTriggersValues.has(sr.triggerName)) {
                                    const Xs = Wi.previousTriggersValues.get(sr.triggerName),
                                        fa = this.statesByElement.get(sr.element);
                                    if (fa && fa.has(sr.triggerName)) {
                                        const ac = fa.get(sr.triggerName);
                                        ac.value = Xs, fa.set(sr.triggerName, ac)
                                    }
                                }
                                return void Qr.destroy()
                            }
                        }
                        const ss = !En || !this.driver.containsElement(En, Uo),
                            Io = Cs.get(Uo),
                            ws = Pn.get(Uo),
                            Zi = this._buildInstruction(sr, M, ws, Io, ss);
                        if (Zi.errors && Zi.errors.length) return void oi.push(Zi);
                        if (ss) return Qr.onStart(() => rt(Uo, Zi.fromStyles)), Qr.onDestroy(() => ie(Uo, Zi.toStyles)), void ne.push(Qr);
                        if (sr.isFallbackTransition) return Qr.onStart(() => rt(Uo, Zi.fromStyles)), Qr.onDestroy(() => ie(Uo, Zi.toStyles)), void ne.push(Qr);
                        const Ac = [];
                        Zi.timelines.forEach(Wi => {
                            Wi.stretchStartingKeyframe = !0, this.disabledNodes.has(Wi.element) || Ac.push(Wi)
                        }), Zi.timelines = Ac, M.append(Uo, Zi.timelines), qe.push({
                            instruction: Zi,
                            player: Qr,
                            element: Uo
                        }), Zi.queriedElements.forEach(Wi => Ni(Ye, Wi, []).push(Qr)), Zi.preStyleProps.forEach((Wi, Xs) => {
                            if (Wi.size) {
                                let fa = wt.get(Xs);
                                fa || wt.set(Xs, fa = new Set), Wi.forEach((ac, Ru) => fa.add(Ru))
                            }
                        }), Zi.postStyleProps.forEach((Wi, Xs) => {
                            let fa = Zt.get(Xs);
                            fa || Zt.set(Xs, fa = new Set), Wi.forEach((ac, Ru) => fa.add(Ru))
                        })
                    });
                    if (oi.length) {
                        const Wn = [];
                        oi.forEach(or => {
                            Wn.push(function Rs(A, y) {
                                return new r.vHH(3505, !1)
                            }())
                        }), os.forEach(or => or.destroy()), this.reportError(Wn)
                    }
                    const Bo = new Map,
                        Eo = new Map;
                    qe.forEach(Wn => {
                        const or = Wn.element;
                        M.has(or) && (Eo.set(or, or), this._beforeAnimationBuild(Wn.player.namespaceId, Wn.instruction, Bo))
                    }), ne.forEach(Wn => {
                        const or = Wn.element;
                        this._getPreviousPlayers(or, !1, Wn.namespaceId, Wn.triggerName, null).forEach(Qr => {
                            Ni(Bo, or, []).push(Qr), Qr.destroy()
                        })
                    });
                    const qi = qr.filter(Wn => Ca(Wn, wt, Zt)),
                        Ba = new Map;
                    aa(Ba, this.driver, Ui, Zt, ot.l3).forEach(Wn => {
                        Ca(Wn, wt, Zt) && qi.push(Wn)
                    });
                    const Qa = new Map;
                    vr.forEach((Wn, or) => {
                        aa(Qa, this.driver, new Set(Wn), wt, ot.k1)
                    }), qi.forEach(Wn => {
                        const or = Ba.get(Wn),
                            sr = Qa.get(Wn);
                        Ba.set(Wn, new Map([...Array.from(or ? .entries() ? ? []), ...Array.from(sr ? .entries() ? ? [])]))
                    });
                    const da = [],
                        oc = [],
                        Oc = {};
                    qe.forEach(Wn => {
                        const {
                            element: or,
                            player: sr,
                            instruction: Qr
                        } = Wn;
                        if (M.has(or)) {
                            if (mn.has(or)) return sr.onDestroy(() => ie(or, Qr.toStyles)), sr.disabled = !0, sr.overrideTotalTime(Qr.totalTime), void ne.push(sr);
                            let Uo = Oc;
                            if (Eo.size > 1) {
                                let Io = or;
                                const ws = [];
                                for (; Io = Io.parentNode;) {
                                    const Zi = Eo.get(Io);
                                    if (Zi) {
                                        Uo = Zi;
                                        break
                                    }
                                    ws.push(Io)
                                }
                                ws.forEach(Zi => Eo.set(Zi, Uo))
                            }
                            const ss = this._buildAnimation(sr.namespaceId, Qr, Bo, Ce, Qa, Ba);
                            if (sr.setRealPlayer(ss), Uo === Oc) da.push(sr);
                            else {
                                const Io = this.playersByElement.get(Uo);
                                Io && Io.length && (sr.parentPlayer = bo(Io)), ne.push(sr)
                            }
                        } else rt(or, Qr.fromStyles), sr.onDestroy(() => ie(or, Qr.toStyles)), oc.push(sr), mn.has(or) && ne.push(sr)
                    }), oc.forEach(Wn => {
                        const or = Ce.get(Wn.element);
                        if (or && or.length) {
                            const sr = bo(or);
                            Wn.setRealPlayer(sr)
                        }
                    }), ne.forEach(Wn => {
                        Wn.parentPlayer ? Wn.syncPlayerEvents(Wn.parentPlayer) : Wn.destroy()
                    });
                    for (let Wn = 0; Wn < qr.length; Wn++) {
                        const or = qr[Wn],
                            sr = or[uo];
                        if (Ms(or, Ti), sr && sr.hasAnimation) continue;
                        let Qr = [];
                        if (Ye.size) {
                            let ss = Ye.get(or);
                            ss && ss.length && Qr.push(...ss);
                            let Io = this.driver.query(or, ao, !0);
                            for (let ws = 0; ws < Io.length; ws++) {
                                let Zi = Ye.get(Io[ws]);
                                Zi && Zi.length && Qr.push(...Zi)
                            }
                        }
                        const Uo = Qr.filter(ss => !ss.destroyed);
                        Uo.length ? Ml(this, or, Uo) : this.processLeaveNode(or)
                    }
                    return qr.length = 0, da.forEach(Wn => {
                        this.players.push(Wn), Wn.onDone(() => {
                            Wn.destroy();
                            const or = this.players.indexOf(Wn);
                            this.players.splice(or, 1)
                        }), Wn.play()
                    }), da
                }
                elementContainsData(y, g) {
                    let M = !1;
                    const ne = g[uo];
                    return ne && ne.setForRemoval && (M = !0), this.playersByElement.has(g) && (M = !0), this.playersByQueriedElement.has(g) && (M = !0), this.statesByElement.has(g) && (M = !0), this._fetchNamespace(y).elementContainsData(g) || M
                }
                afterFlush(y) {
                    this._flushFns.push(y)
                }
                afterFlushAnimationsDone(y) {
                    this._whenQuietFns.push(y)
                }
                _getPreviousPlayers(y, g, M, ne, Ce) {
                    let qe = [];
                    if (g) {
                        const Ye = this.playersByQueriedElement.get(y);
                        Ye && (qe = Ye)
                    } else {
                        const Ye = this.playersByElement.get(y);
                        if (Ye) {
                            const wt = !Ce || Ce == Ia;
                            Ye.forEach(Zt => {
                                Zt.queued || !wt && Zt.triggerName != ne || qe.push(Zt)
                            })
                        }
                    }
                    return (M || ne) && (qe = qe.filter(Ye => !(M && M != Ye.namespaceId || ne && ne != Ye.triggerName))), qe
                }
                _beforeAnimationBuild(y, g, M) {
                    const Ce = g.element,
                        qe = g.isRemovalTransition ? void 0 : y,
                        Ye = g.isRemovalTransition ? void 0 : g.triggerName;
                    for (const wt of g.timelines) {
                        const Zt = wt.element,
                            mn = Zt !== Ce,
                            En = Ni(M, Zt, []);
                        this._getPreviousPlayers(Zt, mn, qe, Ye, g.toState).forEach(vr => {
                            const Pn = vr.getRealPlayer();
                            Pn.beforeDestroy && Pn.beforeDestroy(), vr.destroy(), En.push(vr)
                        })
                    }
                    rt(Ce, g.fromStyles)
                }
                _buildAnimation(y, g, M, ne, Ce, qe) {
                    const Ye = g.triggerName,
                        wt = g.element,
                        Zt = [],
                        mn = new Set,
                        En = new Set,
                        pr = g.timelines.map(Pn => {
                            const tr = Pn.element;
                            mn.add(tr);
                            const qr = tr[uo];
                            if (qr && qr.removedBeforeQueried) return new ot.ZN(Pn.duration, Pn.delay);
                            const ki = tr !== wt,
                                Ui = function Na(A) {
                                    const y = [];
                                    return la(A, y), y
                                }((M.get(tr) || Ol).map(Bo => Bo.getRealPlayer())).filter(Bo => !!Bo.element && Bo.element === tr),
                                Cs = Ce.get(tr),
                                xs = qe.get(tr),
                                os = Fs(0, this._normalizer, 0, Pn.keyframes, Cs, xs),
                                oi = this._buildPlayer(Pn, os, Ui);
                            if (Pn.subTimeline && ne && En.add(tr), ki) {
                                const Bo = new wo(y, Ye, tr);
                                Bo.setRealPlayer(oi), Zt.push(Bo)
                            }
                            return oi
                        });
                    Zt.forEach(Pn => {
                        Ni(this.playersByQueriedElement, Pn.element, []).push(Pn), Pn.onDone(() => function fo(A, y, g) {
                            let M = A.get(y);
                            if (M) {
                                if (M.length) {
                                    const ne = M.indexOf(g);
                                    M.splice(ne, 1)
                                }
                                0 == M.length && A.delete(y)
                            }
                            return M
                        }(this.playersByQueriedElement, Pn.element, Pn))
                    }), mn.forEach(Pn => zo(Pn, ci));
                    const vr = bo(pr);
                    return vr.onDestroy(() => {
                        mn.forEach(Pn => Ms(Pn, ci)), ie(wt, g.toStyles)
                    }), En.forEach(Pn => {
                        Ni(ne, Pn, []).push(vr)
                    }), vr
                }
                _buildPlayer(y, g, M) {
                    return g.length > 0 ? this.driver.animate(y.element, g, y.duration, y.delay, y.easing, M) : new ot.ZN(y.duration, y.delay)
                }
            }
            class wo {
                constructor(y, g, M) {
                    this.namespaceId = y, this.triggerName = g, this.element = M, this._player = new ot.ZN, this._containsRealPlayer = !1, this._queuedCallbacks = new Map, this.destroyed = !1, this.markedForDestroy = !1, this.disabled = !1, this.queued = !0, this.totalTime = 0
                }
                setRealPlayer(y) {
                    this._containsRealPlayer || (this._player = y, this._queuedCallbacks.forEach((g, M) => {
                        g.forEach(ne => Co(y, M, void 0, ne))
                    }), this._queuedCallbacks.clear(), this._containsRealPlayer = !0, this.overrideTotalTime(y.totalTime), this.queued = !1)
                }
                getRealPlayer() {
                    return this._player
                }
                overrideTotalTime(y) {
                    this.totalTime = y
                }
                syncPlayerEvents(y) {
                    const g = this._player;
                    g.triggerCallback && y.onStart(() => g.triggerCallback("start")), y.onDone(() => this.finish()), y.onDestroy(() => this.destroy())
                }
                _queueEvent(y, g) {
                    Ni(this._queuedCallbacks, y, []).push(g)
                }
                onDone(y) {
                    this.queued && this._queueEvent("done", y), this._player.onDone(y)
                }
                onStart(y) {
                    this.queued && this._queueEvent("start", y), this._player.onStart(y)
                }
                onDestroy(y) {
                    this.queued && this._queueEvent("destroy", y), this._player.onDestroy(y)
                }
                init() {
                    this._player.init()
                }
                hasStarted() {
                    return !this.queued && this._player.hasStarted()
                }
                play() {
                    !this.queued && this._player.play()
                }
                pause() {
                    !this.queued && this._player.pause()
                }
                restart() {
                    !this.queued && this._player.restart()
                }
                finish() {
                    this._player.finish()
                }
                destroy() {
                    this.destroyed = !0, this._player.destroy()
                }
                reset() {
                    !this.queued && this._player.reset()
                }
                setPosition(y) {
                    this.queued || this._player.setPosition(y)
                }
                getPosition() {
                    return this.queued ? 0 : this._player.getPosition()
                }
                triggerCallback(y) {
                    const g = this._player;
                    g.triggerCallback && g.triggerCallback(y)
                }
            }

            function dl(A) {
                return A && 1 === A.nodeType
            }

            function qc(A, y) {
                const g = A.style.display;
                return A.style.display = y ? ? "none", g
            }

            function aa(A, y, g, M, ne) {
                const Ce = [];
                g.forEach(wt => Ce.push(qc(wt)));
                const qe = [];
                M.forEach((wt, Zt) => {
                    const mn = new Map;
                    wt.forEach(En => {
                        const pr = y.computeStyle(Zt, En, ne);
                        mn.set(En, pr), (!pr || 0 == pr.length) && (Zt[uo] = Al, qe.push(Zt))
                    }), A.set(Zt, mn)
                });
                let Ye = 0;
                return g.forEach(wt => qc(wt, Ce[Ye++])), qe
            }

            function ql(A, y) {
                const g = new Map;
                if (A.forEach(Ye => g.set(Ye, [])), 0 == y.length) return g;
                const ne = new Set(y),
                    Ce = new Map;

                function qe(Ye) {
                    if (!Ye) return 1;
                    let wt = Ce.get(Ye);
                    if (wt) return wt;
                    const Zt = Ye.parentNode;
                    return wt = g.has(Zt) ? Zt : ne.has(Zt) ? 1 : qe(Zt), Ce.set(Ye, wt), wt
                }
                return y.forEach(Ye => {
                    const wt = qe(Ye);
                    1 !== wt && g.get(wt).push(Ye)
                }), g
            }

            function zo(A, y) {
                A.classList ? .add(y)
            }

            function Ms(A, y) {
                A.classList ? .remove(y)
            }

            function Ml(A, y, g) {
                bo(g).onDone(() => A.processLeaveNode(y))
            }

            function la(A, y) {
                for (let g = 0; g < A.length; g++) {
                    const M = A[g];
                    M instanceof ot.ZE ? la(M.players, y) : y.push(M)
                }
            }

            function Ca(A, y, g) {
                const M = g.get(A);
                if (!M) return !1;
                let ne = y.get(A);
                return ne ? M.forEach(Ce => ne.add(Ce)) : y.set(A, M), g.delete(A), !0
            }
            class gs {
                constructor(y, g, M) {
                    this.bodyNode = y, this._driver = g, this._normalizer = M, this._triggerCache = {}, this.onRemovalComplete = (ne, Ce) => {}, this._transitionEngine = new Po(y, g, M), this._timelineEngine = new co(y, g, M), this._transitionEngine.onRemovalComplete = (ne, Ce) => this.onRemovalComplete(ne, Ce)
                }
                registerTrigger(y, g, M, ne, Ce) {
                    const qe = y + "-" + ne;
                    let Ye = this._triggerCache[qe];
                    if (!Ye) {
                        const wt = [],
                            mn = Wa(this._driver, Ce, wt, []);
                        if (wt.length) throw function cn(A, y) {
                            return new r.vHH(3404, !1)
                        }();
                        Ye = function dr(A, y, g) {
                            return new Hr(A, y, g)
                        }(ne, mn, this._normalizer), this._triggerCache[qe] = Ye
                    }
                    this._transitionEngine.registerTrigger(g, ne, Ye)
                }
                register(y, g) {
                    this._transitionEngine.register(y, g)
                }
                destroy(y, g) {
                    this._transitionEngine.destroy(y, g)
                }
                onInsert(y, g, M, ne) {
                    this._transitionEngine.insertNode(y, g, M, ne)
                }
                onRemove(y, g, M, ne) {
                    this._transitionEngine.removeNode(y, g, ne || !1, M)
                }
                disableAnimations(y, g) {
                    this._transitionEngine.markElementAsDisabled(y, g)
                }
                process(y, g, M, ne) {
                    if ("@" == M.charAt(0)) {
                        const [Ce, qe] = ii(M);
                        this._timelineEngine.command(Ce, g, qe, ne)
                    } else this._transitionEngine.trigger(y, g, M, ne)
                }
                listen(y, g, M, ne, Ce) {
                    if ("@" == M.charAt(0)) {
                        const [qe, Ye] = ii(M);
                        return this._timelineEngine.listen(qe, g, Ye, Ce)
                    }
                    return this._transitionEngine.listen(y, g, M, ne, Ce)
                }
                flush(y = -1) {
                    this._transitionEngine.flush(y)
                }
                get players() {
                    return this._transitionEngine.players.concat(this._timelineEngine.players)
                }
                whenRenderingDone() {
                    return this._transitionEngine.whenRenderingDone()
                }
            }
            let xc = (() => {
                class A {
                    constructor(g, M, ne) {
                        this._element = g, this._startStyles = M, this._endStyles = ne, this._state = 0;
                        let Ce = A.initialStylesByElement.get(g);
                        Ce || A.initialStylesByElement.set(g, Ce = new Map), this._initialStyles = Ce
                    }
                    start() {
                        this._state < 1 && (this._startStyles && ie(this._element, this._startStyles, this._initialStyles), this._state = 1)
                    }
                    finish() {
                        this.start(), this._state < 2 && (ie(this._element, this._initialStyles), this._endStyles && (ie(this._element, this._endStyles), this._endStyles = null), this._state = 1)
                    }
                    destroy() {
                        this.finish(), this._state < 3 && (A.initialStylesByElement.delete(this._element), this._startStyles && (rt(this._element, this._startStyles), this._endStyles = null), this._endStyles && (rt(this._element, this._endStyles), this._endStyles = null), ie(this._element, this._initialStyles), this._state = 3)
                    }
                }
                return A.initialStylesByElement = new WeakMap, A
            })();

            function Ra(A) {
                let y = null;
                return A.forEach((g, M) => {
                    (function Jl(A) {
                        return "display" === A || "position" === A
                    })(M) && (y = y || new Map, y.set(M, g))
                }), y
            }
            class Js {
                constructor(y, g, M, ne) {
                    this.element = y, this.keyframes = g, this.options = M, this._specialStyles = ne, this._onDoneFns = [], this._onStartFns = [], this._onDestroyFns = [], this._initialized = !1, this._finished = !1, this._started = !1, this._destroyed = !1, this._originalOnDoneFns = [], this._originalOnStartFns = [], this.time = 0, this.parentPlayer = null, this.currentSnapshot = new Map, this._duration = M.duration, this._delay = M.delay || 0, this.time = this._duration + this._delay
                }
                _onFinish() {
                    this._finished || (this._finished = !0, this._onDoneFns.forEach(y => y()), this._onDoneFns = [])
                }
                init() {
                    this._buildPlayer(), this._preparePlayerBeforeStart()
                }
                _buildPlayer() {
                    if (this._initialized) return;
                    this._initialized = !0;
                    const y = this.keyframes;
                    this.domPlayer = this._triggerWebAnimation(this.element, y, this.options), this._finalKeyframe = y.length ? y[y.length - 1] : new Map, this.domPlayer.addEventListener("finish", () => this._onFinish())
                }
                _preparePlayerBeforeStart() {
                    this._delay ? this._resetDomPlayerState() : this.domPlayer.pause()
                }
                _convertKeyframesToObject(y) {
                    const g = [];
                    return y.forEach(M => {
                        g.push(Object.fromEntries(M))
                    }), g
                }
                _triggerWebAnimation(y, g, M) {
                    return y.animate(this._convertKeyframesToObject(g), M)
                }
                onStart(y) {
                    this._originalOnStartFns.push(y), this._onStartFns.push(y)
                }
                onDone(y) {
                    this._originalOnDoneFns.push(y), this._onDoneFns.push(y)
                }
                onDestroy(y) {
                    this._onDestroyFns.push(y)
                }
                play() {
                    this._buildPlayer(), this.hasStarted() || (this._onStartFns.forEach(y => y()), this._onStartFns = [], this._started = !0, this._specialStyles && this._specialStyles.start()), this.domPlayer.play()
                }
                pause() {
                    this.init(), this.domPlayer.pause()
                }
                finish() {
                    this.init(), this._specialStyles && this._specialStyles.finish(), this._onFinish(), this.domPlayer.finish()
                }
                reset() {
                    this._resetDomPlayerState(), this._destroyed = !1, this._finished = !1, this._started = !1, this._onStartFns = this._originalOnStartFns, this._onDoneFns = this._originalOnDoneFns
                }
                _resetDomPlayerState() {
                    this.domPlayer && this.domPlayer.cancel()
                }
                restart() {
                    this.reset(), this.play()
                }
                hasStarted() {
                    return this._started
                }
                destroy() {
                    this._destroyed || (this._destroyed = !0, this._resetDomPlayerState(), this._onFinish(), this._specialStyles && this._specialStyles.destroy(), this._onDestroyFns.forEach(y => y()), this._onDestroyFns = [])
                }
                setPosition(y) {
                    void 0 === this.domPlayer && this.init(), this.domPlayer.currentTime = y * this.time
                }
                getPosition() {
                    return this.domPlayer.currentTime / this.time
                }
                get totalTime() {
                    return this._delay + this._duration
                }
                beforeDestroy() {
                    const y = new Map;
                    this.hasStarted() && this._finalKeyframe.forEach((M, ne) => {
                        "offset" !== ne && y.set(ne, this._finished ? M : Gi(this.element, ne))
                    }), this.currentSnapshot = y
                }
                triggerCallback(y) {
                    const g = "start" === y ? this._onStartFns : this._onDoneFns;
                    g.forEach(M => M()), g.length = 0
                }
            }
            class Mi {
                validateStyleProperty(y) {
                    return !0
                }
                validateAnimatableStyleProperty(y) {
                    return !0
                }
                matchesElement(y, g) {
                    return !1
                }
                containsElement(y, g) {
                    return _a(y, g)
                }
                getParentElement(y) {
                    return Ls(y)
                }
                query(y, g, M) {
                    return xi(y, g, M)
                }
                computeStyle(y, g, M) {
                    return window.getComputedStyle(y)[g]
                }
                animate(y, g, M, ne, Ce, qe = []) {
                    const wt = {
                        duration: M,
                        delay: ne,
                        fill: 0 == ne ? "both" : "forwards"
                    };
                    Ce && (wt.easing = Ce);
                    const Zt = new Map,
                        mn = qe.filter(vr => vr instanceof Js);
                    (function nr(A, y) {
                        return 0 === A || 0 === y
                    })(M, ne) && mn.forEach(vr => {
                        vr.currentSnapshot.forEach((Pn, tr) => Zt.set(tr, Pn))
                    });
                    let En = function ya(A) {
                        return A.length ? A[0] instanceof Map ? A : A.map(y => Go(y)) : []
                    }(g).map(vr => L(vr));
                    En = function no(A, y, g) {
                        if (g.size && y.length) {
                            let M = y[0],
                                ne = [];
                            if (g.forEach((Ce, qe) => {
                                    M.has(qe) || ne.push(qe), M.set(qe, Ce)
                                }), ne.length)
                                for (let Ce = 1; Ce < y.length; Ce++) {
                                    let qe = y[Ce];
                                    ne.forEach(Ye => qe.set(Ye, Gi(A, Ye)))
                                }
                        }
                        return y
                    }(y, En, Zt);
                    const pr = function Nc(A, y) {
                        let g = null,
                            M = null;
                        return Array.isArray(y) && y.length ? (g = Ra(y[0]), y.length > 1 && (M = Ra(y[y.length - 1]))) : y instanceof Map && (g = Ra(y)), g || M ? new xc(A, g, M) : null
                    }(y, En);
                    return new Js(y, En, wt, pr)
                }
            }
            let $e = (() => {
                class A extends ot._j {
                    constructor(g, M) {
                        super(), this._nextAnimationId = 0, this._renderer = g.createRenderer(M.body, {
                            id: "0",
                            encapsulation: r.ifc.None,
                            styles: [],
                            data: {
                                animation: []
                            }
                        })
                    }
                    build(g) {
                        const M = this._nextAnimationId.toString();
                        this._nextAnimationId++;
                        const ne = Array.isArray(g) ? (0, ot.vP)(g) : g;
                        return ns(this._renderer, null, M, "register", [ne]), new Fa(M, this._renderer)
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.LFG(r.FYo), r.LFG(V.K0))
                }, A.\u0275prov = r.Yz7({
                    token: A,
                    factory: A.\u0275fac
                }), A
            })();
            class Fa extends ot.LC {
                constructor(y, g) {
                    super(), this._id = y, this._renderer = g
                }
                create(y, g) {
                    return new Qs(this._id, y, g || {}, this._renderer)
                }
            }
            class Qs {
                constructor(y, g, M, ne) {
                    this.id = y, this.element = g, this._renderer = ne, this.parentPlayer = null, this._started = !1, this.totalTime = 0, this._command("create", M)
                }
                _listen(y, g) {
                    return this._renderer.listen(this.element, `@@${this.id}:${y}`, g)
                }
                _command(y, ...g) {
                    return ns(this._renderer, this.element, this.id, y, g)
                }
                onDone(y) {
                    this._listen("done", y)
                }
                onStart(y) {
                    this._listen("start", y)
                }
                onDestroy(y) {
                    this._listen("destroy", y)
                }
                init() {
                    this._command("init")
                }
                hasStarted() {
                    return this._started
                }
                play() {
                    this._command("play"), this._started = !0
                }
                pause() {
                    this._command("pause")
                }
                restart() {
                    this._command("restart")
                }
                finish() {
                    this._command("finish")
                }
                destroy() {
                    this._command("destroy")
                }
                reset() {
                    this._command("reset"), this._started = !1
                }
                setPosition(y) {
                    this._command("setPosition", y)
                }
                getPosition() {
                    return this._renderer.engine.players[+this.id] ? .getPosition() ? ? 0
                }
            }

            function ns(A, y, g, M, ne) {
                return A.setProperty(y, `@@${g}:${M}`, ne)
            }
            const Ql = "@.disabled";
            let Yu = (() => {
                class A {
                    constructor(g, M, ne) {
                        this.delegate = g, this.engine = M, this._zone = ne, this._currentId = 0, this._microtaskId = 1, this._animationCallbacksBuffer = [], this._rendererCache = new Map, this._cdRecurDepth = 0, this.promise = Promise.resolve(0), M.onRemovalComplete = (Ce, qe) => {
                            const Ye = qe ? .parentNode(Ce);
                            Ye && qe.removeChild(Ye, Ce)
                        }
                    }
                    createRenderer(g, M) {
                        const Ce = this.delegate.createRenderer(g, M);
                        if (!(g && M && M.data && M.data.animation)) {
                            let mn = this._rendererCache.get(Ce);
                            return mn || (mn = new za("", Ce, this.engine, () => this._rendererCache.delete(Ce)), this._rendererCache.set(Ce, mn)), mn
                        }
                        const qe = M.id,
                            Ye = M.id + "-" + this._currentId;
                        this._currentId++, this.engine.register(Ye, g);
                        const wt = mn => {
                            Array.isArray(mn) ? mn.forEach(wt) : this.engine.registerTrigger(qe, Ye, g, mn.name, mn)
                        };
                        return M.data.animation.forEach(wt), new Xl(this, Ye, Ce, this.engine)
                    }
                    begin() {
                        this._cdRecurDepth++, this.delegate.begin && this.delegate.begin()
                    }
                    _scheduleCountTask() {
                        this.promise.then(() => {
                            this._microtaskId++
                        })
                    }
                    scheduleListenerCallback(g, M, ne) {
                        g >= 0 && g < this._microtaskId ? this._zone.run(() => M(ne)) : (0 == this._animationCallbacksBuffer.length && Promise.resolve(null).then(() => {
                            this._zone.run(() => {
                                this._animationCallbacksBuffer.forEach(Ce => {
                                    const [qe, Ye] = Ce;
                                    qe(Ye)
                                }), this._animationCallbacksBuffer = []
                            })
                        }), this._animationCallbacksBuffer.push([M, ne]))
                    }
                    end() {
                        this._cdRecurDepth--, 0 == this._cdRecurDepth && this._zone.runOutsideAngular(() => {
                            this._scheduleCountTask(), this.engine.flush(this._microtaskId)
                        }), this.delegate.end && this.delegate.end()
                    }
                    whenRenderingDone() {
                        return this.engine.whenRenderingDone()
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.LFG(r.FYo), r.LFG(gs), r.LFG(r.R0b))
                }, A.\u0275prov = r.Yz7({
                    token: A,
                    factory: A.\u0275fac
                }), A
            })();
            class za {
                constructor(y, g, M, ne) {
                    this.namespaceId = y, this.delegate = g, this.engine = M, this._onDestroy = ne, this.destroyNode = this.delegate.destroyNode ? Ce => g.destroyNode(Ce) : null
                }
                get data() {
                    return this.delegate.data
                }
                destroy() {
                    this.engine.destroy(this.namespaceId, this.delegate), this.delegate.destroy(), this._onDestroy ? .()
                }
                createElement(y, g) {
                    return this.delegate.createElement(y, g)
                }
                createComment(y) {
                    return this.delegate.createComment(y)
                }
                createText(y) {
                    return this.delegate.createText(y)
                }
                appendChild(y, g) {
                    this.delegate.appendChild(y, g), this.engine.onInsert(this.namespaceId, g, y, !1)
                }
                insertBefore(y, g, M, ne = !0) {
                    this.delegate.insertBefore(y, g, M), this.engine.onInsert(this.namespaceId, g, y, ne)
                }
                removeChild(y, g, M) {
                    this.engine.onRemove(this.namespaceId, g, this.delegate, M)
                }
                selectRootElement(y, g) {
                    return this.delegate.selectRootElement(y, g)
                }
                parentNode(y) {
                    return this.delegate.parentNode(y)
                }
                nextSibling(y) {
                    return this.delegate.nextSibling(y)
                }
                setAttribute(y, g, M, ne) {
                    this.delegate.setAttribute(y, g, M, ne)
                }
                removeAttribute(y, g, M) {
                    this.delegate.removeAttribute(y, g, M)
                }
                addClass(y, g) {
                    this.delegate.addClass(y, g)
                }
                removeClass(y, g) {
                    this.delegate.removeClass(y, g)
                }
                setStyle(y, g, M, ne) {
                    this.delegate.setStyle(y, g, M, ne)
                }
                removeStyle(y, g, M) {
                    this.delegate.removeStyle(y, g, M)
                }
                setProperty(y, g, M) {
                    "@" == g.charAt(0) && g == Ql ? this.disableAnimations(y, !!M) : this.delegate.setProperty(y, g, M)
                }
                setValue(y, g) {
                    this.delegate.setValue(y, g)
                }
                listen(y, g, M) {
                    return this.delegate.listen(y, g, M)
                }
                disableAnimations(y, g) {
                    this.engine.disableAnimations(y, g)
                }
            }
            class Xl extends za {
                constructor(y, g, M, ne, Ce) {
                    super(g, M, ne, Ce), this.factory = y, this.namespaceId = g
                }
                setProperty(y, g, M) {
                    "@" == g.charAt(0) ? "." == g.charAt(1) && g == Ql ? this.disableAnimations(y, M = void 0 === M || !!M) : this.engine.process(this.namespaceId, y, g.slice(1), M) : this.delegate.setProperty(y, g, M)
                }
                listen(y, g, M) {
                    if ("@" == g.charAt(0)) {
                        const ne = function Jc(A) {
                            switch (A) {
                                case "body":
                                    return document.body;
                                case "document":
                                    return document;
                                case "window":
                                    return window;
                                default:
                                    return A
                            }
                        }(y);
                        let Ce = g.slice(1),
                            qe = "";
                        return "@" != Ce.charAt(0) && ([Ce, qe] = function Yi(A) {
                            const y = A.indexOf(".");
                            return [A.substring(0, y), A.slice(y + 1)]
                        }(Ce)), this.engine.listen(this.namespaceId, ne, Ce, qe, Ye => {
                            this.factory.scheduleListenerCallback(Ye._data || -1, M, Ye)
                        })
                    }
                    return this.delegate.listen(y, g, M)
                }
            }
            const ca = [{
                    provide: ot._j,
                    useClass: $e
                }, {
                    provide: Bs,
                    useFactory: function fl() {
                        return new de
                    }
                }, {
                    provide: gs,
                    useClass: (() => {
                        class A extends gs {
                            constructor(g, M, ne, Ce) {
                                super(g.body, M, ne)
                            }
                            ngOnDestroy() {
                                this.flush()
                            }
                        }
                        return A.\u0275fac = function(g) {
                            return new(g || A)(r.LFG(V.K0), r.LFG($s), r.LFG(Bs), r.LFG(r.z2F))
                        }, A.\u0275prov = r.Yz7({
                            token: A,
                            factory: A.\u0275fac
                        }), A
                    })()
                }, {
                    provide: r.FYo,
                    useFactory: function qu(A, y, g) {
                        return new Yu(A, y, g)
                    },
                    deps: [t.se, gs, r.R0b]
                }],
                rs = [{
                    provide: $s,
                    useFactory: () => new Mi
                }, {
                    provide: r.QbO,
                    useValue: "BrowserAnimations"
                }, ...ca],
                Vs = [{
                    provide: $s,
                    useClass: xo
                }, {
                    provide: r.QbO,
                    useValue: "NoopAnimations"
                }, ...ca];
            let Sl = (() => {
                class A {
                    static withConfig(g) {
                        return {
                            ngModule: A,
                            providers: g.disableAnimations ? Vs : rs
                        }
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)
                }, A.\u0275mod = r.oAB({
                    type: A
                }), A.\u0275inj = r.cJS({
                    providers: rs,
                    imports: [t.b2]
                }), A
            })();
            var T = _(6451),
                z = _(9751),
                se = _(7579),
                Se = _(8502),
                tt = _(515),
                st = _(9646),
                Yt = _(2843),
                bn = _(576);
            class On {
                constructor(y, g, M) {
                    this.kind = y, this.value = g, this.error = M, this.hasValue = "N" === y
                }
                observe(y) {
                    return gi(this, y)
                }
                do(y, g, M) {
                    const {
                        kind: ne,
                        value: Ce,
                        error: qe
                    } = this;
                    return "N" === ne ? y ? .(Ce) : "E" === ne ? g ? .(qe) : M ? .()
                }
                accept(y, g, M) {
                    var ne;
                    return (0, bn.m)(null === (ne = y) || void 0 === ne ? void 0 : ne.next) ? this.observe(y) : this.do(y, g, M)
                }
                toObservable() {
                    const {
                        kind: y,
                        value: g,
                        error: M
                    } = this, ne = "N" === y ? (0, st.of)(g) : "E" === y ? (0, Yt._)(() => M) : "C" === y ? tt.E : 0;
                    if (!ne) throw new TypeError(`Unexpected notification kind ${y}`);
                    return ne
                }
                static
                createNext(y) {
                    return new On("N", y)
                }
                static createError(y) {
                    return new On("E", void 0, y)
                }
                static createComplete() {
                    return On.completeNotification
                }
            }

            function gi(A, y) {
                var g, M, ne;
                const {
                    kind: Ce,
                    value: qe,
                    error: Ye
                } = A;
                if ("string" != typeof Ce) throw new TypeError('Invalid notification, missing "kind"');
                "N" === Ce ? null === (g = y.next) || void 0 === g || g.call(y, qe) : "E" === Ce ? null === (M = y.error) || void 0 === M || M.call(y, Ye) : null === (ne = y.complete) || void 0 === ne || ne.call(y)
            }
            On.completeNotification = new On("C");
            var is = _(4482),
                _s = _(5403),
                Ss = _(262),
                wc = _(8421);

            function Ka(A, y, g, M) {
                return (0, is.e)((ne, Ce) => {
                    let qe;
                    y && "function" != typeof y ? ({
                        duration: g,
                        element: qe,
                        connector: M
                    } = y) : qe = y;
                    const Ye = new Map,
                        wt = Pn => {
                            Ye.forEach(Pn), Pn(Ce)
                        },
                        Zt = Pn => wt(tr => tr.error(Pn));
                    let mn = 0,
                        En = !1;
                    const pr = new _s.Q(Ce, Pn => {
                        try {
                            const tr = A(Pn);
                            let qr = Ye.get(tr);
                            if (!qr) {
                                Ye.set(tr, qr = M ? M() : new se.x);
                                const ki = function vr(Pn, tr) {
                                    const qr = new z.y(ki => {
                                        mn++;
                                        const Ui = tr.subscribe(ki);
                                        return () => {
                                            Ui.unsubscribe(), 0 == --mn && En && pr.unsubscribe()
                                        }
                                    });
                                    return qr.key = Pn, qr
                                }(tr, qr);
                                if (Ce.next(ki), g) {
                                    const Ui = (0, _s.x)(qr, () => {
                                        qr.complete(), Ui ? .unsubscribe()
                                    }, void 0, void 0, () => Ye.delete(tr));
                                    pr.add((0, wc.Xf)(g(ki)).subscribe(Ui))
                                }
                            }
                            qr.next(qe ? qe(Pn) : Pn)
                        } catch (tr) {
                            Zt(tr)
                        }
                    }, () => wt(Pn => Pn.complete()), Zt, () => Ye.clear(), () => (En = !0, 0 === mn));
                    ne.subscribe(pr)
                })
            }
            var Ps = _(5577);

            function Rc(A, y) {
                return y ? g => g.pipe(Rc((M, ne) => (0, wc.Xf)(A(M, ne)).pipe((0, pn.U)((Ce, qe) => y(M, Ce, ne, qe))))) : (0, is.e)((g, M) => {
                    let ne = 0,
                        Ce = null,
                        qe = !1;
                    g.subscribe((0, _s.x)(M, Ye => {
                        Ce || (Ce = (0, _s.x)(M, void 0, () => {
                            Ce = null, qe && M.complete()
                        }), (0, wc.Xf)(A(Ye, ne++)).subscribe(Ce))
                    }, () => {
                        qe = !0, !Ce && M.complete()
                    }))
                })
            }
            const xa = {
                    dispatch: !0,
                    useEffectsErrorHandler: !0
                },
                hl = "__@ngrx/effects_create__";

            function Ya(A, y) {
                const g = A(),
                    M = { ...xa,
                        ...y
                    };
                return Object.defineProperty(g, hl, {
                    value: M
                }), g
            }

            function xu(A) {
                return Object.getOwnPropertyNames(A).filter(M => !(!A[M] || !A[M].hasOwnProperty(hl)) && A[M][hl].hasOwnProperty("dispatch")).map(M => ({
                    propertyName: M,
                    ...A[M][hl]
                }))
            }

            function ua(A) {
                return Object.getPrototypeOf(A)
            }
            const qa = "__@ngrx/effects__";

            function ho(A) {
                return (0, oe.qC)(Ju, ua)(A)
            }

            function Ju(A) {
                return function kd(A) {
                    return A.constructor.hasOwnProperty(qa)
                }(A) ? A.constructor[qa] : []
            }

            function vs(A, y, g) {
                const M = ua(A).constructor.name,
                    ne = function wa(A) {
                        return [ho, xu].reduce((g, M) => g.concat(M(A)), [])
                    }(A).map(({
                        propertyName: Ce,
                        dispatch: qe,
                        useEffectsErrorHandler: Ye
                    }) => {
                        const wt = "function" == typeof A[Ce] ? A[Ce]() : A[Ce],
                            Zt = Ye ? g(wt, y) : wt;
                        return !1 === qe ? Zt.pipe((0, Se.l)()) : Zt.pipe(function pl() {
                            return (0, is.e)((A, y) => {
                                A.subscribe((0, _s.x)(y, g => {
                                    y.next(On.createNext(g))
                                }, () => {
                                    y.next(On.createComplete()), y.complete()
                                }, g => {
                                    y.next(On.createError(g)), y.complete()
                                }))
                            })
                        }()).pipe((0, pn.U)(En => ({
                            effect: A[Ce],
                            notification: En,
                            propertyName: Ce,
                            sourceName: M,
                            sourceInstance: A
                        })))
                    });
                return (0, T.T)(...ne)
            }

            function Xc(A, y, g = 10) {
                return A.pipe((0, Ss.K)(M => (y && y.handleError(M), g <= 1 ? A : Xc(A, y, g - 1))))
            }
            let wu = (() => {
                class A extends z.y {
                    constructor(g) {
                        super(), g && (this.source = g)
                    }
                    lift(g) {
                        const M = new A;
                        return M.source = this, M.operator = g, M
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.LFG(oe.Y$))
                }, A.\u0275prov = r.Yz7({
                    token: A,
                    factory: A.\u0275fac,
                    providedIn: "root"
                }), A
            })();

            function ka(...A) {
                return (0, Ke.h)(y => A.some(g => "string" == typeof g ? g === y.type : g.type === y.type))
            }
            const $o = new r.OlP("@ngrx/effects Internal Root Guard"),
                ml = new r.OlP("@ngrx/effects User Provided Effects"),
                gl = new r.OlP("@ngrx/effects Internal Root Effects"),
                La = new r.OlP("@ngrx/effects Root Effects"),
                Fc = new r.OlP("@ngrx/effects Internal Feature Effects"),
                Pl = new r.OlP("@ngrx/effects Feature Effects"),
                $a = new r.OlP("@ngrx/effects Effects Error Handler", {
                    providedIn: "root",
                    factory: () => Xc
                }),
                eu = "@ngrx/effects/init";

            function yf(A) {
                return Ec(A, "ngrxOnInitEffects")
            }

            function Ec(A, y) {
                return A && y in A && "function" == typeof A[y]
            }(0, oe.PH)(eu);
            let kc = (() => {
                class A extends se.x {
                    constructor(g, M) {
                        super(), this.errorHandler = g, this.effectsErrorHandler = M
                    }
                    addEffects(g) {
                        this.next(g)
                    }
                    toActions() {
                        return this.pipe(Ka(ua), (0, Ps.z)(g => g.pipe(Ka(iu))), (0, Ps.z)(g => {
                            const M = g.pipe(Rc(Ce => function Lc(A, y) {
                                    return g => {
                                        const M = vs(g, A, y);
                                        return function $d(A) {
                                            return Ec(A, "ngrxOnRunEffects")
                                        }(g) ? g.ngrxOnRunEffects(M) : M
                                    }
                                }(this.errorHandler, this.effectsErrorHandler)(Ce)), (0, pn.U)(Ce => (function Qu(A, y) {
                                    if ("N" === A.notification.kind) {
                                        const g = A.notification.value;
                                        ! function tc(A) {
                                            return "function" != typeof A && A && A.type && "string" == typeof A.type
                                        }(g) && y.handleError(new Error(`Effect ${function tu({propertyName:A,sourceInstance:y,sourceName:g}){const M="function"==typeof y[A];return`
                                            "${g}.${String(A)}${M?" ()
                                            ":"
                                            "}"
                                            `}(A)} dispatched an invalid action: ${function _f(A){try{return JSON.stringify(A)}catch{return A}}(g)}`))
                                    }
                                }(Ce, this.errorHandler), Ce.notification)), (0, Ke.h)(Ce => "N" === Ce.kind && null != Ce.value), function Hs() {
                                    return (0, is.e)((A, y) => {
                                        A.subscribe((0, _s.x)(y, g => gi(g, y)))
                                    })
                                }()),
                                ne = g.pipe((0, ue.q)(1), (0, Ke.h)(yf), (0, pn.U)(Ce => Ce.ngrxOnInitEffects()));
                            return (0, T.T)(M, ne)
                        }))
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.LFG(r.qLn), r.LFG($a))
                }, A.\u0275prov = r.Yz7({
                    token: A,
                    factory: A.\u0275fac,
                    providedIn: "root"
                }), A
            })();

            function iu(A) {
                return function Ld(A) {
                    return Ec(A, "ngrxOnIdentifyEffects")
                }(A) ? A.ngrxOnIdentifyEffects() : ""
            }
            let Dc = (() => {
                    class A {
                        constructor(g, M) {
                            this.effectSources = g, this.store = M, this.effectsSubscription = null
                        }
                        get isStarted() {
                            return !!this.effectsSubscription
                        }
                        start() {
                            this.effectsSubscription || (this.effectsSubscription = this.effectSources.toActions().subscribe(this.store))
                        }
                        ngOnDestroy() {
                            this.effectsSubscription && (this.effectsSubscription.unsubscribe(), this.effectsSubscription = null)
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.LFG(kc), r.LFG(oe.yh))
                    }, A.\u0275prov = r.Yz7({
                        token: A,
                        factory: A.\u0275fac,
                        providedIn: "root"
                    }), A
                })(),
                ou = (() => {
                    class A {
                        constructor(g, M, ne, Ce, qe, Ye, wt) {
                            this.sources = g, M.start(), Ce.forEach(Zt => g.addEffects(Zt)), ne.dispatch({
                                type: eu
                            })
                        }
                        addEffects(g) {
                            this.sources.addEffects(g)
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.LFG(kc), r.LFG(Dc), r.LFG(oe.yh), r.LFG(La), r.LFG(oe.cr, 8), r.LFG(oe.CK, 8), r.LFG($o, 8))
                    }, A.\u0275mod = r.oAB({
                        type: A
                    }), A.\u0275inj = r.cJS({}), A
                })(),
                nc = (() => {
                    class A {
                        constructor(g, M, ne, Ce) {
                            M.forEach(qe => qe.forEach(Ye => g.addEffects(Ye)))
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.LFG(ou), r.LFG(Pl), r.LFG(oe.cr, 8), r.LFG(oe.CK, 8))
                    }, A.\u0275mod = r.oAB({
                        type: A
                    }), A.\u0275inj = r.cJS({}), A
                })(),
                ro = (() => {
                    class A {
                        static forFeature(g = []) {
                            return {
                                ngModule: nc,
                                providers: [g, {
                                    provide: Fc,
                                    multi: !0,
                                    useValue: g
                                }, {
                                    provide: ml,
                                    multi: !0,
                                    useValue: []
                                }, {
                                    provide: Pl,
                                    multi: !0,
                                    useFactory: Xu,
                                    deps: [r.zs3, Fc, ml]
                                }]
                            }
                        }
                        static forRoot(g = []) {
                            return {
                                ngModule: ou,
                                providers: [g, {
                                    provide: gl,
                                    useValue: [g]
                                }, {
                                    provide: $o,
                                    useFactory: Eu,
                                    deps: [
                                        [Dc, new r.FiY, new r.tp0],
                                        [gl, new r.PiD]
                                    ]
                                }, {
                                    provide: ml,
                                    multi: !0,
                                    useValue: []
                                }, {
                                    provide: La,
                                    useFactory: Xu,
                                    deps: [r.zs3, gl, ml]
                                }]
                            }
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)
                    }, A.\u0275mod = r.oAB({
                        type: A
                    }), A.\u0275inj = r.cJS({}), A
                })();

            function Xu(A, y, g) {
                const M = [];
                for (const ne of y) M.push(...ne);
                for (const ne of g) M.push(...ne);
                return function Tc(A, y) {
                    return y.map(g => A.get(g))
                }(A, M)
            }

            function Eu(A, y) {
                if ((1 !== y.length || 0 !== y[0].length) && A) throw new TypeError("EffectsModule.forRoot() called twice. Feature modules should use EffectsModule.forFeature() instead.");
                return "guarded"
            }
            var Bd = _(825),
                Tu = _(590);
            let Cf = (() => {
                class A {
                    constructor(g) {
                        this.store = g
                    }
                    intercept(g, M) {
                        return this.store.select(mt.ev).pipe((0, Ke.h)(ne => !!ne), (0, Tu.P)(), Rc(ne => {
                            const Ce = g.clone({
                                setHeaders: {
                                    "Accept-Language": ne
                                }
                            });
                            return M.handle(Ce)
                        }))
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.LFG(oe.yh))
                }, A.\u0275prov = r.Yz7({
                    token: A,
                    factory: A.\u0275fac
                }), A
            })();
            var $c = _(8915);
            const Ou = {
                    [$c.H5]: $c.I6
                },
                Au = [];
            var Bc = _(8505),
                su = _(1365),
                Uc = _(457),
                au = _(3409);
            let _l = (() => {
                class A {
                    constructor(g, M, ne, Ce, qe) {
                        this.actions$ = g, this.oktaAuth = M, this.translate = ne, this.store = Ce, this.profileService = qe, this.logoutUser$ = Ya(() => this.actions$.pipe(ka(Ge.kS), (0, Bc.b)(Ye => {
                            this.navigateToLogin()
                        }), (0, pn.U)(() => Ge.k9({
                            authenticated: !1
                        })))), this.initAuthentication$ = Ya(() => (0, Uc.D)(this.oktaAuth.isAuthenticated()).pipe((0, Bc.b)(Ye => {
                            window.localStorage.setItem("authenticated", Ye ? "true" : "false")
                        }), (0, pn.U)(Ye => Ge.k9({
                            authenticated: Ye
                        })), (0, Ss.K)(() => (0, st.of)(Ge.k9({
                            authenticated: !1
                        }))))), this.initUser$ = Ya(() => this.actions$.pipe(ka(Ge.PJ), (0, pn.U)(() => Ge.i8()))), this.getUser$ = Ya(() => this.actions$.pipe(ka(Ge.k9), (0, Ke.h)(Ye => Ye.authenticated), (0, Me.w)(() => (0, Uc.D)(this.oktaAuth.getUser()).pipe((0, pn.U)(Ye => Ge.Xb({
                            identity: Ye
                        })))))), this.changeLanguage$ = Ya(() => this.actions$.pipe(ka(Ge.nj), (0, pn.U)(Ye => {
                            const wt = Ye.lang;
                            return this.translate.setDefaultLang(wt), localStorage.setItem("lang", wt), this.translate.use(wt), U.NZ.language = wt.split("-")[0], Ge.hJ({
                                lang: wt
                            })
                        }))), this.initLanguage$ = Ya(() => this.actions$.pipe(ka(Ge.i8), (0, su.M)(this.store.select(mt.eE)), (0, pn.U)(Ye => {
                            this.translate.setDefaultLang(Ye[1]), this.translate.use(Ye[1])
                        })), {
                            dispatch: !1
                        }), this.fetchSecurityQuestions$ = Ya(() => this.actions$.pipe(ka(Ge.Y6), (0, Me.w)(Ye => this.profileService.fetchAllRecoveryQues(Ye.emailId)), (0, Ke.h)(Ye => !!Ye && !!Ye.body), (0, pn.U)(Ye => {
                            let wt = {};
                            return wt.englishList = Ye.body.englishList ? .map(Zt => ({
                                label: Zt,
                                value: Zt
                            })), wt.frenchList = Ye.body.frenchList ? .map(Zt => ({
                                label: Zt,
                                value: Zt
                            })), Ge.w6(wt)
                        }))), this.fetchSecurityQuestionsForProfileSettings$ = Ya(() => this.actions$.pipe(ka(Ge.n9), (0, Me.w)(Ye => this.profileService.fetchSecurityQuestionsForProfileSettings()), (0, Ke.h)(Ye => !!Ye && !!Ye.body), (0, pn.U)(Ye => {
                            let wt = {};
                            return Ye.body.englishList.push(Ye.body.userActiveChoice), Ye.body.frenchList.push(Ye.body.userActiveChoice), wt.englishList = Ye.body.englishList, wt.frenchList = Ye.body.frenchList, Ge.C(wt)
                        }))), this.redirectUrl$ = Ya(() => this.actions$.pipe(ka(Ge.jm), (0, Bc.b)(Ye => localStorage.setItem("redirectUrl", Ye.url))), {
                            dispatch: !1
                        })
                    }
                    navigateToLogin() {
                        this.oktaAuth.signOut({
                            postLogoutRedirectUri: U.AB.postLogoutRedirectUri + U.NZ.language
                        })
                    }
                }
                return A.\u0275fac = function(g) {
                    return new(g || A)(r.LFG(wu), r.LFG(G.u_), r.LFG(ce.sK), r.LFG(oe.yh), r.LFG(au.G))
                }, A.\u0275prov = r.Yz7({
                    token: A,
                    factory: A.\u0275fac
                }), A
            })();
            const Mu = new r.OlP("purolator.configuration.address"),
                Or = new r.OlP("Navigator");

            function ic() {
                return window.navigator
            }
            const Su = new r.OlP("Window");

            function Ea() {
                return window
            }
            class Pu {
                constructor(y, g = "/assets/i18n/", M = ".json") {
                    this.http = y, this.prefix = g, this.suffix = M
                }
                getTranslation(y) {
                    return this.http.get(`${this.prefix}${y}${this.suffix}`)
                }
            }

            function td(A) {
                return new Pu(A, "./assets/i18n/", ".json")
            }(0, V.qS)(Le), (0, V.qS)(ji);
            const lu = new F.ZPm({
                issuer: U.AB.issuer,
                clientId: U.AB.clientId,
                redirectUri: U.AB.redirectUri,
                postLogoutRedirectUri: U.AB.postLogoutRedirectUri + U.NZ.language
            });
            let Da = (() => {
                    class A {}
                    return A.\u0275fac = function(g) {
                        return new(g || A)
                    }, A.\u0275mod = r.oAB({
                        type: A
                    }), A.\u0275inj = r.cJS({
                        providers: [{
                            provide: C.TP,
                            useClass: Cf,
                            multi: !0
                        }, {
                            provide: Mu,
                            useValue: {
                                domain: U.NZ.api.address.url
                            }
                        }, {
                            provide: Xe,
                            useFactory: Dt
                        }, {
                            provide: Or,
                            useFactory: ic
                        }, {
                            provide: Su,
                            useFactory: Ea
                        }, {
                            provide: r.ip1,
                            useFactory: y => () => (y.dispatch((0, Ge.PJ)()), y.select(mt.eE).pipe((0, Ke.h)(g => !!g), (0, ue.q)(1))),
                            multi: !0,
                            deps: [oe.yh]
                        }],
                        imports: [V.ez, Tn.m, C.JF, t.b2, Sl, G.NM.forRoot({
                            oktaAuth: lu
                        }), P.Bz, oe.Aw.forRoot(Ou, {
                            metaReducers: Au
                        }), U.NZ.production ? [] : Bd.FT.instrument({
                            maxAge: 25,
                            logOnly: U.NZ.production
                        }), ro.forRoot([_l]), ce.aw.forRoot({
                            loader: {
                                provide: ce.Zw,
                                useFactory: td,
                                deps: [C.eN]
                            }
                        })]
                    }), A
                })(),
                xf = (() => {
                    class A {
                        constructor(g) {
                            this.oktaAuth = g
                        }
                        intercept(g, M) {
                            if (g.url.includes("/auth")) {
                                const ne = g.clone({
                                    setHeaders: {
                                        Authorization: "Bearer " + this.oktaAuth.getAccessToken()
                                    }
                                });
                                return M.handle(ne)
                            }
                            return M.handle(g)
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.LFG(G.u_))
                    }, A.\u0275prov = r.Yz7({
                        token: A,
                        factory: A.\u0275fac
                    }), A
                })(),
                cu = (() => {
                    class A {
                        constructor(g, M) {
                            this.store = g, this.oktaAuth = M
                        }
                        intercept(g, M) {
                            return U.NZ ? .bypassExternalId && g.url.includes("/auth") ? this.store.select(mt.Sn).pipe((0, Me.w)(ne => {
                                if (ne && ne.sub) {
                                    const Ce = g.clone({
                                        setHeaders: {
                                            externalId: ne.sub
                                        }
                                    });
                                    return M.handle(Ce)
                                }
                                return (0, Uc.D)(this.oktaAuth.getUser()).pipe((0, Me.w)(Ce => {
                                    Ge.Xb({
                                        identity: Ce
                                    });
                                    const qe = g.clone({
                                        setHeaders: {
                                            externalId: Ce.sub
                                        }
                                    });
                                    return M.handle(qe)
                                }), (0, Ss.K)(Ce => {
                                    throw console.log("Error encountered in getUser()"), Ce
                                }))
                            })) : M.handle(g)
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.LFG(oe.yh), r.LFG(G.u_))
                    }, A.\u0275prov = r.Yz7({
                        token: A,
                        factory: A.\u0275fac
                    }), A
                })();
            const Iu = [{
                provide: C.TP,
                useClass: (() => {
                    class A {
                        constructor(g, M, ne) {
                            this.spinner = g, this.router = M, this.store = ne, this.count = 0
                        }
                        intercept(g, M) {
                            return this.spinner.show("sp3"), this.count++, setTimeout(() => {
                                this.spinner.hide("sp3")
                            }, 5e3), g = g.clone({
                                withCredentials: !0
                            }), M.handle(g).pipe((0, Ss.K)(ne => (this.count = 0, this.spinner.hide("sp3"), ne instanceof C.UA && 401 === ne.status ? (this.router.createUrlTree(["/session-timeout"], {
                                queryParams: {
                                    lang: localStorage.getItem("lang")
                                }
                            }), this.store.dispatch(Ge.kS()), tt.E) : (0, Yt._)(ne)))).pipe((0, pn.U)(ne => (ne instanceof C.Zn && (this.count--, (0 === this.count || this.count < 0) && (this.count = 0, this.spinner.hide("sp3"))), ne)))
                        }
                    }
                    return A.\u0275fac = function(g) {
                        return new(g || A)(r.LFG(Te.t2), r.LFG(P.F0), r.LFG(oe.yh))
                    }, A.\u0275prov = r.Yz7({
                        token: A,
                        factory: A.\u0275fac
                    }), A
                })(),
                multi: !0
            }, {
                provide: C.TP,
                useClass: cu,
                multi: !0
            }, {
                provide: C.TP,
                useClass: xf,
                multi: !0
            }];
            let nd = (() => {
                class A {}
                return A.\u0275fac = function(g) {
                    return new(g || A)
                }, A.\u0275mod = r.oAB({
                    type: A,
                    bootstrap: [Kr]
                }), A.\u0275inj = r.cJS({
                    providers: [Iu],
                    imports: [Da, Tn.m, re, x.dV.forRoot({
                        environment: U.NZ.library
                    })]
                }), A
            })();
            U.NZ.production && (0, r.G48)(), t.q6().bootstrapModule(nd).catch(A => console.error(A))
        },
        8171: function(Re, he, _) {
            Re.exports = function(t, r, U, C) {
                "use strict";
                return class V extends U {
                    constructor($, K) {
                        super(), ($ = C.getElement($)) && (this._element = $, this._config = this._getConfig(K), t.set(this._element, this.constructor.DATA_KEY, this))
                    }
                    dispose() {
                        t.remove(this._element, this.constructor.DATA_KEY), r.off(this._element, this.constructor.EVENT_KEY);
                        for (const $ of Object.getOwnPropertyNames(this)) this[$] = null
                    }
                    _queueCallback($, K, G = !0) {
                        C.executeAfterTransition($, K, G)
                    }
                    _getConfig($) {
                        return $ = this._mergeConfigObj($, this._element), $ = this._configAfterMerge($), this._typeCheckConfig($), $
                    }
                    static getInstance($) {
                        return t.get(C.getElement($), this.DATA_KEY)
                    }
                    static getOrCreateInstance($, K = {}) {
                        return this.getInstance($) || new this($, "object" == typeof K ? K : null)
                    }
                    static get VERSION() {
                        return "5.3.8"
                    }
                    static get DATA_KEY() {
                        return `bs.${this.NAME}`
                    }
                    static get EVENT_KEY() {
                        return `.${this.DATA_KEY}`
                    }
                    static eventName($) {
                        return `${$}${this.EVENT_KEY}`
                    }
                }
            }(_(8951), _(5934), _(1133), _(8961))
        },
        8951: function(Re) {
            Re.exports = function() {
                "use strict";
                const he = new Map;
                return {
                    set(t, r, U) {
                        he.has(t) || he.set(t, new Map);
                        const C = he.get(t);
                        C.has(r) || 0 === C.size ? C.set(r, U) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(C.keys())[0]}.`)
                    },
                    get: (t, r) => he.has(t) && he.get(t).get(r) || null,
                    remove(t, r) {
                        if (!he.has(t)) return;
                        const U = he.get(t);
                        U.delete(r), 0 === U.size && he.delete(t)
                    }
                }
            }()
        },
        5934: function(Re, he, _) {
            Re.exports = function(t) {
                "use strict";
                const r = /[^.]*(?=\..*)\.|.*/,
                    U = /\..*/,
                    C = /::\d+$/,
                    x = {};
                let V = 1;
                const P = {
                        mouseenter: "mouseover",
                        mouseleave: "mouseout"
                    },
                    $ = new Set(["click", "dblclick", "mouseup", "mousedown", "contextmenu", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"]);

                function K(me, ge) {
                    return ge && `${ge}::${V++}` || me.uidEvent || V++
                }

                function G(me) {
                    const ge = K(me);
                    return me.uidEvent = ge, x[ge] = x[ge] || {}, x[ge]
                }

                function B(me, ge, _e = null) {
                    return Object.values(me).find(we => we.callable === ge && we.delegationSelector === _e)
                }

                function le(me, ge, _e) {
                    const we = "string" == typeof ge,
                        ke = we ? _e : ge || _e;
                    let Je = ce(me);
                    return $.has(Je) || (Je = me), [we, ke, Je]
                }

                function oe(me, ge, _e, we, ke) {
                    if ("string" != typeof ge || !me) return;
                    let [Je, ue, Me] = le(ge, _e, we);
                    var Ct;
                    ge in P && (Ct = ue, ue = function(ht) {
                        if (!ht.relatedTarget || ht.relatedTarget !== ht.delegateTarget && !ht.delegateTarget.contains(ht.relatedTarget)) return Ct.call(this, ht)
                    });
                    const Ke = G(me),
                        Be = Ke[Me] || (Ke[Me] = {}),
                        He = B(Be, ue, Je ? _e : null);
                    if (He) return void(He.oneOff = He.oneOff && ke);
                    const xt = K(ue, ge.replace(r, "")),
                        kt = Je ? function k(me, ge, _e) {
                            return function we(ke) {
                                const Je = me.querySelectorAll(ge);
                                for (let {
                                        target: ue
                                    } = ke; ue && ue !== this; ue = ue.parentNode)
                                    for (const Me of Je)
                                        if (Me === ue) return je(ke, {
                                            delegateTarget: ue
                                        }), we.oneOff && be.off(me, ke.type, ge, _e), _e.apply(ue, [ke])
                            }
                        }(me, _e, ue) : function F(me, ge) {
                            return function _e(we) {
                                return je(we, {
                                    delegateTarget: me
                                }), _e.oneOff && be.off(me, we.type, ge), ge.apply(me, [we])
                            }
                        }(me, ue);
                    kt.delegationSelector = Je ? _e : null, kt.callable = ue, kt.oneOff = ke, kt.uidEvent = xt, Be[xt] = kt, me.addEventListener(Me, kt, Je)
                }

                function Te(me, ge, _e, we, ke) {
                    const Je = B(ge[_e], we, ke);
                    !Je || (me.removeEventListener(_e, Je, Boolean(ke)), delete ge[_e][Je.uidEvent])
                }

                function Ae(me, ge, _e, we) {
                    const ke = ge[_e] || {};
                    for (const [Je, ue] of Object.entries(ke)) Je.includes(we) && Te(me, ge, _e, ue.callable, ue.delegationSelector)
                }

                function ce(me) {
                    return me = me.replace(U, ""), P[me] || me
                }
                const be = {
                    on(me, ge, _e, we) {
                        oe(me, ge, _e, we, !1)
                    },
                    one(me, ge, _e, we) {
                        oe(me, ge, _e, we, !0)
                    },
                    off(me, ge, _e, we) {
                        if ("string" != typeof ge || !me) return;
                        const [ke, Je, ue] = le(ge, _e, we), Me = ue !== ge, Ke = G(me), Be = Ke[ue] || {}, He = ge.startsWith(".");
                        if (typeof Je < "u") {
                            if (!Object.keys(Be).length) return;
                            Te(me, Ke, ue, Je, ke ? _e : null)
                        } else {
                            if (He)
                                for (const xt of Object.keys(Ke)) Ae(me, Ke, xt, ge.slice(1));
                            for (const [xt, kt] of Object.entries(Be)) {
                                const St = xt.replace(C, "");
                                (!Me || ge.includes(St)) && Te(me, Ke, ue, kt.callable, kt.delegationSelector)
                            }
                        }
                    },
                    trigger(me, ge, _e) {
                        if ("string" != typeof ge || !me) return null;
                        const we = t.getjQuery();
                        let ue = null,
                            Me = !0,
                            Ke = !0,
                            Be = !1;
                        ge !== ce(ge) && we && (ue = we.Event(ge, _e), we(me).trigger(ue), Me = !ue.isPropagationStopped(), Ke = !ue.isImmediatePropagationStopped(), Be = ue.isDefaultPrevented());
                        const He = je(new Event(ge, {
                            bubbles: Me,
                            cancelable: !0
                        }), _e);
                        return Be && He.preventDefault(), Ke && me.dispatchEvent(He), He.defaultPrevented && ue && ue.preventDefault(), He
                    }
                };

                function je(me, ge = {}) {
                    for (const [_e, we] of Object.entries(ge)) try {
                        me[_e] = we
                    } catch {
                        Object.defineProperty(me, _e, {
                            configurable: !0,
                            get: () => we
                        })
                    }
                    return me
                }
                return be
            }(_(8961))
        },
        9904: function(Re) {
            Re.exports = function() {
                "use strict";

                function he(r) {
                    if ("true" === r) return !0;
                    if ("false" === r) return !1;
                    if (r === Number(r).toString()) return Number(r);
                    if ("" === r || "null" === r) return null;
                    if ("string" != typeof r) return r;
                    try {
                        return JSON.parse(decodeURIComponent(r))
                    } catch {
                        return r
                    }
                }

                function _(r) {
                    return r.replace(/[A-Z]/g, U => `-${U.toLowerCase()}`)
                }
                return {
                    setDataAttribute(r, U, C) {
                        r.setAttribute(`data-bs-${_(U)}`, C)
                    },
                    removeDataAttribute(r, U) {
                        r.removeAttribute(`data-bs-${_(U)}`)
                    },
                    getDataAttributes(r) {
                        if (!r) return {};
                        const U = {},
                            C = Object.keys(r.dataset).filter(x => x.startsWith("bs") && !x.startsWith("bsConfig"));
                        for (const x of C) {
                            let V = x.replace(/^bs/, "");
                            V = V.charAt(0).toLowerCase() + V.slice(1), U[V] = he(r.dataset[x])
                        }
                        return U
                    },
                    getDataAttribute: (r, U) => he(r.getAttribute(`data-bs-${_(U)}`))
                }
            }()
        },
        3404: function(Re, he, _) {
            Re.exports = function(t) {
                "use strict";
                const r = C => {
                        let x = C.getAttribute("data-bs-target");
                        if (!x || "#" === x) {
                            let V = C.getAttribute("href");
                            if (!V || !V.includes("#") && !V.startsWith(".")) return null;
                            V.includes("#") && !V.startsWith("#") && (V = `#${V.split("#")[1]}`), x = V && "#" !== V ? V.trim() : null
                        }
                        return x ? x.split(",").map(V => t.parseSelector(V)).join(",") : null
                    },
                    U = {
                        find: (C, x = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(x, C)),
                        findOne: (C, x = document.documentElement) => Element.prototype.querySelector.call(x, C),
                        children: (C, x) => [].concat(...C.children).filter(V => V.matches(x)),
                        parents(C, x) {
                            const V = [];
                            let P = C.parentNode.closest(x);
                            for (; P;) V.push(P), P = P.parentNode.closest(x);
                            return V
                        },
                        prev(C, x) {
                            let V = C.previousElementSibling;
                            for (; V;) {
                                if (V.matches(x)) return [V];
                                V = V.previousElementSibling
                            }
                            return []
                        },
                        next(C, x) {
                            let V = C.nextElementSibling;
                            for (; V;) {
                                if (V.matches(x)) return [V];
                                V = V.nextElementSibling
                            }
                            return []
                        },
                        focusableChildren(C) {
                            const x = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map(V => `${V}:not([tabindex^="-"])`).join(",");
                            return this.find(x, C).filter(V => !t.isDisabled(V) && t.isVisible(V))
                        },
                        getSelectorFromElement(C) {
                            const x = r(C);
                            return x && U.findOne(x) ? x : null
                        },
                        getElementFromSelector(C) {
                            const x = r(C);
                            return x ? U.findOne(x) : null
                        },
                        getMultipleElementsFromSelector(C) {
                            const x = r(C);
                            return x ? U.find(x) : []
                        }
                    };
                return U
            }(_(8961))
        },
        9432: function(Re, he, _) {
            Re.exports = function(t, r, U, C, x, V, P, $) {
                "use strict";
                const F = ".bs.modal",
                    le = `hide${F}`,
                    oe = `hidePrevented${F}`,
                    Te = `hidden${F}`,
                    Ae = `show${F}`,
                    ce = `shown${F}`,
                    be = `resize${F}`,
                    je = `click.dismiss${F}`,
                    me = `mousedown.dismiss${F}`,
                    ge = `keydown.dismiss${F}`,
                    _e = `click${F}.data-api`,
                    we = "modal-open",
                    ue = "modal-static",
                    xt = {
                        backdrop: !0,
                        focus: !0,
                        keyboard: !0
                    },
                    kt = {
                        backdrop: "(boolean|string)",
                        focus: "boolean",
                        keyboard: "boolean"
                    };
                class St extends t {
                    constructor(ht, Pe) {
                        super(ht, Pe), this._dialog = U.findOne(".modal-dialog", this._element), this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._isShown = !1, this._isTransitioning = !1, this._scrollBar = new $, this._addEventListeners()
                    }
                    static get Default() {
                        return xt
                    }
                    static get DefaultType() {
                        return kt
                    }
                    static get NAME() {
                        return "modal"
                    }
                    toggle(ht) {
                        return this._isShown ? this.hide() : this.show(ht)
                    }
                    show(ht) {
                        this._isShown || this._isTransitioning || r.trigger(this._element, Ae, {
                            relatedTarget: ht
                        }).defaultPrevented || (this._isShown = !0, this._isTransitioning = !0, this._scrollBar.hide(), document.body.classList.add(we), this._adjustDialog(), this._backdrop.show(() => this._showElement(ht)))
                    }
                    hide() {
                        !this._isShown || this._isTransitioning || r.trigger(this._element, le).defaultPrevented || (this._isShown = !1, this._isTransitioning = !0, this._focustrap.deactivate(), this._element.classList.remove("show"), this._queueCallback(() => this._hideModal(), this._element, this._isAnimated()))
                    }
                    dispose() {
                        r.off(window, F), r.off(this._dialog, F), this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose()
                    }
                    handleUpdate() {
                        this._adjustDialog()
                    }
                    _initializeBackDrop() {
                        return new C({
                            isVisible: Boolean(this._config.backdrop),
                            isAnimated: this._isAnimated()
                        })
                    }
                    _initializeFocusTrap() {
                        return new V({
                            trapElement: this._element
                        })
                    }
                    _showElement(ht) {
                        document.body.contains(this._element) || document.body.append(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0;
                        const Pe = U.findOne(".modal-body", this._dialog);
                        Pe && (Pe.scrollTop = 0), P.reflow(this._element), this._element.classList.add("show"), this._queueCallback(() => {
                            this._config.focus && this._focustrap.activate(), this._isTransitioning = !1, r.trigger(this._element, ce, {
                                relatedTarget: ht
                            })
                        }, this._dialog, this._isAnimated())
                    }
                    _addEventListeners() {
                        r.on(this._element, ge, ht => {
                            if ("Escape" === ht.key) {
                                if (this._config.keyboard) return void this.hide();
                                this._triggerBackdropTransition()
                            }
                        }), r.on(window, be, () => {
                            this._isShown && !this._isTransitioning && this._adjustDialog()
                        }), r.on(this._element, me, ht => {
                            r.one(this._element, je, Pe => {
                                if (this._element === ht.target && this._element === Pe.target) {
                                    if ("static" === this._config.backdrop) return void this._triggerBackdropTransition();
                                    this._config.backdrop && this.hide()
                                }
                            })
                        })
                    }
                    _hideModal() {
                        this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._backdrop.hide(() => {
                            document.body.classList.remove(we), this._resetAdjustments(), this._scrollBar.reset(), r.trigger(this._element, Te)
                        })
                    }
                    _isAnimated() {
                        return this._element.classList.contains("fade")
                    }
                    _triggerBackdropTransition() {
                        if (r.trigger(this._element, oe).defaultPrevented) return;
                        const Pe = this._element.scrollHeight > document.documentElement.clientHeight,
                            De = this._element.style.overflowY;
                        "hidden" === De || this._element.classList.contains(ue) || (Pe || (this._element.style.overflowY = "hidden"), this._element.classList.add(ue), this._queueCallback(() => {
                            this._element.classList.remove(ue), this._queueCallback(() => {
                                this._element.style.overflowY = De
                            }, this._dialog)
                        }, this._dialog), this._element.focus())
                    }
                    _adjustDialog() {
                        const ht = this._element.scrollHeight > document.documentElement.clientHeight,
                            Pe = this._scrollBar.getWidth(),
                            De = Pe > 0;
                        if (De && !ht) {
                            const J = P.isRTL() ? "paddingLeft" : "paddingRight";
                            this._element.style[J] = `${Pe}px`
                        }
                        if (!De && ht) {
                            const J = P.isRTL() ? "paddingRight" : "paddingLeft";
                            this._element.style[J] = `${Pe}px`
                        }
                    }
                    _resetAdjustments() {
                        this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
                    }
                    static jQueryInterface(ht, Pe) {
                        return this.each(function() {
                            const De = St.getOrCreateInstance(this, ht);
                            if ("string" == typeof ht) {
                                if (typeof De[ht] > "u") throw new TypeError(`No method named "${ht}"`);
                                De[ht](Pe)
                            }
                        })
                    }
                }
                return r.on(document, _e, '[data-bs-toggle="modal"]', function(Ct) {
                    const ht = U.getElementFromSelector(this);
                    ["A", "AREA"].includes(this.tagName) && Ct.preventDefault(), r.one(ht, Ae, J => {
                        J.defaultPrevented || r.one(ht, Te, () => {
                            P.isVisible(this) && this.focus()
                        })
                    });
                    const Pe = U.findOne(".modal.show");
                    Pe && St.getInstance(Pe).hide(), St.getOrCreateInstance(ht).toggle(this)
                }), x.enableDismissTrigger(St), P.defineJQueryPlugin(St), St
            }(_(8171), _(5934), _(3404), _(3092), _(2237), _(8477), _(8961), _(2162))
        },
        3092: function(Re, he, _) {
            Re.exports = function(t, r, U) {
                "use strict";
                const C = "backdrop",
                    V = "show",
                    P = `mousedown.bs.${C}`,
                    $ = {
                        className: "modal-backdrop",
                        clickCallback: null,
                        isAnimated: !1,
                        isVisible: !0,
                        rootElement: "body"
                    },
                    K = {
                        className: "string",
                        clickCallback: "(function|null)",
                        isAnimated: "boolean",
                        isVisible: "boolean",
                        rootElement: "(element|string)"
                    };
                return class G extends r {
                    constructor(k) {
                        super(), this._config = this._getConfig(k), this._isAppended = !1, this._element = null
                    }
                    static get Default() {
                        return $
                    }
                    static get DefaultType() {
                        return K
                    }
                    static get NAME() {
                        return C
                    }
                    show(k) {
                        if (!this._config.isVisible) return void U.execute(k);
                        this._append();
                        const B = this._getElement();
                        this._config.isAnimated && U.reflow(B), B.classList.add(V), this._emulateAnimation(() => {
                            U.execute(k)
                        })
                    }
                    hide(k) {
                        this._config.isVisible ? (this._getElement().classList.remove(V), this._emulateAnimation(() => {
                            this.dispose(), U.execute(k)
                        })) : U.execute(k)
                    }
                    dispose() {
                        !this._isAppended || (t.off(this._element, P), this._element.remove(), this._isAppended = !1)
                    }
                    _getElement() {
                        if (!this._element) {
                            const k = document.createElement("div");
                            k.className = this._config.className, this._config.isAnimated && k.classList.add("fade"), this._element = k
                        }
                        return this._element
                    }
                    _configAfterMerge(k) {
                        return k.rootElement = U.getElement(k.rootElement), k
                    }
                    _append() {
                        if (this._isAppended) return;
                        const k = this._getElement();
                        this._config.rootElement.append(k), t.on(k, P, () => {
                            U.execute(this._config.clickCallback)
                        }), this._isAppended = !0
                    }
                    _emulateAnimation(k) {
                        U.executeAfterTransition(k, this._getElement(), this._config.isAnimated)
                    }
                }
            }(_(5934), _(1133), _(8961))
        },
        2237: function(Re, he, _) {
            ! function(t, r, U, C) {
                "use strict";
                t.enableDismissTrigger = (V, P = "hide") => {
                    const K = V.NAME;
                    r.on(document, `click.dismiss${V.EVENT_KEY}`, `[data-bs-dismiss="${K}"]`, function(G) {
                        if (["A", "AREA"].includes(this.tagName) && G.preventDefault(), C.isDisabled(this)) return;
                        const F = U.getElementFromSelector(this) || this.closest(`.${K}`);
                        V.getOrCreateInstance(F)[P]()
                    })
                }, Object.defineProperty(t, Symbol.toStringTag, {
                    value: "Module"
                })
            }(he, _(5934), _(3404), _(8961))
        },
        1133: function(Re, he, _) {
            Re.exports = function(t, r) {
                "use strict";
                return class U {
                    static get Default() {
                        return {}
                    }
                    static get DefaultType() {
                        return {}
                    }
                    static get NAME() {
                        throw new Error('You have to implement the static method "NAME", for each component!')
                    }
                    _getConfig(x) {
                        return x = this._mergeConfigObj(x), x = this._configAfterMerge(x), this._typeCheckConfig(x), x
                    }
                    _configAfterMerge(x) {
                        return x
                    }
                    _mergeConfigObj(x, V) {
                        const P = r.isElement(V) ? t.getDataAttribute(V, "config") : {};
                        return { ...this.constructor.Default,
                            ..."object" == typeof P ? P : {},
                            ...r.isElement(V) ? t.getDataAttributes(V) : {},
                            ..."object" == typeof x ? x : {}
                        }
                    }
                    _typeCheckConfig(x, V = this.constructor.DefaultType) {
                        for (const [P, $] of Object.entries(V)) {
                            const K = x[P],
                                G = r.isElement(K) ? "element" : r.toType(K);
                            if (!new RegExp($).test(G)) throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${P}" provided type "${G}" but expected type "${$}".`)
                        }
                    }
                }
            }(_(9904), _(8961))
        },
        8477: function(Re, he, _) {
            Re.exports = function(t, r, U) {
                "use strict";
                const V = ".bs.focustrap",
                    P = `focusin${V}`,
                    $ = `keydown.tab${V}`,
                    F = "backward",
                    k = {
                        autofocus: !0,
                        trapElement: null
                    },
                    B = {
                        autofocus: "boolean",
                        trapElement: "element"
                    };
                return class le extends U {
                    constructor(Te) {
                        super(), this._config = this._getConfig(Te), this._isActive = !1, this._lastTabNavDirection = null
                    }
                    static get Default() {
                        return k
                    }
                    static get DefaultType() {
                        return B
                    }
                    static get NAME() {
                        return "focustrap"
                    }
                    activate() {
                        this._isActive || (this._config.autofocus && this._config.trapElement.focus(), t.off(document, V), t.on(document, P, Te => this._handleFocusin(Te)), t.on(document, $, Te => this._handleKeydown(Te)), this._isActive = !0)
                    }
                    deactivate() {
                        !this._isActive || (this._isActive = !1, t.off(document, V))
                    }
                    _handleFocusin(Te) {
                        const {
                            trapElement: Ae
                        } = this._config;
                        if (Te.target === document || Te.target === Ae || Ae.contains(Te.target)) return;
                        const ce = r.focusableChildren(Ae);
                        0 === ce.length ? Ae.focus() : this._lastTabNavDirection === F ? ce[ce.length - 1].focus() : ce[0].focus()
                    }
                    _handleKeydown(Te) {
                        "Tab" === Te.key && (this._lastTabNavDirection = Te.shiftKey ? F : "forward")
                    }
                }
            }(_(5934), _(3404), _(1133))
        },
        8961: function(Re, he) {
            ! function(_) {
                "use strict";
                const U = "transitionend",
                    C = we => (we && window.CSS && window.CSS.escape && (we = we.replace(/#([^\s"#']+)/g, (ke, Je) => `#${CSS.escape(Je)}`)), we),
                    P = we => {
                        if (!we) return 0;
                        let {
                            transitionDuration: ke,
                            transitionDelay: Je
                        } = window.getComputedStyle(we);
                        const ue = Number.parseFloat(ke),
                            Me = Number.parseFloat(Je);
                        return ue || Me ? (ke = ke.split(",")[0], Je = Je.split(",")[0], 1e3 * (Number.parseFloat(ke) + Number.parseFloat(Je))) : 0
                    },
                    $ = we => {
                        we.dispatchEvent(new Event(U))
                    },
                    K = we => !(!we || "object" != typeof we) && (typeof we.jquery < "u" && (we = we[0]), typeof we.nodeType < "u"),
                    B = we => {
                        if (!document.documentElement.attachShadow) return null;
                        if ("function" == typeof we.getRootNode) {
                            const ke = we.getRootNode();
                            return ke instanceof ShadowRoot ? ke : null
                        }
                        return we instanceof ShadowRoot ? we : we.parentNode ? B(we.parentNode) : null
                    },
                    Te = () => window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null,
                    Ae = [],
                    ce = we => {
                        "loading" === document.readyState ? (Ae.length || document.addEventListener("DOMContentLoaded", () => {
                            for (const ke of Ae) ke()
                        }), Ae.push(we)) : we()
                    },
                    me = (we, ke = [], Je = we) => "function" == typeof we ? we.call(...ke) : Je;
                _.defineJQueryPlugin = we => {
                    ce(() => {
                        const ke = Te();
                        if (ke) {
                            const Je = we.NAME,
                                ue = ke.fn[Je];
                            ke.fn[Je] = we.jQueryInterface, ke.fn[Je].Constructor = we, ke.fn[Je].noConflict = () => (ke.fn[Je] = ue, we.jQueryInterface)
                        }
                    })
                }, _.execute = me, _.executeAfterTransition = (we, ke, Je = !0) => {
                    if (!Je) return void me(we);
                    const Me = P(ke) + 5;
                    let Ke = !1;
                    const Be = ({
                        target: He
                    }) => {
                        He === ke && (Ke = !0, ke.removeEventListener(U, Be), me(we))
                    };
                    ke.addEventListener(U, Be), setTimeout(() => {
                        Ke || $(ke)
                    }, Me)
                }, _.findShadowRoot = B, _.getElement = we => K(we) ? we.jquery ? we[0] : we : "string" == typeof we && we.length > 0 ? document.querySelector(C(we)) : null, _.getNextActiveElement = (we, ke, Je, ue) => {
                    const Me = we.length;
                    let Ke = we.indexOf(ke);
                    return -1 === Ke ? !Je && ue ? we[Me - 1] : we[0] : (Ke += Je ? 1 : -1, ue && (Ke = (Ke + Me) % Me), we[Math.max(0, Math.min(Ke, Me - 1))])
                }, _.getTransitionDurationFromElement = P, _.getUID = we => {
                    do {
                        we += Math.floor(1e6 * Math.random())
                    } while (document.getElementById(we));
                    return we
                }, _.getjQuery = Te, _.isDisabled = we => !(we && we.nodeType === Node.ELEMENT_NODE && !we.classList.contains("disabled")) || (typeof we.disabled < "u" ? we.disabled : we.hasAttribute("disabled") && "false" !== we.getAttribute("disabled")), _.isElement = K, _.isRTL = () => "rtl" === document.documentElement.dir, _.isVisible = we => {
                    if (!K(we) || 0 === we.getClientRects().length) return !1;
                    const ke = "visible" === getComputedStyle(we).getPropertyValue("visibility"),
                        Je = we.closest("details:not([open])");
                    if (!Je) return ke;
                    if (Je !== we) {
                        const ue = we.closest("summary");
                        if (ue && ue.parentNode !== Je || null === ue) return !1
                    }
                    return ke
                }, _.noop = () => {}, _.onDOMContentLoaded = ce, _.parseSelector = C, _.reflow = we => {}, _.toType = we => null == we ? `${we}` : Object.prototype.toString.call(we).match(/\s([a-z]+)/i)[1].toLowerCase(), _.triggerTransitionEnd = $, Object.defineProperty(_, Symbol.toStringTag, {
                    value: "Module"
                })
            }(he)
        },
        2162: function(Re, he, _) {
            Re.exports = function(t, r, U) {
                "use strict";
                const C = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
                    x = ".sticky-top",
                    V = "padding-right",
                    P = "margin-right";
                return class $ {
                    constructor() {
                        this._element = document.body
                    }
                    getWidth() {
                        const G = document.documentElement.clientWidth;
                        return Math.abs(window.innerWidth - G)
                    }
                    hide() {
                        const G = this.getWidth();
                        this._disableOverFlow(), this._setElementAttributes(this._element, V, F => F + G), this._setElementAttributes(C, V, F => F + G), this._setElementAttributes(x, P, F => F - G)
                    }
                    reset() {
                        this._resetElementAttributes(this._element, "overflow"), this._resetElementAttributes(this._element, V), this._resetElementAttributes(C, V), this._resetElementAttributes(x, P)
                    }
                    isOverflowing() {
                        return this.getWidth() > 0
                    }
                    _disableOverFlow() {
                        this._saveInitialAttribute(this._element, "overflow"), this._element.style.overflow = "hidden"
                    }
                    _setElementAttributes(G, F, k) {
                        const B = this.getWidth();
                        this._applyManipulationCallback(G, oe => {
                            if (oe !== this._element && window.innerWidth > oe.clientWidth + B) return;
                            this._saveInitialAttribute(oe, F);
                            const Te = window.getComputedStyle(oe).getPropertyValue(F);
                            oe.style.setProperty(F, `${k(Number.parseFloat(Te))}px`)
                        })
                    }
                    _saveInitialAttribute(G, F) {
                        const k = G.style.getPropertyValue(F);
                        k && t.setDataAttribute(G, F, k)
                    }
                    _resetElementAttributes(G, F) {
                        this._applyManipulationCallback(G, B => {
                            const le = t.getDataAttribute(B, F);
                            null !== le ? (t.removeDataAttribute(B, F), B.style.setProperty(F, le)) : B.style.removeProperty(F)
                        })
                    }
                    _applyManipulationCallback(G, F) {
                        if (U.isElement(G)) F(G);
                        else
                            for (const k of r.find(G, this._element)) F(k)
                    }
                }
            }(_(9904), _(3404), _(8961))
        },
        8472: (Re, he) => {
            var U, _ = typeof globalThis < "u" && globalThis || typeof self < "u" && self || typeof global < "u" && global,
                t = function() {
                    function U() {
                        this.fetch = !1, this.DOMException = _.DOMException
                    }
                    return U.prototype = _, new U
                }();
            U = t,
                function(x) {
                    var V = typeof U < "u" && U || typeof self < "u" && self || typeof global < "u" && global || {},
                        P_searchParams = "URLSearchParams" in V,
                        P_iterable = "Symbol" in V && "iterator" in Symbol,
                        P_blob = "FileReader" in V && "Blob" in V && function() {
                            try {
                                return new Blob, !0
                            } catch {
                                return !1
                            }
                        }(),
                        P_formData = "FormData" in V,
                        P_arrayBuffer = "ArrayBuffer" in V;
                    if (P_arrayBuffer) var K = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"],
                        G = ArrayBuffer.isView || function(Be) {
                            return Be && K.indexOf(Object.prototype.toString.call(Be)) > -1
                        };

                    function F(Be) {
                        if ("string" != typeof Be && (Be = String(Be)), /[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(Be) || "" === Be) throw new TypeError('Invalid character in header field name: "' + Be + '"');
                        return Be.toLowerCase()
                    }

                    function k(Be) {
                        return "string" != typeof Be && (Be = String(Be)), Be
                    }

                    function B(Be) {
                        var He = {
                            next: function() {
                                var xt = Be.shift();
                                return {
                                    done: void 0 === xt,
                                    value: xt
                                }
                            }
                        };
                        return P_iterable && (He[Symbol.iterator] = function() {
                            return He
                        }), He
                    }

                    function le(Be) {
                        this.map = {}, Be instanceof le ? Be.forEach(function(He, xt) {
                            this.append(xt, He)
                        }, this) : Array.isArray(Be) ? Be.forEach(function(He) {
                            if (2 != He.length) throw new TypeError("Headers constructor: expected name/value pair to be length 2, found" + He.length);
                            this.append(He[0], He[1])
                        }, this) : Be && Object.getOwnPropertyNames(Be).forEach(function(He) {
                            this.append(He, Be[He])
                        }, this)
                    }

                    function oe(Be) {
                        if (!Be._noBody) {
                            if (Be.bodyUsed) return Promise.reject(new TypeError("Already read"));
                            Be.bodyUsed = !0
                        }
                    }

                    function Te(Be) {
                        return new Promise(function(He, xt) {
                            Be.onload = function() {
                                He(Be.result)
                            }, Be.onerror = function() {
                                xt(Be.error)
                            }
                        })
                    }

                    function Ae(Be) {
                        var He = new FileReader,
                            xt = Te(He);
                        return He.readAsArrayBuffer(Be), xt
                    }

                    function je(Be) {
                        if (Be.slice) return Be.slice(0);
                        var He = new Uint8Array(Be.byteLength);
                        return He.set(new Uint8Array(Be)), He.buffer
                    }

                    function me() {
                        return this.bodyUsed = !1, this._initBody = function(Be) {
                            this.bodyUsed = this.bodyUsed, this._bodyInit = Be, Be ? "string" == typeof Be ? this._bodyText = Be : P_blob && Blob.prototype.isPrototypeOf(Be) ? this._bodyBlob = Be : P_formData && FormData.prototype.isPrototypeOf(Be) ? this._bodyFormData = Be : P_searchParams && URLSearchParams.prototype.isPrototypeOf(Be) ? this._bodyText = Be.toString() : P_arrayBuffer && P_blob && function $(Be) {
                                return Be && DataView.prototype.isPrototypeOf(Be)
                            }(Be) ? (this._bodyArrayBuffer = je(Be.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : P_arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(Be) || G(Be)) ? this._bodyArrayBuffer = je(Be) : this._bodyText = Be = Object.prototype.toString.call(Be) : (this._noBody = !0, this._bodyText = ""), this.headers.get("content-type") || ("string" == typeof Be ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : P_searchParams && URLSearchParams.prototype.isPrototypeOf(Be) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"))
                        }, P_blob && (this.blob = function() {
                            var Be = oe(this);
                            if (Be) return Be;
                            if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
                            if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer]));
                            if (this._bodyFormData) throw new Error("could not read FormData body as blob");
                            return Promise.resolve(new Blob([this._bodyText]))
                        }), this.arrayBuffer = function() {
                            if (this._bodyArrayBuffer) return oe(this) || (ArrayBuffer.isView(this._bodyArrayBuffer) ? Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset, this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength)) : Promise.resolve(this._bodyArrayBuffer));
                            if (P_blob) return this.blob().then(Ae);
                            throw new Error("could not read as ArrayBuffer")
                        }, this.text = function() {
                            var Be = oe(this);
                            if (Be) return Be;
                            if (this._bodyBlob) return function ce(Be) {
                                var He = new FileReader,
                                    xt = Te(He),
                                    kt = /charset=([A-Za-z0-9_-]+)/.exec(Be.type);
                                return He.readAsText(Be, kt ? kt[1] : "utf-8"), xt
                            }(this._bodyBlob);
                            if (this._bodyArrayBuffer) return Promise.resolve(function be(Be) {
                                for (var He = new Uint8Array(Be), xt = new Array(He.length), kt = 0; kt < He.length; kt++) xt[kt] = String.fromCharCode(He[kt]);
                                return xt.join("")
                            }(this._bodyArrayBuffer));
                            if (this._bodyFormData) throw new Error("could not read FormData body as text");
                            return Promise.resolve(this._bodyText)
                        }, P_formData && (this.formData = function() {
                            return this.text().then(ke)
                        }), this.json = function() {
                            return this.text().then(JSON.parse)
                        }, this
                    }
                    le.prototype.append = function(Be, He) {
                        Be = F(Be), He = k(He);
                        var xt = this.map[Be];
                        this.map[Be] = xt ? xt + ", " + He : He
                    }, le.prototype.delete = function(Be) {
                        delete this.map[F(Be)]
                    }, le.prototype.get = function(Be) {
                        return Be = F(Be), this.has(Be) ? this.map[Be] : null
                    }, le.prototype.has = function(Be) {
                        return this.map.hasOwnProperty(F(Be))
                    }, le.prototype.set = function(Be, He) {
                        this.map[F(Be)] = k(He)
                    }, le.prototype.forEach = function(Be, He) {
                        for (var xt in this.map) this.map.hasOwnProperty(xt) && Be.call(He, this.map[xt], xt, this)
                    }, le.prototype.keys = function() {
                        var Be = [];
                        return this.forEach(function(He, xt) {
                            Be.push(xt)
                        }), B(Be)
                    }, le.prototype.values = function() {
                        var Be = [];
                        return this.forEach(function(He) {
                            Be.push(He)
                        }), B(Be)
                    }, le.prototype.entries = function() {
                        var Be = [];
                        return this.forEach(function(He, xt) {
                            Be.push([xt, He])
                        }), B(Be)
                    }, P_iterable && (le.prototype[Symbol.iterator] = le.prototype.entries);
                    var ge = ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"];

                    function we(Be, He) {
                        if (!(this instanceof we)) throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
                        var xt = (He = He || {}).body;
                        if (Be instanceof we) {
                            if (Be.bodyUsed) throw new TypeError("Already read");
                            this.url = Be.url, this.credentials = Be.credentials, He.headers || (this.headers = new le(Be.headers)), this.method = Be.method, this.mode = Be.mode, this.signal = Be.signal, !xt && null != Be._bodyInit && (xt = Be._bodyInit, Be.bodyUsed = !0)
                        } else this.url = String(Be);
                        if (this.credentials = He.credentials || this.credentials || "same-origin", (He.headers || !this.headers) && (this.headers = new le(He.headers)), this.method = function _e(Be) {
                                var He = Be.toUpperCase();
                                return ge.indexOf(He) > -1 ? He : Be
                            }(He.method || this.method || "GET"), this.mode = He.mode || this.mode || null, this.signal = He.signal || this.signal || function() {
                                if ("AbortController" in V) return (new AbortController).signal
                            }(), this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && xt) throw new TypeError("Body not allowed for GET or HEAD requests");
                        if (this._initBody(xt), !("GET" !== this.method && "HEAD" !== this.method || "no-store" !== He.cache && "no-cache" !== He.cache)) {
                            var kt = /([?&])_=[^&]*/;
                            kt.test(this.url) ? this.url = this.url.replace(kt, "$1_=" + (new Date).getTime()) : this.url += (/\?/.test(this.url) ? "&" : "?") + "_=" + (new Date).getTime()
                        }
                    }

                    function ke(Be) {
                        var He = new FormData;
                        return Be.trim().split("&").forEach(function(xt) {
                            if (xt) {
                                var kt = xt.split("="),
                                    St = kt.shift().replace(/\+/g, " "),
                                    Ct = kt.join("=").replace(/\+/g, " ");
                                He.append(decodeURIComponent(St), decodeURIComponent(Ct))
                            }
                        }), He
                    }

                    function Je(Be) {
                        var He = new le;
                        return Be.replace(/\r?\n[\t ]+/g, " ").split("\r").map(function(kt) {
                            return 0 === kt.indexOf("\n") ? kt.substr(1, kt.length) : kt
                        }).forEach(function(kt) {
                            var St = kt.split(":"),
                                Ct = St.shift().trim();
                            if (Ct) {
                                var ht = St.join(":").trim();
                                try {
                                    He.append(Ct, ht)
                                } catch (Pe) {
                                    console.warn("Response " + Pe.message)
                                }
                            }
                        }), He
                    }

                    function ue(Be, He) {
                        if (!(this instanceof ue)) throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
                        if (He || (He = {}), this.type = "default", this.status = void 0 === He.status ? 200 : He.status, this.status < 200 || this.status > 599) throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");
                        this.ok = this.status >= 200 && this.status < 300, this.statusText = void 0 === He.statusText ? "" : "" + He.statusText, this.headers = new le(He.headers), this.url = He.url || "", this._initBody(Be)
                    }
                    we.prototype.clone = function() {
                        return new we(this, {
                            body: this._bodyInit
                        })
                    }, me.call(we.prototype), me.call(ue.prototype), ue.prototype.clone = function() {
                        return new ue(this._bodyInit, {
                            status: this.status,
                            statusText: this.statusText,
                            headers: new le(this.headers),
                            url: this.url
                        })
                    }, ue.error = function() {
                        var Be = new ue(null, {
                            status: 200,
                            statusText: ""
                        });
                        return Be.ok = !1, Be.status = 0, Be.type = "error", Be
                    };
                    var Me = [301, 302, 303, 307, 308];
                    ue.redirect = function(Be, He) {
                        if (-1 === Me.indexOf(He)) throw new RangeError("Invalid status code");
                        return new ue(null, {
                            status: He,
                            headers: {
                                location: Be
                            }
                        })
                    }, x.DOMException = V.DOMException;
                    try {
                        new x.DOMException
                    } catch {
                        x.DOMException = function(He, xt) {
                            this.message = He, this.name = xt;
                            var kt = Error(He);
                            this.stack = kt.stack
                        }, x.DOMException.prototype = Object.create(Error.prototype), x.DOMException.prototype.constructor = x.DOMException
                    }

                    function Ke(Be, He) {
                        return new Promise(function(xt, kt) {
                            var St = new we(Be, He);
                            if (St.signal && St.signal.aborted) return kt(new x.DOMException("Aborted", "AbortError"));
                            var Ct = new XMLHttpRequest;

                            function ht() {
                                Ct.abort()
                            }
                            if (Ct.onload = function() {
                                    var J = {
                                        statusText: Ct.statusText,
                                        headers: Je(Ct.getAllResponseHeaders() || "")
                                    };
                                    J.status = 0 === St.url.indexOf("file://") && (Ct.status < 200 || Ct.status > 599) ? 200 : Ct.status, J.url = "responseURL" in Ct ? Ct.responseURL : J.headers.get("X-Request-URL");
                                    var fe = "response" in Ct ? Ct.response : Ct.responseText;
                                    setTimeout(function() {
                                        xt(new ue(fe, J))
                                    }, 0)
                                }, Ct.onerror = function() {
                                    setTimeout(function() {
                                        kt(new TypeError("Network request failed"))
                                    }, 0)
                                }, Ct.ontimeout = function() {
                                    setTimeout(function() {
                                        kt(new TypeError("Network request timed out"))
                                    }, 0)
                                }, Ct.onabort = function() {
                                    setTimeout(function() {
                                        kt(new x.DOMException("Aborted", "AbortError"))
                                    }, 0)
                                }, Ct.open(St.method, function Pe(J) {
                                    try {
                                        return "" === J && V.location.href ? V.location.href : J
                                    } catch {
                                        return J
                                    }
                                }(St.url), !0), "include" === St.credentials ? Ct.withCredentials = !0 : "omit" === St.credentials && (Ct.withCredentials = !1), "responseType" in Ct && (P_blob ? Ct.responseType = "blob" : P_arrayBuffer && (Ct.responseType = "arraybuffer")), He && "object" == typeof He.headers && !(He.headers instanceof le || V.Headers && He.headers instanceof V.Headers)) {
                                var De = [];
                                Object.getOwnPropertyNames(He.headers).forEach(function(J) {
                                    De.push(F(J)), Ct.setRequestHeader(J, k(He.headers[J]))
                                }), St.headers.forEach(function(J, fe) {
                                    -1 === De.indexOf(fe) && Ct.setRequestHeader(fe, J)
                                })
                            } else St.headers.forEach(function(J, fe) {
                                Ct.setRequestHeader(fe, J)
                            });
                            St.signal && (St.signal.addEventListener("abort", ht), Ct.onreadystatechange = function() {
                                4 === Ct.readyState && St.signal.removeEventListener("abort", ht)
                            }), Ct.send(typeof St._bodyInit > "u" ? null : St._bodyInit)
                        })
                    }
                    Ke.polyfill = !0, V.fetch || (V.fetch = Ke, V.Headers = le, V.Request = we, V.Response = ue), x.Headers = le, x.Request = we, x.Response = ue, x.fetch = Ke, Object.defineProperty(x, "__esModule", {
                        value: !0
                    })
                }({}), t.fetch.ponyfill = !0, delete t.fetch.polyfill;
            var r = _.fetch ? _ : t;
            (he = r.fetch).default = r.fetch, he.fetch = r.fetch, he.Headers = r.Headers, he.Request = r.Request, he.Response = r.Response, Re.exports = he
        },
        7466: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(8319), _(9493), _(7865), _(3057), function() {
                var r = t,
                    C = r.lib.BlockCipher,
                    x = r.algo,
                    V = [],
                    P = [],
                    $ = [],
                    K = [],
                    G = [],
                    F = [],
                    k = [],
                    B = [],
                    le = [],
                    oe = [];
                ! function() {
                    for (var ce = [], be = 0; be < 256; be++) ce[be] = be < 128 ? be << 1 : be << 1 ^ 283;
                    var je = 0,
                        me = 0;
                    for (be = 0; be < 256; be++) {
                        var ge = me ^ me << 1 ^ me << 2 ^ me << 3 ^ me << 4;
                        V[je] = ge = ge >>> 8 ^ 255 & ge ^ 99, P[ge] = je;
                        var Je, _e = ce[je],
                            we = ce[_e],
                            ke = ce[we];
                        $[je] = (Je = 257 * ce[ge] ^ 16843008 * ge) << 24 | Je >>> 8, K[je] = Je << 16 | Je >>> 16, G[je] = Je << 8 | Je >>> 24, F[je] = Je, k[ge] = (Je = 16843009 * ke ^ 65537 * we ^ 257 * _e ^ 16843008 * je) << 24 | Je >>> 8, B[ge] = Je << 16 | Je >>> 16, le[ge] = Je << 8 | Je >>> 24, oe[ge] = Je, je ? (je = _e ^ ce[ce[ce[ke ^ _e]]], me ^= ce[ce[me]]) : je = me = 1
                    }
                }();
                var Te = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],
                    Ae = x.AES = C.extend({
                        _doReset: function() {
                            if (!this._nRounds || this._keyPriorReset !== this._key) {
                                for (var be = this._keyPriorReset = this._key, je = be.words, me = be.sigBytes / 4, _e = 4 * ((this._nRounds = me + 6) + 1), we = this._keySchedule = [], ke = 0; ke < _e; ke++) ke < me ? we[ke] = je[ke] : (ce = we[ke - 1], ke % me ? me > 6 && ke % me == 4 && (ce = V[ce >>> 24] << 24 | V[ce >>> 16 & 255] << 16 | V[ce >>> 8 & 255] << 8 | V[255 & ce]) : (ce = V[(ce = ce << 8 | ce >>> 24) >>> 24] << 24 | V[ce >>> 16 & 255] << 16 | V[ce >>> 8 & 255] << 8 | V[255 & ce], ce ^= Te[ke / me | 0] << 24), we[ke] = we[ke - me] ^ ce);
                                for (var Je = this._invKeySchedule = [], ue = 0; ue < _e; ue++) {
                                    if (ke = _e - ue, ue % 4) var ce = we[ke];
                                    else ce = we[ke - 4];
                                    Je[ue] = ue < 4 || ke <= 4 ? ce : k[V[ce >>> 24]] ^ B[V[ce >>> 16 & 255]] ^ le[V[ce >>> 8 & 255]] ^ oe[V[255 & ce]]
                                }
                            }
                        },
                        encryptBlock: function(ce, be) {
                            this._doCryptBlock(ce, be, this._keySchedule, $, K, G, F, V)
                        },
                        decryptBlock: function(ce, be) {
                            var je = ce[be + 1];
                            ce[be + 1] = ce[be + 3], ce[be + 3] = je, this._doCryptBlock(ce, be, this._invKeySchedule, k, B, le, oe, P), je = ce[be + 1], ce[be + 1] = ce[be + 3], ce[be + 3] = je
                        },
                        _doCryptBlock: function(ce, be, je, me, ge, _e, we, ke) {
                            for (var Je = this._nRounds, ue = ce[be] ^ je[0], Me = ce[be + 1] ^ je[1], Ke = ce[be + 2] ^ je[2], Be = ce[be + 3] ^ je[3], He = 4, xt = 1; xt < Je; xt++) {
                                var kt = me[ue >>> 24] ^ ge[Me >>> 16 & 255] ^ _e[Ke >>> 8 & 255] ^ we[255 & Be] ^ je[He++],
                                    St = me[Me >>> 24] ^ ge[Ke >>> 16 & 255] ^ _e[Be >>> 8 & 255] ^ we[255 & ue] ^ je[He++],
                                    Ct = me[Ke >>> 24] ^ ge[Be >>> 16 & 255] ^ _e[ue >>> 8 & 255] ^ we[255 & Me] ^ je[He++],
                                    ht = me[Be >>> 24] ^ ge[ue >>> 16 & 255] ^ _e[Me >>> 8 & 255] ^ we[255 & Ke] ^ je[He++];
                                ue = kt, Me = St, Ke = Ct, Be = ht
                            }
                            kt = (ke[ue >>> 24] << 24 | ke[Me >>> 16 & 255] << 16 | ke[Ke >>> 8 & 255] << 8 | ke[255 & Be]) ^ je[He++], St = (ke[Me >>> 24] << 24 | ke[Ke >>> 16 & 255] << 16 | ke[Be >>> 8 & 255] << 8 | ke[255 & ue]) ^ je[He++], Ct = (ke[Ke >>> 24] << 24 | ke[Be >>> 16 & 255] << 16 | ke[ue >>> 8 & 255] << 8 | ke[255 & Me]) ^ je[He++], ht = (ke[Be >>> 24] << 24 | ke[ue >>> 16 & 255] << 16 | ke[Me >>> 8 & 255] << 8 | ke[255 & Ke]) ^ je[He++], ce[be] = kt, ce[be + 1] = St, ce[be + 2] = Ct, ce[be + 3] = ht
                        },
                        keySize: 8
                    });
                r.AES = C._createHelper(Ae)
            }(), t.AES)
        },
        1302: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(8319), _(9493), _(7865), _(3057), function() {
                var r = t,
                    C = r.lib.BlockCipher;
                const V = 16,
                    P = [608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731],
                    $ = [
                        [3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670, 3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374, 1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416, 1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379, 3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982, 1822297739, 2954791486, 3608508353, 3174124327, 2024746970, 1432378464, 3864339955, 2857741204, 1464375394, 1676153920, 1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683, 3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502, 2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847, 3300911131, 1713906067, 1641548236, 4213287313, 1216130144, 1575780402, 4018429277, 3917837745, 3693486850, 3949271944, 596196993, 3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394, 2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482, 3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320, 2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137, 1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327, 1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444, 3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816, 4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678, 1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459, 995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964, 3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633, 3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198, 4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912, 2902807211, 842905082, 4246964064, 1395751752, 1040244610, 2656851899, 3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358, 2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224, 4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348, 1274779536, 3789419226, 2764799539, 1660621633, 3471099624, 4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040, 3937242737, 1804850592, 3499020752, 2949064160, 2386320175, 2390070455, 2415321851, 4061277028, 2290661394, 2416832540, 1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551, 3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937, 3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981, 2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143, 3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398, 577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418, 2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193, 298326376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269, 3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943, 4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956, 1404054877, 2845806497, 146425753, 1854211946],
                        [1266315497, 3048417604, 3681880366, 3289982499, 290971e4, 1235738493, 2632868024, 2414719590, 3970600049, 1771706367, 1449415276, 3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698, 1531092325, 1804592342, 2583117782, 2714934279, 4024971509, 1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830, 157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462, 3080475397, 2857371447, 1040679964, 2145300060, 2390574316, 1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762, 1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059, 586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854, 265290510, 3972581182, 2759138881, 3795373465, 1005194799, 847297441, 406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880, 613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730, 3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720, 1946737175, 3164576444, 3914038668, 3967478842, 3682934266, 1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398, 312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773, 2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769, 4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025, 2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303, 2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128, 2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456, 1378068232, 4145222326, 3954048622, 3938656102, 3820766613, 2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565, 1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856, 688349552, 3973924725, 1637815568, 332179504, 3949051286, 53804574, 2852348879, 3044236432, 1282449977, 3583942155, 3416972820, 4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346, 2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511, 2605976345, 2271191193, 2516031870, 1648197032, 4164389018, 2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641, 2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019, 1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073, 4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510, 2745871338, 3681308437, 4207628240, 3343053890, 4016749493, 1699691293, 1103962373, 3625875870, 2256883143, 3830138730, 1031889488, 3479347698, 1535977030, 4236805024, 3251091107, 2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357, 342012276, 595725824, 1480756522, 206960106, 497939518, 591360097, 863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208, 1082520231, 3463918190, 2785509508, 435703966, 3908032597, 1641649973, 2842273706, 3305899714, 1510255612, 2148256476, 2655287854, 3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097, 3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447, 2410691914, 3873677099, 3682840055],
                        [3913112168, 2491498743, 4132185628, 2489919796, 1091903735, 1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015, 1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037, 2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736, 835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277, 1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284, 664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940, 3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171, 991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604, 3713745714, 1749149687, 3396870395, 4211799374, 3640570775, 1161844396, 3125318951, 1431517754, 545492359, 4268468663, 3499529547, 1437099964, 2702547544, 3433638243, 2581715763, 2787789398, 1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348, 86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670, 1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591, 1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946, 48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954, 4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365, 2511836413, 1685915746, 3888969200, 1414112111, 2273134842, 3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455, 2819808352, 2716589560, 2568741196, 3681446669, 3329971472, 1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634, 1762651403, 1719377915, 3470491036, 2693910283, 3642056355, 3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081, 2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300, 1779581495, 3079819751, 111262694, 1274766160, 443224088, 298511866, 1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610, 1689216846, 3666258015, 3200248200, 1692713982, 2646376535, 4042768518, 1618508792, 1610833997, 3523052358, 4130873264, 2001055236, 3610705100, 2202168115, 4028541809, 2961195399, 1006657119, 2006996926, 3186142756, 1430667929, 3210227297, 1314452623, 4074634658, 4101304120, 2273951170, 1399257539, 3367210612, 3027628629, 1190975929, 2062231137, 2333990788, 2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396, 3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297, 1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264, 448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134, 2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375, 2599980071, 2000651841, 3277868038, 1638401717, 4028070440, 3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636, 3267499572, 3150704214, 2428286686, 3959192993, 3461946742, 1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273, 448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396, 508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340, 908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504],
                        [976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578, 3548522304, 2579274686, 3574697629, 3205460757, 3593280638, 3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207, 3163844217, 3332601554, 1699332808, 1393555694, 1183702653, 3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540, 2717570544, 1781354906, 1676643554, 2592534050, 3230253752, 1126444790, 2770207658, 2633158820, 2210423226, 2615765581, 2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505, 3341807571, 4149409754, 1057255273, 2012875353, 2162469141, 2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209, 36408145, 2530585658, 25011837, 3520020182, 2088578344, 530523599, 2918365339, 1524020338, 1518925132, 3760827505, 3759777254, 1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136, 2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250, 60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426, 457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805, 55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263, 1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142, 1361170020, 2001714738, 2830558078, 3274259782, 1222529897, 1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138, 1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007, 1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952, 4200891579, 2372276910, 3208408903, 3533431907, 1412390302, 2931980059, 4132332400, 1947078029, 3881505623, 4168226417, 2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409e3, 2509781533, 112762804, 3463356488, 1866414978, 891333506, 18488651, 661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273, 1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795, 2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162, 3331405415, 2381918588, 3769707343, 4154350007, 1140177722, 4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221, 4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860, 282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868, 2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020, 3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637, 3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661, 2224018117, 4143653529, 4112773975, 2788324899, 2477274417, 1456262402, 2901442914, 1517677493, 1846949527, 2295493580, 3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322, 1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632758, 1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379, 950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296, 2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436, 29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231, 3075367218, 3463963227, 1469046755, 985887462]
                    ];
                var K = {
                    pbox: [],
                    sbox: []
                };

                function G(oe, Te) {
                    let me = oe.sbox[0][Te >> 24 & 255] + oe.sbox[1][Te >> 16 & 255];
                    return me ^= oe.sbox[2][Te >> 8 & 255], me += oe.sbox[3][255 & Te], me
                }

                function F(oe, Te, Ae) {
                    let je, ce = Te,
                        be = Ae;
                    for (let me = 0; me < V; ++me) ce ^= oe.pbox[me], be = G(oe, ce) ^ be, je = ce, ce = be, be = je;
                    return je = ce, ce = be, be = je, be ^= oe.pbox[V], ce ^= oe.pbox[17], {
                        left: ce,
                        right: be
                    }
                }
                var le = r.algo.Blowfish = C.extend({
                    _doReset: function() {
                        if (this._keyPriorReset !== this._key) {
                            var oe = this._keyPriorReset = this._key;
                            ! function B(oe, Te, Ae) {
                                for (let ge = 0; ge < 4; ge++) {
                                    oe.sbox[ge] = [];
                                    for (let _e = 0; _e < 256; _e++) oe.sbox[ge][_e] = $[ge][_e]
                                }
                                let ce = 0;
                                for (let ge = 0; ge < 18; ge++) oe.pbox[ge] = P[ge] ^ Te[ce], ce++, ce >= Ae && (ce = 0);
                                let be = 0,
                                    je = 0,
                                    me = 0;
                                for (let ge = 0; ge < 18; ge += 2) me = F(oe, be, je), be = me.left, je = me.right, oe.pbox[ge] = be, oe.pbox[ge + 1] = je;
                                for (let ge = 0; ge < 4; ge++)
                                    for (let _e = 0; _e < 256; _e += 2) me = F(oe, be, je), be = me.left, je = me.right, oe.sbox[ge][_e] = be, oe.sbox[ge][_e + 1] = je;
                                return !0
                            }(K, oe.words, oe.sigBytes / 4)
                        }
                    },
                    encryptBlock: function(oe, Te) {
                        var Ae = F(K, oe[Te], oe[Te + 1]);
                        oe[Te] = Ae.left, oe[Te + 1] = Ae.right
                    },
                    decryptBlock: function(oe, Te) {
                        var Ae = function k(oe, Te, Ae) {
                            let je, ce = Te,
                                be = Ae;
                            for (let me = 17; me > 1; --me) ce ^= oe.pbox[me], be = G(oe, ce) ^ be, je = ce, ce = be, be = je;
                            return je = ce, ce = be, be = je, be ^= oe.pbox[1], ce ^= oe.pbox[0], {
                                left: ce,
                                right: be
                            }
                        }(K, oe[Te], oe[Te + 1]);
                        oe[Te] = Ae.left, oe[Te + 1] = Ae.right
                    },
                    blockSize: 2,
                    keySize: 4,
                    ivSize: 2
                });
                r.Blowfish = C._createHelper(le)
            }(), t.Blowfish)
        },
        3057: function(Re, he, _) {
            var U, C, x, V, P, $, G, k, B, oe, Te, Ae, be, me, _e, we, Je, ue, t;
            Re.exports = (t = _(7585), _(7865), void(t.lib.Cipher || (U = t, C = U.lib, x = C.Base, V = C.WordArray, P = C.BufferedBlockAlgorithm, $ = U.enc, G = $.Base64, k = U.algo.EvpKDF, B = C.Cipher = P.extend({
                cfg: x.extend(),
                createEncryptor: function(Me, Ke) {
                    return this.create(this._ENC_XFORM_MODE, Me, Ke)
                },
                createDecryptor: function(Me, Ke) {
                    return this.create(this._DEC_XFORM_MODE, Me, Ke)
                },
                init: function(Me, Ke, Be) {
                    this.cfg = this.cfg.extend(Be), this._xformMode = Me, this._key = Ke, this.reset()
                },
                reset: function() {
                    P.reset.call(this), this._doReset()
                },
                process: function(Me) {
                    return this._append(Me), this._process()
                },
                finalize: function(Me) {
                    return Me && this._append(Me), this._doFinalize()
                },
                keySize: 4,
                ivSize: 4,
                _ENC_XFORM_MODE: 1,
                _DEC_XFORM_MODE: 2,
                _createHelper: function() {
                    function Me(Ke) {
                        return "string" == typeof Ke ? ue : we
                    }
                    return function(Ke) {
                        return {
                            encrypt: function(Be, He, xt) {
                                return Me(He).encrypt(Ke, Be, He, xt)
                            },
                            decrypt: function(Be, He, xt) {
                                return Me(He).decrypt(Ke, Be, He, xt)
                            }
                        }
                    }
                }()
            }), C.StreamCipher = B.extend({
                _doFinalize: function() {
                    return this._process(!0)
                },
                blockSize: 1
            }), oe = U.mode = {}, Te = C.BlockCipherMode = x.extend({
                createEncryptor: function(Me, Ke) {
                    return this.Encryptor.create(Me, Ke)
                },
                createDecryptor: function(Me, Ke) {
                    return this.Decryptor.create(Me, Ke)
                },
                init: function(Me, Ke) {
                    this._cipher = Me, this._iv = Ke
                }
            }), Ae = oe.CBC = function() {
                var Me = Te.extend();

                function Ke(Be, He, xt) {
                    var kt, St = this._iv;
                    St ? (kt = St, this._iv = undefined) : kt = this._prevBlock;
                    for (var Ct = 0; Ct < xt; Ct++) Be[He + Ct] ^= kt[Ct]
                }
                return Me.Encryptor = Me.extend({
                    processBlock: function(Be, He) {
                        var xt = this._cipher,
                            kt = xt.blockSize;
                        Ke.call(this, Be, He, kt), xt.encryptBlock(Be, He), this._prevBlock = Be.slice(He, He + kt)
                    }
                }), Me.Decryptor = Me.extend({
                    processBlock: function(Be, He) {
                        var xt = this._cipher,
                            kt = xt.blockSize,
                            St = Be.slice(He, He + kt);
                        xt.decryptBlock(Be, He), Ke.call(this, Be, He, kt), this._prevBlock = St
                    }
                }), Me
            }(), be = (U.pad = {}).Pkcs7 = {
                pad: function(Me, Ke) {
                    for (var Be = 4 * Ke, He = Be - Me.sigBytes % Be, xt = He << 24 | He << 16 | He << 8 | He, kt = [], St = 0; St < He; St += 4) kt.push(xt);
                    var Ct = V.create(kt, He);
                    Me.concat(Ct)
                },
                unpad: function(Me) {
                    Me.sigBytes -= 255 & Me.words[Me.sigBytes - 1 >>> 2]
                }
            }, C.BlockCipher = B.extend({
                cfg: B.cfg.extend({
                    mode: Ae,
                    padding: be
                }),
                reset: function() {
                    var Me;
                    B.reset.call(this);
                    var Ke = this.cfg,
                        Be = Ke.iv,
                        He = Ke.mode;
                    this._xformMode == this._ENC_XFORM_MODE ? Me = He.createEncryptor : (Me = He.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == Me ? this._mode.init(this, Be && Be.words) : (this._mode = Me.call(He, this, Be && Be.words), this._mode.__creator = Me)
                },
                _doProcessBlock: function(Me, Ke) {
                    this._mode.processBlock(Me, Ke)
                },
                _doFinalize: function() {
                    var Me, Ke = this.cfg.padding;
                    return this._xformMode == this._ENC_XFORM_MODE ? (Ke.pad(this._data, this.blockSize), Me = this._process(!0)) : (Me = this._process(!0), Ke.unpad(Me)), Me
                },
                blockSize: 4
            }), me = C.CipherParams = x.extend({
                init: function(Me) {
                    this.mixIn(Me)
                },
                toString: function(Me) {
                    return (Me || this.formatter).stringify(this)
                }
            }), _e = (U.format = {}).OpenSSL = {
                stringify: function(Me) {
                    var Be = Me.ciphertext,
                        He = Me.salt;
                    return (He ? V.create([1398893684, 1701076831]).concat(He).concat(Be) : Be).toString(G)
                },
                parse: function(Me) {
                    var Ke, Be = G.parse(Me),
                        He = Be.words;
                    return 1398893684 == He[0] && 1701076831 == He[1] && (Ke = V.create(He.slice(2, 4)), He.splice(0, 4), Be.sigBytes -= 16), me.create({
                        ciphertext: Be,
                        salt: Ke
                    })
                }
            }, we = C.SerializableCipher = x.extend({
                cfg: x.extend({
                    format: _e
                }),
                encrypt: function(Me, Ke, Be, He) {
                    He = this.cfg.extend(He);
                    var xt = Me.createEncryptor(Be, He),
                        kt = xt.finalize(Ke),
                        St = xt.cfg;
                    return me.create({
                        ciphertext: kt,
                        key: Be,
                        iv: St.iv,
                        algorithm: Me,
                        mode: St.mode,
                        padding: St.padding,
                        blockSize: Me.blockSize,
                        formatter: He.format
                    })
                },
                decrypt: function(Me, Ke, Be, He) {
                    return He = this.cfg.extend(He), Ke = this._parse(Ke, He.format), Me.createDecryptor(Be, He).finalize(Ke.ciphertext)
                },
                _parse: function(Me, Ke) {
                    return "string" == typeof Me ? Ke.parse(Me, this) : Me
                }
            }), Je = (U.kdf = {}).OpenSSL = {
                execute: function(Me, Ke, Be, He, xt) {
                    if (He || (He = V.random(8)), xt) var kt = k.create({
                        keySize: Ke + Be,
                        hasher: xt
                    }).compute(Me, He);
                    else kt = k.create({
                        keySize: Ke + Be
                    }).compute(Me, He);
                    var St = V.create(kt.words.slice(Ke), 4 * Be);
                    return kt.sigBytes = 4 * Ke, me.create({
                        key: kt,
                        iv: St,
                        salt: He
                    })
                }
            }, ue = C.PasswordBasedCipher = we.extend({
                cfg: we.cfg.extend({
                    kdf: Je
                }),
                encrypt: function(Me, Ke, Be, He) {
                    var xt = (He = this.cfg.extend(He)).kdf.execute(Be, Me.keySize, Me.ivSize, He.salt, He.hasher);
                    He.iv = xt.iv;
                    var kt = we.encrypt.call(this, Me, Ke, xt.key, He);
                    return kt.mixIn(xt), kt
                },
                decrypt: function(Me, Ke, Be, He) {
                    He = this.cfg.extend(He), Ke = this._parse(Ke, He.format);
                    var xt = He.kdf.execute(Be, Me.keySize, Me.ivSize, Ke.salt, He.hasher);
                    return He.iv = xt.iv, we.decrypt.call(this, Me, Ke, xt.key, He)
                }
            }))))
        },
        7585: function(Re, he, _) {
            var t;
            Re.exports = (t = t || function(r, U) {
                var C;
                if (typeof window < "u" && window.crypto && (C = window.crypto), typeof self < "u" && self.crypto && (C = self.crypto), typeof globalThis < "u" && globalThis.crypto && (C = globalThis.crypto), !C && typeof window < "u" && window.msCrypto && (C = window.msCrypto), !C && typeof global < "u" && global.crypto && (C = global.crypto), !C) try {
                    C = _(2480)
                } catch {}
                var x = function() {
                        if (C) {
                            if ("function" == typeof C.getRandomValues) try {
                                return C.getRandomValues(new Uint32Array(1))[0]
                            } catch {}
                            if ("function" == typeof C.randomBytes) try {
                                return C.randomBytes(4).readInt32LE()
                            } catch {}
                        }
                        throw new Error("Native crypto module could not be used to get secure random number.")
                    },
                    V = Object.create || function() {
                        function ce() {}
                        return function(be) {
                            var je;
                            return ce.prototype = be, je = new ce, ce.prototype = null, je
                        }
                    }(),
                    P = {},
                    $ = P.lib = {},
                    K = $.Base = {
                        extend: function(ce) {
                            var be = V(this);
                            return ce && be.mixIn(ce), (!be.hasOwnProperty("init") || this.init === be.init) && (be.init = function() {
                                be.$super.init.apply(this, arguments)
                            }), be.init.prototype = be, be.$super = this, be
                        },
                        create: function() {
                            var ce = this.extend();
                            return ce.init.apply(ce, arguments), ce
                        },
                        init: function() {},
                        mixIn: function(ce) {
                            for (var be in ce) ce.hasOwnProperty(be) && (this[be] = ce[be]);
                            ce.hasOwnProperty("toString") && (this.toString = ce.toString)
                        },
                        clone: function() {
                            return this.init.prototype.extend(this)
                        }
                    },
                    G = $.WordArray = K.extend({
                        init: function(ce, be) {
                            ce = this.words = ce || [], this.sigBytes = null != be ? be : 4 * ce.length
                        },
                        toString: function(ce) {
                            return (ce || k).stringify(this)
                        },
                        concat: function(ce) {
                            var be = this.words,
                                je = ce.words,
                                me = this.sigBytes,
                                ge = ce.sigBytes;
                            if (this.clamp(), me % 4)
                                for (var _e = 0; _e < ge; _e++) be[me + _e >>> 2] |= (je[_e >>> 2] >>> 24 - _e % 4 * 8 & 255) << 24 - (me + _e) % 4 * 8;
                            else
                                for (var ke = 0; ke < ge; ke += 4) be[me + ke >>> 2] = je[ke >>> 2];
                            return this.sigBytes += ge, this
                        },
                        clamp: function() {
                            var ce = this.words,
                                be = this.sigBytes;
                            ce[be >>> 2] &= 4294967295 << 32 - be % 4 * 8, ce.length = r.ceil(be / 4)
                        },
                        clone: function() {
                            var ce = K.clone.call(this);
                            return ce.words = this.words.slice(0), ce
                        },
                        random: function(ce) {
                            for (var be = [], je = 0; je < ce; je += 4) be.push(x());
                            return new G.init(be, ce)
                        }
                    }),
                    F = P.enc = {},
                    k = F.Hex = {
                        stringify: function(ce) {
                            for (var be = ce.words, je = ce.sigBytes, me = [], ge = 0; ge < je; ge++) {
                                var _e = be[ge >>> 2] >>> 24 - ge % 4 * 8 & 255;
                                me.push((_e >>> 4).toString(16)), me.push((15 & _e).toString(16))
                            }
                            return me.join("")
                        },
                        parse: function(ce) {
                            for (var be = ce.length, je = [], me = 0; me < be; me += 2) je[me >>> 3] |= parseInt(ce.substr(me, 2), 16) << 24 - me % 8 * 4;
                            return new G.init(je, be / 2)
                        }
                    },
                    B = F.Latin1 = {
                        stringify: function(ce) {
                            for (var be = ce.words, je = ce.sigBytes, me = [], ge = 0; ge < je; ge++) me.push(String.fromCharCode(be[ge >>> 2] >>> 24 - ge % 4 * 8 & 255));
                            return me.join("")
                        },
                        parse: function(ce) {
                            for (var be = ce.length, je = [], me = 0; me < be; me++) je[me >>> 2] |= (255 & ce.charCodeAt(me)) << 24 - me % 4 * 8;
                            return new G.init(je, be)
                        }
                    },
                    le = F.Utf8 = {
                        stringify: function(ce) {
                            try {
                                return decodeURIComponent(escape(B.stringify(ce)))
                            } catch {
                                throw new Error("Malformed UTF-8 data")
                            }
                        },
                        parse: function(ce) {
                            return B.parse(unescape(encodeURIComponent(ce)))
                        }
                    },
                    oe = $.BufferedBlockAlgorithm = K.extend({
                        reset: function() {
                            this._data = new G.init, this._nDataBytes = 0
                        },
                        _append: function(ce) {
                            "string" == typeof ce && (ce = le.parse(ce)), this._data.concat(ce), this._nDataBytes += ce.sigBytes
                        },
                        _process: function(ce) {
                            var be, je = this._data,
                                me = je.words,
                                ge = je.sigBytes,
                                _e = this.blockSize,
                                ke = ge / (4 * _e),
                                Je = (ke = ce ? r.ceil(ke) : r.max((0 | ke) - this._minBufferSize, 0)) * _e,
                                ue = r.min(4 * Je, ge);
                            if (Je) {
                                for (var Me = 0; Me < Je; Me += _e) this._doProcessBlock(me, Me);
                                be = me.splice(0, Je), je.sigBytes -= ue
                            }
                            return new G.init(be, ue)
                        },
                        clone: function() {
                            var ce = K.clone.call(this);
                            return ce._data = this._data.clone(), ce
                        },
                        _minBufferSize: 0
                    }),
                    Ae = ($.Hasher = oe.extend({
                        cfg: K.extend(),
                        init: function(ce) {
                            this.cfg = this.cfg.extend(ce), this.reset()
                        },
                        reset: function() {
                            oe.reset.call(this), this._doReset()
                        },
                        update: function(ce) {
                            return this._append(ce), this._process(), this
                        },
                        finalize: function(ce) {
                            return ce && this._append(ce), this._doFinalize()
                        },
                        blockSize: 16,
                        _createHelper: function(ce) {
                            return function(be, je) {
                                return new ce.init(je).finalize(be)
                            }
                        },
                        _createHmacHelper: function(ce) {
                            return function(be, je) {
                                return new Ae.HMAC.init(ce, je).finalize(be)
                            }
                        }
                    }), P.algo = {});
                return P
            }(Math), t)
        },
        8319: function(Re, he, _) {
            var t, C;
            Re.exports = (t = _(7585), C = t.lib.WordArray, t.enc.Base64 = {
                stringify: function($) {
                    var K = $.words,
                        G = $.sigBytes,
                        F = this._map;
                    $.clamp();
                    for (var k = [], B = 0; B < G; B += 3)
                        for (var Ae = (K[B >>> 2] >>> 24 - B % 4 * 8 & 255) << 16 | (K[B + 1 >>> 2] >>> 24 - (B + 1) % 4 * 8 & 255) << 8 | K[B + 2 >>> 2] >>> 24 - (B + 2) % 4 * 8 & 255, ce = 0; ce < 4 && B + .75 * ce < G; ce++) k.push(F.charAt(Ae >>> 6 * (3 - ce) & 63));
                    var be = F.charAt(64);
                    if (be)
                        for (; k.length % 4;) k.push(be);
                    return k.join("")
                },
                parse: function($) {
                    var K = $.length,
                        G = this._map,
                        F = this._reverseMap;
                    if (!F) {
                        F = this._reverseMap = [];
                        for (var k = 0; k < G.length; k++) F[G.charCodeAt(k)] = k
                    }
                    var B = G.charAt(64);
                    if (B) {
                        var le = $.indexOf(B); - 1 !== le && (K = le)
                    }
                    return function P($, K, G) {
                        for (var F = [], k = 0, B = 0; B < K; B++)
                            if (B % 4) {
                                var le = G[$.charCodeAt(B - 1)] << B % 4 * 2,
                                    oe = G[$.charCodeAt(B)] >>> 6 - B % 4 * 2;
                                F[k >>> 2] |= (le | oe) << 24 - k % 4 * 8, k++
                            }
                        return C.create(F, k)
                    }($, K, F)
                },
                _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
            }, t.enc.Base64)
        },
        4410: function(Re, he, _) {
            var t, C;
            Re.exports = (t = _(7585), C = t.lib.WordArray, t.enc.Base64url = {
                stringify: function($, K) {
                    void 0 === K && (K = !0);
                    var G = $.words,
                        F = $.sigBytes,
                        k = K ? this._safe_map : this._map;
                    $.clamp();
                    for (var B = [], le = 0; le < F; le += 3)
                        for (var ce = (G[le >>> 2] >>> 24 - le % 4 * 8 & 255) << 16 | (G[le + 1 >>> 2] >>> 24 - (le + 1) % 4 * 8 & 255) << 8 | G[le + 2 >>> 2] >>> 24 - (le + 2) % 4 * 8 & 255, be = 0; be < 4 && le + .75 * be < F; be++) B.push(k.charAt(ce >>> 6 * (3 - be) & 63));
                    var je = k.charAt(64);
                    if (je)
                        for (; B.length % 4;) B.push(je);
                    return B.join("")
                },
                parse: function($, K) {
                    void 0 === K && (K = !0);
                    var G = $.length,
                        F = K ? this._safe_map : this._map,
                        k = this._reverseMap;
                    if (!k) {
                        k = this._reverseMap = [];
                        for (var B = 0; B < F.length; B++) k[F.charCodeAt(B)] = B
                    }
                    var le = F.charAt(64);
                    if (le) {
                        var oe = $.indexOf(le); - 1 !== oe && (G = oe)
                    }
                    return function P($, K, G) {
                        for (var F = [], k = 0, B = 0; B < K; B++)
                            if (B % 4) {
                                var le = G[$.charCodeAt(B - 1)] << B % 4 * 2,
                                    oe = G[$.charCodeAt(B)] >>> 6 - B % 4 * 2;
                                F[k >>> 2] |= (le | oe) << 24 - k % 4 * 8, k++
                            }
                        return C.create(F, k)
                    }($, G, k)
                },
                _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
                _safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
            }, t.enc.Base64url)
        },
        9012: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), function() {
                var C = t.lib.WordArray,
                    x = t.enc;

                function P($) {
                    return $ << 8 & 4278255360 | $ >>> 8 & 16711935
                }
                x.Utf16 = x.Utf16BE = {
                    stringify: function($) {
                        for (var K = $.words, G = $.sigBytes, F = [], k = 0; k < G; k += 2) F.push(String.fromCharCode(K[k >>> 2] >>> 16 - k % 4 * 8 & 65535));
                        return F.join("")
                    },
                    parse: function($) {
                        for (var K = $.length, G = [], F = 0; F < K; F++) G[F >>> 1] |= $.charCodeAt(F) << 16 - F % 2 * 16;
                        return C.create(G, 2 * K)
                    }
                }, x.Utf16LE = {
                    stringify: function($) {
                        for (var K = $.words, G = $.sigBytes, F = [], k = 0; k < G; k += 2) {
                            var B = P(K[k >>> 2] >>> 16 - k % 4 * 8 & 65535);
                            F.push(String.fromCharCode(B))
                        }
                        return F.join("")
                    },
                    parse: function($) {
                        for (var K = $.length, G = [], F = 0; F < K; F++) G[F >>> 1] |= P($.charCodeAt(F) << 16 - F % 2 * 16);
                        return C.create(G, 2 * K)
                    }
                }
            }(), t.enc.Utf16)
        },
        7865: function(Re, he, _) {
            var r, U, C, x, V, $, t;
            Re.exports = (t = _(7585), _(5162), _(3764), x = (U = (r = t).lib).WordArray, $ = (V = r.algo).EvpKDF = (C = U.Base).extend({
                cfg: C.extend({
                    keySize: 4,
                    hasher: V.MD5,
                    iterations: 1
                }),
                init: function(K) {
                    this.cfg = this.cfg.extend(K)
                },
                compute: function(K, G) {
                    for (var F, k = this.cfg, B = k.hasher.create(), le = x.create(), oe = le.words, Te = k.keySize, Ae = k.iterations; oe.length < Te;) {
                        F && B.update(F), F = B.update(K).finalize(G), B.reset();
                        for (var ce = 1; ce < Ae; ce++) F = B.finalize(F), B.reset();
                        le.concat(F)
                    }
                    return le.sigBytes = 4 * Te, le
                }
            }), r.EvpKDF = function(K, G, F) {
                return $.create(F).compute(K, G)
            }, t.EvpKDF)
        },
        1847: function(Re, he, _) {
            var t, x, P;
            Re.exports = (t = _(7585), _(3057), x = t.lib.CipherParams, P = t.enc.Hex, t.format.Hex = {
                stringify: function(G) {
                    return G.ciphertext.toString(P)
                },
                parse: function(G) {
                    var F = P.parse(G);
                    return x.create({
                        ciphertext: F
                    })
                }
            }, t.format.Hex)
        },
        3764: function(Re, he, _) {
            var t, V;
            Re.exports = (t = _(7585), V = t.enc.Utf8, void(t.algo.HMAC = t.lib.Base.extend({
                init: function(K, G) {
                    K = this._hasher = new K.init, "string" == typeof G && (G = V.parse(G));
                    var F = K.blockSize,
                        k = 4 * F;
                    G.sigBytes > k && (G = K.finalize(G)), G.clamp();
                    for (var B = this._oKey = G.clone(), le = this._iKey = G.clone(), oe = B.words, Te = le.words, Ae = 0; Ae < F; Ae++) oe[Ae] ^= 1549556828, Te[Ae] ^= 909522486;
                    B.sigBytes = le.sigBytes = k, this.reset()
                },
                reset: function() {
                    var K = this._hasher;
                    K.reset(), K.update(this._iKey)
                },
                update: function(K) {
                    return this._hasher.update(K), this
                },
                finalize: function(K) {
                    var G = this._hasher,
                        F = G.finalize(K);
                    return G.reset(), G.finalize(this._oKey.clone().concat(F))
                }
            })))
        },
        7206: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(401), _(7412), _(9012), _(8319), _(4410), _(9493), _(5162), _(1817), _(8769), _(3351), _(6787), _(1971), _(4973), _(3764), _(8812), _(7865), _(3057), _(4424), _(6635), _(3592), _(9354), _(7934), _(4413), _(4630), _(187), _(1691), _(3237), _(1847), _(7466), _(7243), _(486), _(8182), _(3544), _(1302), t)
        },
        7412: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), function() {
                if ("function" == typeof ArrayBuffer) {
                    var C = t.lib.WordArray,
                        x = C.init,
                        V = C.init = function(P) {
                            if (P instanceof ArrayBuffer && (P = new Uint8Array(P)), (P instanceof Int8Array || typeof Uint8ClampedArray < "u" && P instanceof Uint8ClampedArray || P instanceof Int16Array || P instanceof Uint16Array || P instanceof Int32Array || P instanceof Uint32Array || P instanceof Float32Array || P instanceof Float64Array) && (P = new Uint8Array(P.buffer, P.byteOffset, P.byteLength)), P instanceof Uint8Array) {
                                for (var $ = P.byteLength, K = [], G = 0; G < $; G++) K[G >>> 2] |= P[G] << 24 - G % 4 * 8;
                                x.call(this, K, $)
                            } else x.apply(this, arguments)
                        };
                    V.prototype = C
                }
            }(), t.lib.WordArray)
        },
        9493: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), function(r) {
                var U = t,
                    C = U.lib,
                    x = C.WordArray,
                    V = C.Hasher,
                    P = U.algo,
                    $ = [];
                ! function() {
                    for (var le = 0; le < 64; le++) $[le] = 4294967296 * r.abs(r.sin(le + 1)) | 0
                }();
                var K = P.MD5 = V.extend({
                    _doReset: function() {
                        this._hash = new x.init([1732584193, 4023233417, 2562383102, 271733878])
                    },
                    _doProcessBlock: function(le, oe) {
                        for (var Te = 0; Te < 16; Te++) {
                            var Ae = oe + Te,
                                ce = le[Ae];
                            le[Ae] = 16711935 & (ce << 8 | ce >>> 24) | 4278255360 & (ce << 24 | ce >>> 8)
                        }
                        var be = this._hash.words,
                            je = le[oe + 0],
                            me = le[oe + 1],
                            ge = le[oe + 2],
                            _e = le[oe + 3],
                            we = le[oe + 4],
                            ke = le[oe + 5],
                            Je = le[oe + 6],
                            ue = le[oe + 7],
                            Me = le[oe + 8],
                            Ke = le[oe + 9],
                            Be = le[oe + 10],
                            He = le[oe + 11],
                            xt = le[oe + 12],
                            kt = le[oe + 13],
                            St = le[oe + 14],
                            Ct = le[oe + 15],
                            ht = be[0],
                            Pe = be[1],
                            De = be[2],
                            J = be[3];
                        ht = G(ht, Pe, De, J, je, 7, $[0]), J = G(J, ht, Pe, De, me, 12, $[1]), De = G(De, J, ht, Pe, ge, 17, $[2]), Pe = G(Pe, De, J, ht, _e, 22, $[3]), ht = G(ht, Pe, De, J, we, 7, $[4]), J = G(J, ht, Pe, De, ke, 12, $[5]), De = G(De, J, ht, Pe, Je, 17, $[6]), Pe = G(Pe, De, J, ht, ue, 22, $[7]), ht = G(ht, Pe, De, J, Me, 7, $[8]), J = G(J, ht, Pe, De, Ke, 12, $[9]), De = G(De, J, ht, Pe, Be, 17, $[10]), Pe = G(Pe, De, J, ht, He, 22, $[11]), ht = G(ht, Pe, De, J, xt, 7, $[12]), J = G(J, ht, Pe, De, kt, 12, $[13]), De = G(De, J, ht, Pe, St, 17, $[14]), ht = F(ht, Pe = G(Pe, De, J, ht, Ct, 22, $[15]), De, J, me, 5, $[16]), J = F(J, ht, Pe, De, Je, 9, $[17]), De = F(De, J, ht, Pe, He, 14, $[18]), Pe = F(Pe, De, J, ht, je, 20, $[19]), ht = F(ht, Pe, De, J, ke, 5, $[20]), J = F(J, ht, Pe, De, Be, 9, $[21]), De = F(De, J, ht, Pe, Ct, 14, $[22]), Pe = F(Pe, De, J, ht, we, 20, $[23]), ht = F(ht, Pe, De, J, Ke, 5, $[24]), J = F(J, ht, Pe, De, St, 9, $[25]), De = F(De, J, ht, Pe, _e, 14, $[26]), Pe = F(Pe, De, J, ht, Me, 20, $[27]), ht = F(ht, Pe, De, J, kt, 5, $[28]), J = F(J, ht, Pe, De, ge, 9, $[29]), De = F(De, J, ht, Pe, ue, 14, $[30]), ht = k(ht, Pe = F(Pe, De, J, ht, xt, 20, $[31]), De, J, ke, 4, $[32]), J = k(J, ht, Pe, De, Me, 11, $[33]), De = k(De, J, ht, Pe, He, 16, $[34]), Pe = k(Pe, De, J, ht, St, 23, $[35]), ht = k(ht, Pe, De, J, me, 4, $[36]), J = k(J, ht, Pe, De, we, 11, $[37]), De = k(De, J, ht, Pe, ue, 16, $[38]), Pe = k(Pe, De, J, ht, Be, 23, $[39]), ht = k(ht, Pe, De, J, kt, 4, $[40]), J = k(J, ht, Pe, De, je, 11, $[41]), De = k(De, J, ht, Pe, _e, 16, $[42]), Pe = k(Pe, De, J, ht, Je, 23, $[43]), ht = k(ht, Pe, De, J, Ke, 4, $[44]), J = k(J, ht, Pe, De, xt, 11, $[45]), De = k(De, J, ht, Pe, Ct, 16, $[46]), ht = B(ht, Pe = k(Pe, De, J, ht, ge, 23, $[47]), De, J, je, 6, $[48]), J = B(J, ht, Pe, De, ue, 10, $[49]), De = B(De, J, ht, Pe, St, 15, $[50]), Pe = B(Pe, De, J, ht, ke, 21, $[51]), ht = B(ht, Pe, De, J, xt, 6, $[52]), J = B(J, ht, Pe, De, _e, 10, $[53]), De = B(De, J, ht, Pe, Be, 15, $[54]), Pe = B(Pe, De, J, ht, me, 21, $[55]), ht = B(ht, Pe, De, J, Me, 6, $[56]), J = B(J, ht, Pe, De, Ct, 10, $[57]), De = B(De, J, ht, Pe, Je, 15, $[58]), Pe = B(Pe, De, J, ht, kt, 21, $[59]), ht = B(ht, Pe, De, J, we, 6, $[60]), J = B(J, ht, Pe, De, He, 10, $[61]), De = B(De, J, ht, Pe, ge, 15, $[62]), Pe = B(Pe, De, J, ht, Ke, 21, $[63]), be[0] = be[0] + ht | 0, be[1] = be[1] + Pe | 0, be[2] = be[2] + De | 0, be[3] = be[3] + J | 0
                    },
                    _doFinalize: function() {
                        var le = this._data,
                            oe = le.words,
                            Te = 8 * this._nDataBytes,
                            Ae = 8 * le.sigBytes;
                        oe[Ae >>> 5] |= 128 << 24 - Ae % 32;
                        var ce = r.floor(Te / 4294967296),
                            be = Te;
                        oe[15 + (Ae + 64 >>> 9 << 4)] = 16711935 & (ce << 8 | ce >>> 24) | 4278255360 & (ce << 24 | ce >>> 8), oe[14 + (Ae + 64 >>> 9 << 4)] = 16711935 & (be << 8 | be >>> 24) | 4278255360 & (be << 24 | be >>> 8), le.sigBytes = 4 * (oe.length + 1), this._process();
                        for (var je = this._hash, me = je.words, ge = 0; ge < 4; ge++) {
                            var _e = me[ge];
                            me[ge] = 16711935 & (_e << 8 | _e >>> 24) | 4278255360 & (_e << 24 | _e >>> 8)
                        }
                        return je
                    },
                    clone: function() {
                        var le = V.clone.call(this);
                        return le._hash = this._hash.clone(), le
                    }
                });

                function G(le, oe, Te, Ae, ce, be, je) {
                    var me = le + (oe & Te | ~oe & Ae) + ce + je;
                    return (me << be | me >>> 32 - be) + oe
                }

                function F(le, oe, Te, Ae, ce, be, je) {
                    var me = le + (oe & Ae | Te & ~Ae) + ce + je;
                    return (me << be | me >>> 32 - be) + oe
                }

                function k(le, oe, Te, Ae, ce, be, je) {
                    var me = le + (oe ^ Te ^ Ae) + ce + je;
                    return (me << be | me >>> 32 - be) + oe
                }

                function B(le, oe, Te, Ae, ce, be, je) {
                    var me = le + (Te ^ (oe | ~Ae)) + ce + je;
                    return (me << be | me >>> 32 - be) + oe
                }
                U.MD5 = V._createHelper(K), U.HmacMD5 = V._createHmacHelper(K)
            }(Math), t.MD5)
        },
        4424: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(3057), t.mode.CFB = function() {
                var r = t.lib.BlockCipherMode.extend();

                function U(C, x, V, P) {
                    var $, K = this._iv;
                    K ? ($ = K.slice(0), this._iv = void 0) : $ = this._prevBlock, P.encryptBlock($, 0);
                    for (var G = 0; G < V; G++) C[x + G] ^= $[G]
                }
                return r.Encryptor = r.extend({
                    processBlock: function(C, x) {
                        var V = this._cipher,
                            P = V.blockSize;
                        U.call(this, C, x, P, V), this._prevBlock = C.slice(x, x + P)
                    }
                }), r.Decryptor = r.extend({
                    processBlock: function(C, x) {
                        var V = this._cipher,
                            P = V.blockSize,
                            $ = C.slice(x, x + P);
                        U.call(this, C, x, P, V), this._prevBlock = $
                    }
                }), r
            }(), t.mode.CFB)
        },
        3592: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(3057), t.mode.CTRGladman = function() {
                var r = t.lib.BlockCipherMode.extend();

                function U(V) {
                    if (255 == (V >> 24 & 255)) {
                        var P = V >> 16 & 255,
                            $ = V >> 8 & 255,
                            K = 255 & V;
                        255 === P ? (P = 0, 255 === $ ? ($ = 0, 255 === K ? K = 0 : ++K) : ++$) : ++P, V = 0, V += P << 16, V += $ << 8, V += K
                    } else V += 1 << 24;
                    return V
                }
                var x = r.Encryptor = r.extend({
                    processBlock: function(V, P) {
                        var $ = this._cipher,
                            K = $.blockSize,
                            G = this._iv,
                            F = this._counter;
                        G && (F = this._counter = G.slice(0), this._iv = void 0),
                            function C(V) {
                                return 0 === (V[0] = U(V[0])) && (V[1] = U(V[1])), V
                            }(F);
                        var k = F.slice(0);
                        $.encryptBlock(k, 0);
                        for (var B = 0; B < K; B++) V[P + B] ^= k[B]
                    }
                });
                return r.Decryptor = x, r
            }(), t.mode.CTRGladman)
        },
        6635: function(Re, he, _) {
            var r, U, t;
            Re.exports = (t = _(7585), _(3057), t.mode.CTR = (U = (r = t.lib.BlockCipherMode.extend()).Encryptor = r.extend({
                processBlock: function(C, x) {
                    var V = this._cipher,
                        P = V.blockSize,
                        $ = this._iv,
                        K = this._counter;
                    $ && (K = this._counter = $.slice(0), this._iv = void 0);
                    var G = K.slice(0);
                    V.encryptBlock(G, 0), K[P - 1] = K[P - 1] + 1 | 0;
                    for (var F = 0; F < P; F++) C[x + F] ^= G[F]
                }
            }), r.Decryptor = U, r), t.mode.CTR)
        },
        7934: function(Re, he, _) {
            var r, t;
            Re.exports = (t = _(7585), _(3057), t.mode.ECB = ((r = t.lib.BlockCipherMode.extend()).Encryptor = r.extend({
                processBlock: function(U, C) {
                    this._cipher.encryptBlock(U, C)
                }
            }), r.Decryptor = r.extend({
                processBlock: function(U, C) {
                    this._cipher.decryptBlock(U, C)
                }
            }), r), t.mode.ECB)
        },
        9354: function(Re, he, _) {
            var r, U, t;
            Re.exports = (t = _(7585), _(3057), t.mode.OFB = (U = (r = t.lib.BlockCipherMode.extend()).Encryptor = r.extend({
                processBlock: function(C, x) {
                    var V = this._cipher,
                        P = V.blockSize,
                        $ = this._iv,
                        K = this._keystream;
                    $ && (K = this._keystream = $.slice(0), this._iv = void 0), V.encryptBlock(K, 0);
                    for (var G = 0; G < P; G++) C[x + G] ^= K[G]
                }
            }), r.Decryptor = U, r), t.mode.OFB)
        },
        4413: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(3057), t.pad.AnsiX923 = {
                pad: function(r, U) {
                    var C = r.sigBytes,
                        x = 4 * U,
                        V = x - C % x,
                        P = C + V - 1;
                    r.clamp(), r.words[P >>> 2] |= V << 24 - P % 4 * 8, r.sigBytes += V
                },
                unpad: function(r) {
                    r.sigBytes -= 255 & r.words[r.sigBytes - 1 >>> 2]
                }
            }, t.pad.Ansix923)
        },
        4630: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(3057), t.pad.Iso10126 = {
                pad: function(r, U) {
                    var C = 4 * U,
                        x = C - r.sigBytes % C;
                    r.concat(t.lib.WordArray.random(x - 1)).concat(t.lib.WordArray.create([x << 24], 1))
                },
                unpad: function(r) {
                    r.sigBytes -= 255 & r.words[r.sigBytes - 1 >>> 2]
                }
            }, t.pad.Iso10126)
        },
        187: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(3057), t.pad.Iso97971 = {
                pad: function(r, U) {
                    r.concat(t.lib.WordArray.create([2147483648], 1)), t.pad.ZeroPadding.pad(r, U)
                },
                unpad: function(r) {
                    t.pad.ZeroPadding.unpad(r), r.sigBytes--
                }
            }, t.pad.Iso97971)
        },
        3237: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(3057), t.pad.NoPadding = {
                pad: function() {},
                unpad: function() {}
            }, t.pad.NoPadding)
        },
        1691: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(3057), t.pad.ZeroPadding = {
                pad: function(r, U) {
                    var C = 4 * U;
                    r.clamp(), r.sigBytes += C - (r.sigBytes % C || C)
                },
                unpad: function(r) {
                    var U = r.words,
                        C = r.sigBytes - 1;
                    for (C = r.sigBytes - 1; C >= 0; C--)
                        if (U[C >>> 2] >>> 24 - C % 4 * 8 & 255) {
                            r.sigBytes = C + 1;
                            break
                        }
                }
            }, t.pad.ZeroPadding)
        },
        8812: function(Re, he, _) {
            var r, U, C, x, V, $, K, t;
            Re.exports = (t = _(7585), _(1817), _(3764), x = (U = (r = t).lib).WordArray, $ = (V = r.algo).HMAC, K = V.PBKDF2 = (C = U.Base).extend({
                cfg: C.extend({
                    keySize: 4,
                    hasher: V.SHA256,
                    iterations: 25e4
                }),
                init: function(G) {
                    this.cfg = this.cfg.extend(G)
                },
                compute: function(G, F) {
                    for (var k = this.cfg, B = $.create(k.hasher, G), le = x.create(), oe = x.create([1]), Te = le.words, Ae = oe.words, ce = k.keySize, be = k.iterations; Te.length < ce;) {
                        var je = B.update(F).finalize(oe);
                        B.reset();
                        for (var me = je.words, ge = me.length, _e = je, we = 1; we < be; we++) {
                            _e = B.finalize(_e), B.reset();
                            for (var ke = _e.words, Je = 0; Je < ge; Je++) me[Je] ^= ke[Je]
                        }
                        le.concat(je), Ae[0]++
                    }
                    return le.sigBytes = 4 * ce, le
                }
            }), r.PBKDF2 = function(G, F, k) {
                return K.create(k).compute(G, F)
            }, t.PBKDF2)
        },
        3544: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(8319), _(9493), _(7865), _(3057), function() {
                var r = t,
                    C = r.lib.StreamCipher,
                    V = [],
                    P = [],
                    $ = [],
                    K = r.algo.RabbitLegacy = C.extend({
                        _doReset: function() {
                            var F = this._key.words,
                                k = this.cfg.iv,
                                B = this._X = [F[0], F[3] << 16 | F[2] >>> 16, F[1], F[0] << 16 | F[3] >>> 16, F[2], F[1] << 16 | F[0] >>> 16, F[3], F[2] << 16 | F[1] >>> 16],
                                le = this._C = [F[2] << 16 | F[2] >>> 16, 4294901760 & F[0] | 65535 & F[1], F[3] << 16 | F[3] >>> 16, 4294901760 & F[1] | 65535 & F[2], F[0] << 16 | F[0] >>> 16, 4294901760 & F[2] | 65535 & F[3], F[1] << 16 | F[1] >>> 16, 4294901760 & F[3] | 65535 & F[0]];
                            this._b = 0;
                            for (var oe = 0; oe < 4; oe++) G.call(this);
                            for (oe = 0; oe < 8; oe++) le[oe] ^= B[oe + 4 & 7];
                            if (k) {
                                var Te = k.words,
                                    Ae = Te[0],
                                    ce = Te[1],
                                    be = 16711935 & (Ae << 8 | Ae >>> 24) | 4278255360 & (Ae << 24 | Ae >>> 8),
                                    je = 16711935 & (ce << 8 | ce >>> 24) | 4278255360 & (ce << 24 | ce >>> 8),
                                    me = be >>> 16 | 4294901760 & je,
                                    ge = je << 16 | 65535 & be;
                                for (le[0] ^= be, le[1] ^= me, le[2] ^= je, le[3] ^= ge, le[4] ^= be, le[5] ^= me, le[6] ^= je, le[7] ^= ge, oe = 0; oe < 4; oe++) G.call(this)
                            }
                        },
                        _doProcessBlock: function(F, k) {
                            var B = this._X;
                            G.call(this), V[0] = B[0] ^ B[5] >>> 16 ^ B[3] << 16, V[1] = B[2] ^ B[7] >>> 16 ^ B[5] << 16, V[2] = B[4] ^ B[1] >>> 16 ^ B[7] << 16, V[3] = B[6] ^ B[3] >>> 16 ^ B[1] << 16;
                            for (var le = 0; le < 4; le++) V[le] = 16711935 & (V[le] << 8 | V[le] >>> 24) | 4278255360 & (V[le] << 24 | V[le] >>> 8), F[k + le] ^= V[le]
                        },
                        blockSize: 4,
                        ivSize: 2
                    });

                function G() {
                    for (var F = this._X, k = this._C, B = 0; B < 8; B++) P[B] = k[B];
                    for (k[0] = k[0] + 1295307597 + this._b | 0, k[1] = k[1] + 3545052371 + (k[0] >>> 0 < P[0] >>> 0 ? 1 : 0) | 0, k[2] = k[2] + 886263092 + (k[1] >>> 0 < P[1] >>> 0 ? 1 : 0) | 0, k[3] = k[3] + 1295307597 + (k[2] >>> 0 < P[2] >>> 0 ? 1 : 0) | 0, k[4] = k[4] + 3545052371 + (k[3] >>> 0 < P[3] >>> 0 ? 1 : 0) | 0, k[5] = k[5] + 886263092 + (k[4] >>> 0 < P[4] >>> 0 ? 1 : 0) | 0, k[6] = k[6] + 1295307597 + (k[5] >>> 0 < P[5] >>> 0 ? 1 : 0) | 0, k[7] = k[7] + 3545052371 + (k[6] >>> 0 < P[6] >>> 0 ? 1 : 0) | 0, this._b = k[7] >>> 0 < P[7] >>> 0 ? 1 : 0, B = 0; B < 8; B++) {
                        var le = F[B] + k[B],
                            oe = 65535 & le,
                            Te = le >>> 16;
                        $[B] = ((oe * oe >>> 17) + oe * Te >>> 15) + Te * Te ^ ((4294901760 & le) * le | 0) + ((65535 & le) * le | 0)
                    }
                    F[0] = $[0] + ($[7] << 16 | $[7] >>> 16) + ($[6] << 16 | $[6] >>> 16) | 0, F[1] = $[1] + ($[0] << 8 | $[0] >>> 24) + $[7] | 0, F[2] = $[2] + ($[1] << 16 | $[1] >>> 16) + ($[0] << 16 | $[0] >>> 16) | 0, F[3] = $[3] + ($[2] << 8 | $[2] >>> 24) + $[1] | 0, F[4] = $[4] + ($[3] << 16 | $[3] >>> 16) + ($[2] << 16 | $[2] >>> 16) | 0, F[5] = $[5] + ($[4] << 8 | $[4] >>> 24) + $[3] | 0, F[6] = $[6] + ($[5] << 16 | $[5] >>> 16) + ($[4] << 16 | $[4] >>> 16) | 0, F[7] = $[7] + ($[6] << 8 | $[6] >>> 24) + $[5] | 0
                }
                r.RabbitLegacy = C._createHelper(K)
            }(), t.RabbitLegacy)
        },
        8182: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(8319), _(9493), _(7865), _(3057), function() {
                var r = t,
                    C = r.lib.StreamCipher,
                    V = [],
                    P = [],
                    $ = [],
                    K = r.algo.Rabbit = C.extend({
                        _doReset: function() {
                            for (var F = this._key.words, k = this.cfg.iv, B = 0; B < 4; B++) F[B] = 16711935 & (F[B] << 8 | F[B] >>> 24) | 4278255360 & (F[B] << 24 | F[B] >>> 8);
                            var le = this._X = [F[0], F[3] << 16 | F[2] >>> 16, F[1], F[0] << 16 | F[3] >>> 16, F[2], F[1] << 16 | F[0] >>> 16, F[3], F[2] << 16 | F[1] >>> 16],
                                oe = this._C = [F[2] << 16 | F[2] >>> 16, 4294901760 & F[0] | 65535 & F[1], F[3] << 16 | F[3] >>> 16, 4294901760 & F[1] | 65535 & F[2], F[0] << 16 | F[0] >>> 16, 4294901760 & F[2] | 65535 & F[3], F[1] << 16 | F[1] >>> 16, 4294901760 & F[3] | 65535 & F[0]];
                            for (this._b = 0, B = 0; B < 4; B++) G.call(this);
                            for (B = 0; B < 8; B++) oe[B] ^= le[B + 4 & 7];
                            if (k) {
                                var Te = k.words,
                                    Ae = Te[0],
                                    ce = Te[1],
                                    be = 16711935 & (Ae << 8 | Ae >>> 24) | 4278255360 & (Ae << 24 | Ae >>> 8),
                                    je = 16711935 & (ce << 8 | ce >>> 24) | 4278255360 & (ce << 24 | ce >>> 8),
                                    me = be >>> 16 | 4294901760 & je,
                                    ge = je << 16 | 65535 & be;
                                for (oe[0] ^= be, oe[1] ^= me, oe[2] ^= je, oe[3] ^= ge, oe[4] ^= be, oe[5] ^= me, oe[6] ^= je, oe[7] ^= ge, B = 0; B < 4; B++) G.call(this)
                            }
                        },
                        _doProcessBlock: function(F, k) {
                            var B = this._X;
                            G.call(this), V[0] = B[0] ^ B[5] >>> 16 ^ B[3] << 16, V[1] = B[2] ^ B[7] >>> 16 ^ B[5] << 16, V[2] = B[4] ^ B[1] >>> 16 ^ B[7] << 16, V[3] = B[6] ^ B[3] >>> 16 ^ B[1] << 16;
                            for (var le = 0; le < 4; le++) V[le] = 16711935 & (V[le] << 8 | V[le] >>> 24) | 4278255360 & (V[le] << 24 | V[le] >>> 8), F[k + le] ^= V[le]
                        },
                        blockSize: 4,
                        ivSize: 2
                    });

                function G() {
                    for (var F = this._X, k = this._C, B = 0; B < 8; B++) P[B] = k[B];
                    for (k[0] = k[0] + 1295307597 + this._b | 0, k[1] = k[1] + 3545052371 + (k[0] >>> 0 < P[0] >>> 0 ? 1 : 0) | 0, k[2] = k[2] + 886263092 + (k[1] >>> 0 < P[1] >>> 0 ? 1 : 0) | 0, k[3] = k[3] + 1295307597 + (k[2] >>> 0 < P[2] >>> 0 ? 1 : 0) | 0, k[4] = k[4] + 3545052371 + (k[3] >>> 0 < P[3] >>> 0 ? 1 : 0) | 0, k[5] = k[5] + 886263092 + (k[4] >>> 0 < P[4] >>> 0 ? 1 : 0) | 0, k[6] = k[6] + 1295307597 + (k[5] >>> 0 < P[5] >>> 0 ? 1 : 0) | 0, k[7] = k[7] + 3545052371 + (k[6] >>> 0 < P[6] >>> 0 ? 1 : 0) | 0, this._b = k[7] >>> 0 < P[7] >>> 0 ? 1 : 0, B = 0; B < 8; B++) {
                        var le = F[B] + k[B],
                            oe = 65535 & le,
                            Te = le >>> 16;
                        $[B] = ((oe * oe >>> 17) + oe * Te >>> 15) + Te * Te ^ ((4294901760 & le) * le | 0) + ((65535 & le) * le | 0)
                    }
                    F[0] = $[0] + ($[7] << 16 | $[7] >>> 16) + ($[6] << 16 | $[6] >>> 16) | 0, F[1] = $[1] + ($[0] << 8 | $[0] >>> 24) + $[7] | 0, F[2] = $[2] + ($[1] << 16 | $[1] >>> 16) + ($[0] << 16 | $[0] >>> 16) | 0, F[3] = $[3] + ($[2] << 8 | $[2] >>> 24) + $[1] | 0, F[4] = $[4] + ($[3] << 16 | $[3] >>> 16) + ($[2] << 16 | $[2] >>> 16) | 0, F[5] = $[5] + ($[4] << 8 | $[4] >>> 24) + $[3] | 0, F[6] = $[6] + ($[5] << 16 | $[5] >>> 16) + ($[4] << 16 | $[4] >>> 16) | 0, F[7] = $[7] + ($[6] << 8 | $[6] >>> 24) + $[5] | 0
                }
                r.Rabbit = C._createHelper(K)
            }(), t.Rabbit)
        },
        486: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(8319), _(9493), _(7865), _(3057), function() {
                var r = t,
                    C = r.lib.StreamCipher,
                    x = r.algo,
                    V = x.RC4 = C.extend({
                        _doReset: function() {
                            for (var K = this._key, G = K.words, F = K.sigBytes, k = this._S = [], B = 0; B < 256; B++) k[B] = B;
                            B = 0;
                            for (var le = 0; B < 256; B++) {
                                var oe = B % F,
                                    Ae = k[B];
                                k[B] = k[le = (le + k[B] + (G[oe >>> 2] >>> 24 - oe % 4 * 8 & 255)) % 256], k[le] = Ae
                            }
                            this._i = this._j = 0
                        },
                        _doProcessBlock: function(K, G) {
                            K[G] ^= P.call(this)
                        },
                        keySize: 8,
                        ivSize: 0
                    });

                function P() {
                    for (var K = this._S, G = this._i, F = this._j, k = 0, B = 0; B < 4; B++) {
                        var le = K[G = (G + 1) % 256];
                        K[G] = K[F = (F + K[G]) % 256], K[F] = le, k |= K[(K[G] + K[F]) % 256] << 24 - 8 * B
                    }
                    return this._i = G, this._j = F, k
                }
                r.RC4 = C._createHelper(V);
                var $ = x.RC4Drop = V.extend({
                    cfg: V.cfg.extend({
                        drop: 192
                    }),
                    _doReset: function() {
                        V._doReset.call(this);
                        for (var K = this.cfg.drop; K > 0; K--) P.call(this)
                    }
                });
                r.RC4Drop = C._createHelper($)
            }(), t.RC4)
        },
        4973: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), function(r) {
                var U = t,
                    C = U.lib,
                    x = C.WordArray,
                    V = C.Hasher,
                    P = U.algo,
                    $ = x.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),
                    K = x.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),
                    G = x.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),
                    F = x.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),
                    k = x.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),
                    B = x.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),
                    le = P.RIPEMD160 = V.extend({
                        _doReset: function() {
                            this._hash = x.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
                        },
                        _doProcessBlock: function(me, ge) {
                            for (var _e = 0; _e < 16; _e++) {
                                var we = ge + _e,
                                    ke = me[we];
                                me[we] = 16711935 & (ke << 8 | ke >>> 24) | 4278255360 & (ke << 24 | ke >>> 8)
                            }
                            var kt, St, Ct, ht, Pe, De, J, fe, Fe, at, ct, Je = this._hash.words,
                                ue = k.words,
                                Me = B.words,
                                Ke = $.words,
                                Be = K.words,
                                He = G.words,
                                xt = F.words;
                            for (De = kt = Je[0], J = St = Je[1], fe = Ct = Je[2], Fe = ht = Je[3], at = Pe = Je[4], _e = 0; _e < 80; _e += 1) ct = kt + me[ge + Ke[_e]] | 0, ct += _e < 16 ? oe(St, Ct, ht) + ue[0] : _e < 32 ? Te(St, Ct, ht) + ue[1] : _e < 48 ? Ae(St, Ct, ht) + ue[2] : _e < 64 ? ce(St, Ct, ht) + ue[3] : be(St, Ct, ht) + ue[4], ct = (ct = je(ct |= 0, He[_e])) + Pe | 0, kt = Pe, Pe = ht, ht = je(Ct, 10), Ct = St, St = ct, ct = De + me[ge + Be[_e]] | 0, ct += _e < 16 ? be(J, fe, Fe) + Me[0] : _e < 32 ? ce(J, fe, Fe) + Me[1] : _e < 48 ? Ae(J, fe, Fe) + Me[2] : _e < 64 ? Te(J, fe, Fe) + Me[3] : oe(J, fe, Fe) + Me[4], ct = (ct = je(ct |= 0, xt[_e])) + at | 0, De = at, at = Fe, Fe = je(fe, 10), fe = J, J = ct;
                            ct = Je[1] + Ct + Fe | 0, Je[1] = Je[2] + ht + at | 0, Je[2] = Je[3] + Pe + De | 0, Je[3] = Je[4] + kt + J | 0, Je[4] = Je[0] + St + fe | 0, Je[0] = ct
                        },
                        _doFinalize: function() {
                            var me = this._data,
                                ge = me.words,
                                _e = 8 * this._nDataBytes,
                                we = 8 * me.sigBytes;
                            ge[we >>> 5] |= 128 << 24 - we % 32, ge[14 + (we + 64 >>> 9 << 4)] = 16711935 & (_e << 8 | _e >>> 24) | 4278255360 & (_e << 24 | _e >>> 8), me.sigBytes = 4 * (ge.length + 1), this._process();
                            for (var ke = this._hash, Je = ke.words, ue = 0; ue < 5; ue++) {
                                var Me = Je[ue];
                                Je[ue] = 16711935 & (Me << 8 | Me >>> 24) | 4278255360 & (Me << 24 | Me >>> 8)
                            }
                            return ke
                        },
                        clone: function() {
                            var me = V.clone.call(this);
                            return me._hash = this._hash.clone(), me
                        }
                    });

                function oe(me, ge, _e) {
                    return me ^ ge ^ _e
                }

                function Te(me, ge, _e) {
                    return me & ge | ~me & _e
                }

                function Ae(me, ge, _e) {
                    return (me | ~ge) ^ _e
                }

                function ce(me, ge, _e) {
                    return me & _e | ge & ~_e
                }

                function be(me, ge, _e) {
                    return me ^ (ge | ~_e)
                }

                function je(me, ge) {
                    return me << ge | me >>> 32 - ge
                }
                U.RIPEMD160 = V._createHelper(le), U.HmacRIPEMD160 = V._createHmacHelper(le)
            }(Math), t.RIPEMD160)
        },
        5162: function(Re, he, _) {
            var r, U, C, x, P, $, t;
            Re.exports = (t = _(7585), C = (U = (r = t).lib).WordArray, P = [], $ = r.algo.SHA1 = (x = U.Hasher).extend({
                _doReset: function() {
                    this._hash = new C.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
                },
                _doProcessBlock: function(K, G) {
                    for (var F = this._hash.words, k = F[0], B = F[1], le = F[2], oe = F[3], Te = F[4], Ae = 0; Ae < 80; Ae++) {
                        if (Ae < 16) P[Ae] = 0 | K[G + Ae];
                        else {
                            var ce = P[Ae - 3] ^ P[Ae - 8] ^ P[Ae - 14] ^ P[Ae - 16];
                            P[Ae] = ce << 1 | ce >>> 31
                        }
                        var be = (k << 5 | k >>> 27) + Te + P[Ae];
                        be += Ae < 20 ? 1518500249 + (B & le | ~B & oe) : Ae < 40 ? 1859775393 + (B ^ le ^ oe) : Ae < 60 ? (B & le | B & oe | le & oe) - 1894007588 : (B ^ le ^ oe) - 899497514, Te = oe, oe = le, le = B << 30 | B >>> 2, B = k, k = be
                    }
                    F[0] = F[0] + k | 0, F[1] = F[1] + B | 0, F[2] = F[2] + le | 0, F[3] = F[3] + oe | 0, F[4] = F[4] + Te | 0
                },
                _doFinalize: function() {
                    var K = this._data,
                        G = K.words,
                        F = 8 * this._nDataBytes,
                        k = 8 * K.sigBytes;
                    return G[k >>> 5] |= 128 << 24 - k % 32, G[14 + (k + 64 >>> 9 << 4)] = Math.floor(F / 4294967296), G[15 + (k + 64 >>> 9 << 4)] = F, K.sigBytes = 4 * G.length, this._process(), this._hash
                },
                clone: function() {
                    var K = x.clone.call(this);
                    return K._hash = this._hash.clone(), K
                }
            }), r.SHA1 = x._createHelper($), r.HmacSHA1 = x._createHmacHelper($), t.SHA1)
        },
        8769: function(Re, he, _) {
            var r, C, x, V, P, t;
            Re.exports = (t = _(7585), _(1817), C = (r = t).lib.WordArray, P = (x = r.algo).SHA224 = (V = x.SHA256).extend({
                _doReset: function() {
                    this._hash = new C.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428])
                },
                _doFinalize: function() {
                    var $ = V._doFinalize.call(this);
                    return $.sigBytes -= 4, $
                }
            }), r.SHA224 = V._createHelper(P), r.HmacSHA224 = V._createHmacHelper(P), t.SHA224)
        },
        1817: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), function(r) {
                var U = t,
                    C = U.lib,
                    x = C.WordArray,
                    V = C.Hasher,
                    P = U.algo,
                    $ = [],
                    K = [];
                ! function() {
                    function k(Te) {
                        for (var Ae = r.sqrt(Te), ce = 2; ce <= Ae; ce++)
                            if (!(Te % ce)) return !1;
                        return !0
                    }

                    function B(Te) {
                        return 4294967296 * (Te - (0 | Te)) | 0
                    }
                    for (var le = 2, oe = 0; oe < 64;) k(le) && (oe < 8 && ($[oe] = B(r.pow(le, .5))), K[oe] = B(r.pow(le, 1 / 3)), oe++), le++
                }();
                var G = [],
                    F = P.SHA256 = V.extend({
                        _doReset: function() {
                            this._hash = new x.init($.slice(0))
                        },
                        _doProcessBlock: function(k, B) {
                            for (var le = this._hash.words, oe = le[0], Te = le[1], Ae = le[2], ce = le[3], be = le[4], je = le[5], me = le[6], ge = le[7], _e = 0; _e < 64; _e++) {
                                if (_e < 16) G[_e] = 0 | k[B + _e];
                                else {
                                    var we = G[_e - 15],
                                        Je = G[_e - 2];
                                    G[_e] = ((we << 25 | we >>> 7) ^ (we << 14 | we >>> 18) ^ we >>> 3) + G[_e - 7] + ((Je << 15 | Je >>> 17) ^ (Je << 13 | Je >>> 19) ^ Je >>> 10) + G[_e - 16]
                                }
                                var Ke = oe & Te ^ oe & Ae ^ Te & Ae,
                                    xt = ge + ((be << 26 | be >>> 6) ^ (be << 21 | be >>> 11) ^ (be << 7 | be >>> 25)) + (be & je ^ ~be & me) + K[_e] + G[_e];
                                ge = me, me = je, je = be, be = ce + xt | 0, ce = Ae, Ae = Te, Te = oe, oe = xt + (((oe << 30 | oe >>> 2) ^ (oe << 19 | oe >>> 13) ^ (oe << 10 | oe >>> 22)) + Ke) | 0
                            }
                            le[0] = le[0] + oe | 0, le[1] = le[1] + Te | 0, le[2] = le[2] + Ae | 0, le[3] = le[3] + ce | 0, le[4] = le[4] + be | 0, le[5] = le[5] + je | 0, le[6] = le[6] + me | 0, le[7] = le[7] + ge | 0
                        },
                        _doFinalize: function() {
                            var k = this._data,
                                B = k.words,
                                le = 8 * this._nDataBytes,
                                oe = 8 * k.sigBytes;
                            return B[oe >>> 5] |= 128 << 24 - oe % 32, B[14 + (oe + 64 >>> 9 << 4)] = r.floor(le / 4294967296), B[15 + (oe + 64 >>> 9 << 4)] = le, k.sigBytes = 4 * B.length, this._process(), this._hash
                        },
                        clone: function() {
                            var k = V.clone.call(this);
                            return k._hash = this._hash.clone(), k
                        }
                    });
                U.SHA256 = V._createHelper(F), U.HmacSHA256 = V._createHmacHelper(F)
            }(Math), t.SHA256)
        },
        1971: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(401), function(r) {
                var U = t,
                    C = U.lib,
                    x = C.WordArray,
                    V = C.Hasher,
                    $ = U.x64.Word,
                    K = U.algo,
                    G = [],
                    F = [],
                    k = [];
                ! function() {
                    for (var oe = 1, Te = 0, Ae = 0; Ae < 24; Ae++) {
                        G[oe + 5 * Te] = (Ae + 1) * (Ae + 2) / 2 % 64;
                        var be = (2 * oe + 3 * Te) % 5;
                        oe = Te % 5, Te = be
                    }
                    for (oe = 0; oe < 5; oe++)
                        for (Te = 0; Te < 5; Te++) F[oe + 5 * Te] = Te + (2 * oe + 3 * Te) % 5 * 5;
                    for (var je = 1, me = 0; me < 24; me++) {
                        for (var ge = 0, _e = 0, we = 0; we < 7; we++) {
                            if (1 & je) {
                                var ke = (1 << we) - 1;
                                ke < 32 ? _e ^= 1 << ke : ge ^= 1 << ke - 32
                            }
                            128 & je ? je = je << 1 ^ 113 : je <<= 1
                        }
                        k[me] = $.create(ge, _e)
                    }
                }();
                var B = [];
                ! function() {
                    for (var oe = 0; oe < 25; oe++) B[oe] = $.create()
                }();
                var le = K.SHA3 = V.extend({
                    cfg: V.cfg.extend({
                        outputLength: 512
                    }),
                    _doReset: function() {
                        for (var oe = this._state = [], Te = 0; Te < 25; Te++) oe[Te] = new $.init;
                        this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32
                    },
                    _doProcessBlock: function(oe, Te) {
                        for (var Ae = this._state, ce = this.blockSize / 2, be = 0; be < ce; be++) {
                            var je = oe[Te + 2 * be],
                                me = oe[Te + 2 * be + 1];
                            je = 16711935 & (je << 8 | je >>> 24) | 4278255360 & (je << 24 | je >>> 8), (ge = Ae[be]).high ^= me = 16711935 & (me << 8 | me >>> 24) | 4278255360 & (me << 24 | me >>> 8), ge.low ^= je
                        }
                        for (var _e = 0; _e < 24; _e++) {
                            for (var we = 0; we < 5; we++) {
                                for (var ke = 0, Je = 0, ue = 0; ue < 5; ue++) ke ^= (ge = Ae[we + 5 * ue]).high, Je ^= ge.low;
                                var Me = B[we];
                                Me.high = ke, Me.low = Je
                            }
                            for (we = 0; we < 5; we++) {
                                var Ke = B[(we + 4) % 5],
                                    Be = B[(we + 1) % 5],
                                    He = Be.high,
                                    xt = Be.low;
                                for (ke = Ke.high ^ (He << 1 | xt >>> 31), Je = Ke.low ^ (xt << 1 | He >>> 31), ue = 0; ue < 5; ue++)(ge = Ae[we + 5 * ue]).high ^= ke, ge.low ^= Je
                            }
                            for (var kt = 1; kt < 25; kt++) {
                                var St = (ge = Ae[kt]).high,
                                    Ct = ge.low,
                                    ht = G[kt];
                                ht < 32 ? (ke = St << ht | Ct >>> 32 - ht, Je = Ct << ht | St >>> 32 - ht) : (ke = Ct << ht - 32 | St >>> 64 - ht, Je = St << ht - 32 | Ct >>> 64 - ht);
                                var Pe = B[F[kt]];
                                Pe.high = ke, Pe.low = Je
                            }
                            var De = B[0],
                                J = Ae[0];
                            for (De.high = J.high, De.low = J.low, we = 0; we < 5; we++)
                                for (ue = 0; ue < 5; ue++) {
                                    var fe = B[kt = we + 5 * ue],
                                        Fe = B[(we + 1) % 5 + 5 * ue],
                                        at = B[(we + 2) % 5 + 5 * ue];
                                    (ge = Ae[kt]).high = fe.high ^ ~Fe.high & at.high, ge.low = fe.low ^ ~Fe.low & at.low
                                }
                            var ge, ct = k[_e];
                            (ge = Ae[0]).high ^= ct.high, ge.low ^= ct.low
                        }
                    },
                    _doFinalize: function() {
                        var oe = this._data,
                            Te = oe.words,
                            ce = 8 * oe.sigBytes,
                            be = 32 * this.blockSize;
                        Te[ce >>> 5] |= 1 << 24 - ce % 32, Te[(r.ceil((ce + 1) / be) * be >>> 5) - 1] |= 128, oe.sigBytes = 4 * Te.length, this._process();
                        for (var je = this._state, me = this.cfg.outputLength / 8, ge = me / 8, _e = [], we = 0; we < ge; we++) {
                            var ke = je[we],
                                Je = ke.high,
                                ue = ke.low;
                            Je = 16711935 & (Je << 8 | Je >>> 24) | 4278255360 & (Je << 24 | Je >>> 8), _e.push(ue = 16711935 & (ue << 8 | ue >>> 24) | 4278255360 & (ue << 24 | ue >>> 8)), _e.push(Je)
                        }
                        return new x.init(_e, me)
                    },
                    clone: function() {
                        for (var oe = V.clone.call(this), Te = oe._state = this._state.slice(0), Ae = 0; Ae < 25; Ae++) Te[Ae] = Te[Ae].clone();
                        return oe
                    }
                });
                U.SHA3 = V._createHelper(le), U.HmacSHA3 = V._createHmacHelper(le)
            }(Math), t.SHA3)
        },
        6787: function(Re, he, _) {
            var r, U, C, x, V, P, $, t;
            Re.exports = (t = _(7585), _(401), _(3351), C = (U = (r = t).x64).Word, x = U.WordArray, $ = (V = r.algo).SHA384 = (P = V.SHA512).extend({
                _doReset: function() {
                    this._hash = new x.init([new C.init(3418070365, 3238371032), new C.init(1654270250, 914150663), new C.init(2438529370, 812702999), new C.init(355462360, 4144912697), new C.init(1731405415, 4290775857), new C.init(2394180231, 1750603025), new C.init(3675008525, 1694076839), new C.init(1203062813, 3204075428)])
                },
                _doFinalize: function() {
                    var K = P._doFinalize.call(this);
                    return K.sigBytes -= 16, K
                }
            }), r.SHA384 = P._createHelper($), r.HmacSHA384 = P._createHmacHelper($), t.SHA384)
        },
        3351: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(401), function() {
                var r = t,
                    C = r.lib.Hasher,
                    x = r.x64,
                    V = x.Word,
                    P = x.WordArray,
                    $ = r.algo;

                function K() {
                    return V.create.apply(V, arguments)
                }
                var G = [K(1116352408, 3609767458), K(1899447441, 602891725), K(3049323471, 3964484399), K(3921009573, 2173295548), K(961987163, 4081628472), K(1508970993, 3053834265), K(2453635748, 2937671579), K(2870763221, 3664609560), K(3624381080, 2734883394), K(310598401, 1164996542), K(607225278, 1323610764), K(1426881987, 3590304994), K(1925078388, 4068182383), K(2162078206, 991336113), K(2614888103, 633803317), K(3248222580, 3479774868), K(3835390401, 2666613458), K(4022224774, 944711139), K(264347078, 2341262773), K(604807628, 2007800933), K(770255983, 1495990901), K(1249150122, 1856431235), K(1555081692, 3175218132), K(1996064986, 2198950837), K(2554220882, 3999719339), K(2821834349, 766784016), K(2952996808, 2566594879), K(3210313671, 3203337956), K(3336571891, 1034457026), K(3584528711, 2466948901), K(113926993, 3758326383), K(338241895, 168717936), K(666307205, 1188179964), K(773529912, 1546045734), K(1294757372, 1522805485), K(1396182291, 2643833823), K(1695183700, 2343527390), K(1986661051, 1014477480), K(2177026350, 1206759142), K(2456956037, 344077627), K(2730485921, 1290863460), K(2820302411, 3158454273), K(3259730800, 3505952657), K(3345764771, 106217008), K(3516065817, 3606008344), K(3600352804, 1432725776), K(4094571909, 1467031594), K(275423344, 851169720), K(430227734, 3100823752), K(506948616, 1363258195), K(659060556, 3750685593), K(883997877, 3785050280), K(958139571, 3318307427), K(1322822218, 3812723403), K(1537002063, 2003034995), K(1747873779, 3602036899), K(1955562222, 1575990012), K(2024104815, 1125592928), K(2227730452, 2716904306), K(2361852424, 442776044), K(2428436474, 593698344), K(2756734187, 3733110249), K(3204031479, 2999351573), K(3329325298, 3815920427), K(3391569614, 3928383900), K(3515267271, 566280711), K(3940187606, 3454069534), K(4118630271, 4000239992), K(116418474, 1914138554), K(174292421, 2731055270), K(289380356, 3203993006), K(460393269, 320620315), K(685471733, 587496836), K(852142971, 1086792851), K(1017036298, 365543100), K(1126000580, 2618297676), K(1288033470, 3409855158), K(1501505948, 4234509866), K(1607167915, 987167468), K(1816402316, 1246189591)],
                    F = [];
                ! function() {
                    for (var B = 0; B < 80; B++) F[B] = K()
                }();
                var k = $.SHA512 = C.extend({
                    _doReset: function() {
                        this._hash = new P.init([new V.init(1779033703, 4089235720), new V.init(3144134277, 2227873595), new V.init(1013904242, 4271175723), new V.init(2773480762, 1595750129), new V.init(1359893119, 2917565137), new V.init(2600822924, 725511199), new V.init(528734635, 4215389547), new V.init(1541459225, 327033209)])
                    },
                    _doProcessBlock: function(B, le) {
                        for (var oe = this._hash.words, Te = oe[0], Ae = oe[1], ce = oe[2], be = oe[3], je = oe[4], me = oe[5], ge = oe[6], _e = oe[7], we = Te.high, ke = Te.low, Je = Ae.high, ue = Ae.low, Me = ce.high, Ke = ce.low, Be = be.high, He = be.low, xt = je.high, kt = je.low, St = me.high, Ct = me.low, ht = ge.high, Pe = ge.low, De = _e.high, J = _e.low, fe = we, Fe = ke, at = Je, ct = ue, vt = Me, Qt = Ke, Ge = Be, mt = He, Lt = xt, _n = kt, Ln = St, Nn = Ct, kn = ht, vn = Pe, tn = De, Cn = J, pn = 0; pn < 80; pn++) {
                            var Rn, Qn, _r = F[pn];
                            if (pn < 16) Qn = _r.high = 0 | B[le + 2 * pn], Rn = _r.low = 0 | B[le + 2 * pn + 1];
                            else {
                                var Mr = F[pn - 15],
                                    Ut = Mr.high,
                                    dt = Mr.low,
                                    Pt = (dt >>> 1 | Ut << 31) ^ (dt >>> 8 | Ut << 24) ^ (dt >>> 7 | Ut << 25),
                                    jt = F[pn - 2],
                                    on = jt.high,
                                    $n = jt.low,
                                    sn = ($n >>> 19 | on << 13) ^ ($n << 3 | on >>> 29) ^ ($n >>> 6 | on << 26),
                                    cr = F[pn - 7],
                                    Yn = F[pn - 16],
                                    Kn = Yn.low;
                                _r.high = Qn = (Qn = (Qn = ((Ut >>> 1 | dt << 31) ^ (Ut >>> 8 | dt << 24) ^ Ut >>> 7) + cr.high + ((Rn = Pt + cr.low) >>> 0 < Pt >>> 0 ? 1 : 0)) + ((on >>> 19 | $n << 13) ^ (on << 3 | $n >>> 29) ^ on >>> 6) + ((Rn += sn) >>> 0 < sn >>> 0 ? 1 : 0)) + Yn.high + ((Rn += Kn) >>> 0 < Kn >>> 0 ? 1 : 0), _r.low = Rn
                            }
                            var br, si = Lt & Ln ^ ~Lt & kn,
                                Jr = _n & Nn ^ ~_n & vn,
                                hr = fe & at ^ fe & vt ^ at & vt,
                                yi = (Fe >>> 28 | fe << 4) ^ (Fe << 30 | fe >>> 2) ^ (Fe << 25 | fe >>> 7),
                                Pi = G[pn],
                                lr = Pi.low,
                                Er = tn + ((Lt >>> 14 | _n << 18) ^ (Lt >>> 18 | _n << 14) ^ (Lt << 23 | _n >>> 9)) + ((br = Cn + ((_n >>> 14 | Lt << 18) ^ (_n >>> 18 | Lt << 14) ^ (_n << 23 | Lt >>> 9))) >>> 0 < Cn >>> 0 ? 1 : 0),
                                jr = yi + (Fe & ct ^ Fe & Qt ^ ct & Qt);
                            tn = kn, Cn = vn, kn = Ln, vn = Nn, Ln = Lt, Nn = _n, Lt = Ge + (Er = (Er = (Er = Er + si + ((br += Jr) >>> 0 < Jr >>> 0 ? 1 : 0)) + Pi.high + ((br += lr) >>> 0 < lr >>> 0 ? 1 : 0)) + Qn + ((br += Rn) >>> 0 < Rn >>> 0 ? 1 : 0)) + ((_n = mt + br | 0) >>> 0 < mt >>> 0 ? 1 : 0) | 0, Ge = vt, mt = Qt, vt = at, Qt = ct, at = fe, ct = Fe, fe = Er + (((fe >>> 28 | Fe << 4) ^ (fe << 30 | Fe >>> 2) ^ (fe << 25 | Fe >>> 7)) + hr + (jr >>> 0 < yi >>> 0 ? 1 : 0)) + ((Fe = br + jr | 0) >>> 0 < br >>> 0 ? 1 : 0) | 0
                        }
                        ke = Te.low = ke + Fe, Te.high = we + fe + (ke >>> 0 < Fe >>> 0 ? 1 : 0), ue = Ae.low = ue + ct, Ae.high = Je + at + (ue >>> 0 < ct >>> 0 ? 1 : 0), Ke = ce.low = Ke + Qt, ce.high = Me + vt + (Ke >>> 0 < Qt >>> 0 ? 1 : 0), He = be.low = He + mt, be.high = Be + Ge + (He >>> 0 < mt >>> 0 ? 1 : 0), kt = je.low = kt + _n, je.high = xt + Lt + (kt >>> 0 < _n >>> 0 ? 1 : 0), Ct = me.low = Ct + Nn, me.high = St + Ln + (Ct >>> 0 < Nn >>> 0 ? 1 : 0), Pe = ge.low = Pe + vn, ge.high = ht + kn + (Pe >>> 0 < vn >>> 0 ? 1 : 0), J = _e.low = J + Cn, _e.high = De + tn + (J >>> 0 < Cn >>> 0 ? 1 : 0)
                    },
                    _doFinalize: function() {
                        var B = this._data,
                            le = B.words,
                            oe = 8 * this._nDataBytes,
                            Te = 8 * B.sigBytes;
                        return le[Te >>> 5] |= 128 << 24 - Te % 32, le[30 + (Te + 128 >>> 10 << 5)] = Math.floor(oe / 4294967296), le[31 + (Te + 128 >>> 10 << 5)] = oe, B.sigBytes = 4 * le.length, this._process(), this._hash.toX32()
                    },
                    clone: function() {
                        var B = C.clone.call(this);
                        return B._hash = this._hash.clone(), B
                    },
                    blockSize: 32
                });
                r.SHA512 = C._createHelper(k), r.HmacSHA512 = C._createHmacHelper(k)
            }(), t.SHA512)
        },
        7243: function(Re, he, _) {
            var t;
            Re.exports = (t = _(7585), _(8319), _(9493), _(7865), _(3057), function() {
                var r = t,
                    U = r.lib,
                    C = U.WordArray,
                    x = U.BlockCipher,
                    V = r.algo,
                    P = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],
                    $ = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],
                    K = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],
                    G = [{
                        0: 8421888,
                        268435456: 32768,
                        536870912: 8421378,
                        805306368: 2,
                        1073741824: 512,
                        1342177280: 8421890,
                        1610612736: 8389122,
                        1879048192: 8388608,
                        2147483648: 514,
                        2415919104: 8389120,
                        2684354560: 33280,
                        2952790016: 8421376,
                        3221225472: 32770,
                        3489660928: 8388610,
                        3758096384: 0,
                        4026531840: 33282,
                        134217728: 0,
                        402653184: 8421890,
                        671088640: 33282,
                        939524096: 32768,
                        1207959552: 8421888,
                        1476395008: 512,
                        1744830464: 8421378,
                        2013265920: 2,
                        2281701376: 8389120,
                        2550136832: 33280,
                        2818572288: 8421376,
                        3087007744: 8389122,
                        3355443200: 8388610,
                        3623878656: 32770,
                        3892314112: 514,
                        4160749568: 8388608,
                        1: 32768,
                        268435457: 2,
                        536870913: 8421888,
                        805306369: 8388608,
                        1073741825: 8421378,
                        1342177281: 33280,
                        1610612737: 512,
                        1879048193: 8389122,
                        2147483649: 8421890,
                        2415919105: 8421376,
                        2684354561: 8388610,
                        2952790017: 33282,
                        3221225473: 514,
                        3489660929: 8389120,
                        3758096385: 32770,
                        4026531841: 0,
                        134217729: 8421890,
                        402653185: 8421376,
                        671088641: 8388608,
                        939524097: 512,
                        1207959553: 32768,
                        1476395009: 8388610,
                        1744830465: 2,
                        2013265921: 33282,
                        2281701377: 32770,
                        2550136833: 8389122,
                        2818572289: 514,
                        3087007745: 8421888,
                        3355443201: 8389120,
                        3623878657: 0,
                        3892314113: 33280,
                        4160749569: 8421378
                    }, {
                        0: 1074282512,
                        16777216: 16384,
                        33554432: 524288,
                        50331648: 1074266128,
                        67108864: 1073741840,
                        83886080: 1074282496,
                        100663296: 1073758208,
                        117440512: 16,
                        134217728: 540672,
                        150994944: 1073758224,
                        167772160: 1073741824,
                        184549376: 540688,
                        201326592: 524304,
                        218103808: 0,
                        234881024: 16400,
                        251658240: 1074266112,
                        8388608: 1073758208,
                        25165824: 540688,
                        41943040: 16,
                        58720256: 1073758224,
                        75497472: 1074282512,
                        92274688: 1073741824,
                        109051904: 524288,
                        125829120: 1074266128,
                        142606336: 524304,
                        159383552: 0,
                        176160768: 16384,
                        192937984: 1074266112,
                        209715200: 1073741840,
                        226492416: 540672,
                        243269632: 1074282496,
                        260046848: 16400,
                        268435456: 0,
                        285212672: 1074266128,
                        301989888: 1073758224,
                        318767104: 1074282496,
                        335544320: 1074266112,
                        352321536: 16,
                        369098752: 540688,
                        385875968: 16384,
                        402653184: 16400,
                        419430400: 524288,
                        436207616: 524304,
                        452984832: 1073741840,
                        469762048: 540672,
                        486539264: 1073758208,
                        503316480: 1073741824,
                        520093696: 1074282512,
                        276824064: 540688,
                        293601280: 524288,
                        310378496: 1074266112,
                        327155712: 16384,
                        343932928: 1073758208,
                        360710144: 1074282512,
                        377487360: 16,
                        394264576: 1073741824,
                        411041792: 1074282496,
                        427819008: 1073741840,
                        444596224: 1073758224,
                        461373440: 524304,
                        478150656: 0,
                        494927872: 16400,
                        511705088: 1074266128,
                        528482304: 540672
                    }, {
                        0: 260,
                        1048576: 0,
                        2097152: 67109120,
                        3145728: 65796,
                        4194304: 65540,
                        5242880: 67108868,
                        6291456: 67174660,
                        7340032: 67174400,
                        8388608: 67108864,
                        9437184: 67174656,
                        10485760: 65792,
                        11534336: 67174404,
                        12582912: 67109124,
                        13631488: 65536,
                        14680064: 4,
                        15728640: 256,
                        524288: 67174656,
                        1572864: 67174404,
                        2621440: 0,
                        3670016: 67109120,
                        4718592: 67108868,
                        5767168: 65536,
                        6815744: 65540,
                        7864320: 260,
                        8912896: 4,
                        9961472: 256,
                        11010048: 67174400,
                        12058624: 65796,
                        13107200: 65792,
                        14155776: 67109124,
                        15204352: 67174660,
                        16252928: 67108864,
                        16777216: 67174656,
                        17825792: 65540,
                        18874368: 65536,
                        19922944: 67109120,
                        20971520: 256,
                        22020096: 67174660,
                        23068672: 67108868,
                        24117248: 0,
                        25165824: 67109124,
                        26214400: 67108864,
                        27262976: 4,
                        28311552: 65792,
                        29360128: 67174400,
                        30408704: 260,
                        31457280: 65796,
                        32505856: 67174404,
                        17301504: 67108864,
                        18350080: 260,
                        19398656: 67174656,
                        20447232: 0,
                        21495808: 65540,
                        22544384: 67109120,
                        23592960: 256,
                        24641536: 67174404,
                        25690112: 65536,
                        26738688: 67174660,
                        27787264: 65796,
                        28835840: 67108868,
                        29884416: 67109124,
                        30932992: 67174400,
                        31981568: 4,
                        33030144: 65792
                    }, {
                        0: 2151682048,
                        65536: 2147487808,
                        131072: 4198464,
                        196608: 2151677952,
                        262144: 0,
                        327680: 4198400,
                        393216: 2147483712,
                        458752: 4194368,
                        524288: 2147483648,
                        589824: 4194304,
                        655360: 64,
                        720896: 2147487744,
                        786432: 2151678016,
                        851968: 4160,
                        917504: 4096,
                        983040: 2151682112,
                        32768: 2147487808,
                        98304: 64,
                        163840: 2151678016,
                        229376: 2147487744,
                        294912: 4198400,
                        360448: 2151682112,
                        425984: 0,
                        491520: 2151677952,
                        557056: 4096,
                        622592: 2151682048,
                        688128: 4194304,
                        753664: 4160,
                        819200: 2147483648,
                        884736: 4194368,
                        950272: 4198464,
                        1015808: 2147483712,
                        1048576: 4194368,
                        1114112: 4198400,
                        1179648: 2147483712,
                        1245184: 0,
                        1310720: 4160,
                        1376256: 2151678016,
                        1441792: 2151682048,
                        1507328: 2147487808,
                        1572864: 2151682112,
                        1638400: 2147483648,
                        1703936: 2151677952,
                        1769472: 4198464,
                        1835008: 2147487744,
                        1900544: 4194304,
                        1966080: 64,
                        2031616: 4096,
                        1081344: 2151677952,
                        1146880: 2151682112,
                        1212416: 0,
                        1277952: 4198400,
                        1343488: 4194368,
                        1409024: 2147483648,
                        1474560: 2147487808,
                        1540096: 64,
                        1605632: 2147483712,
                        1671168: 4096,
                        1736704: 2147487744,
                        1802240: 2151678016,
                        1867776: 4160,
                        1933312: 2151682048,
                        1998848: 4194304,
                        2064384: 4198464
                    }, {
                        0: 128,
                        4096: 17039360,
                        8192: 262144,
                        12288: 536870912,
                        16384: 537133184,
                        20480: 16777344,
                        24576: 553648256,
                        28672: 262272,
                        32768: 16777216,
                        36864: 537133056,
                        40960: 536871040,
                        45056: 553910400,
                        49152: 553910272,
                        53248: 0,
                        57344: 17039488,
                        61440: 553648128,
                        2048: 17039488,
                        6144: 553648256,
                        10240: 128,
                        14336: 17039360,
                        18432: 262144,
                        22528: 537133184,
                        26624: 553910272,
                        30720: 536870912,
                        34816: 537133056,
                        38912: 0,
                        43008: 553910400,
                        47104: 16777344,
                        51200: 536871040,
                        55296: 553648128,
                        59392: 16777216,
                        63488: 262272,
                        65536: 262144,
                        69632: 128,
                        73728: 536870912,
                        77824: 553648256,
                        81920: 16777344,
                        86016: 553910272,
                        90112: 537133184,
                        94208: 16777216,
                        98304: 553910400,
                        102400: 553648128,
                        106496: 17039360,
                        110592: 537133056,
                        114688: 262272,
                        118784: 536871040,
                        122880: 0,
                        126976: 17039488,
                        67584: 553648256,
                        71680: 16777216,
                        75776: 17039360,
                        79872: 537133184,
                        83968: 536870912,
                        88064: 17039488,
                        92160: 128,
                        96256: 553910272,
                        100352: 262272,
                        104448: 553910400,
                        108544: 0,
                        112640: 553648128,
                        116736: 16777344,
                        120832: 262144,
                        124928: 537133056,
                        129024: 536871040
                    }, {
                        0: 268435464,
                        256: 8192,
                        512: 270532608,
                        768: 270540808,
                        1024: 268443648,
                        1280: 2097152,
                        1536: 2097160,
                        1792: 268435456,
                        2048: 0,
                        2304: 268443656,
                        2560: 2105344,
                        2816: 8,
                        3072: 270532616,
                        3328: 2105352,
                        3584: 8200,
                        3840: 270540800,
                        128: 270532608,
                        384: 270540808,
                        640: 8,
                        896: 2097152,
                        1152: 2105352,
                        1408: 268435464,
                        1664: 268443648,
                        1920: 8200,
                        2176: 2097160,
                        2432: 8192,
                        2688: 268443656,
                        2944: 270532616,
                        3200: 0,
                        3456: 270540800,
                        3712: 2105344,
                        3968: 268435456,
                        4096: 268443648,
                        4352: 270532616,
                        4608: 270540808,
                        4864: 8200,
                        5120: 2097152,
                        5376: 268435456,
                        5632: 268435464,
                        5888: 2105344,
                        6144: 2105352,
                        6400: 0,
                        6656: 8,
                        6912: 270532608,
                        7168: 8192,
                        7424: 268443656,
                        7680: 270540800,
                        7936: 2097160,
                        4224: 8,
                        4480: 2105344,
                        4736: 2097152,
                        4992: 268435464,
                        5248: 268443648,
                        5504: 8200,
                        5760: 270540808,
                        6016: 270532608,
                        6272: 270540800,
                        6528: 270532616,
                        6784: 8192,
                        7040: 2105352,
                        7296: 2097160,
                        7552: 0,
                        7808: 268435456,
                        8064: 268443656
                    }, {
                        0: 1048576,
                        16: 33555457,
                        32: 1024,
                        48: 1049601,
                        64: 34604033,
                        80: 0,
                        96: 1,
                        112: 34603009,
                        128: 33555456,
                        144: 1048577,
                        160: 33554433,
                        176: 34604032,
                        192: 34603008,
                        208: 1025,
                        224: 1049600,
                        240: 33554432,
                        8: 34603009,
                        24: 0,
                        40: 33555457,
                        56: 34604032,
                        72: 1048576,
                        88: 33554433,
                        104: 33554432,
                        120: 1025,
                        136: 1049601,
                        152: 33555456,
                        168: 34603008,
                        184: 1048577,
                        200: 1024,
                        216: 34604033,
                        232: 1,
                        248: 1049600,
                        256: 33554432,
                        272: 1048576,
                        288: 33555457,
                        304: 34603009,
                        320: 1048577,
                        336: 33555456,
                        352: 34604032,
                        368: 1049601,
                        384: 1025,
                        400: 34604033,
                        416: 1049600,
                        432: 1,
                        448: 0,
                        464: 34603008,
                        480: 33554433,
                        496: 1024,
                        264: 1049600,
                        280: 33555457,
                        296: 34603009,
                        312: 1,
                        328: 33554432,
                        344: 1048576,
                        360: 1025,
                        376: 34604032,
                        392: 33554433,
                        408: 34603008,
                        424: 0,
                        440: 34604033,
                        456: 1049601,
                        472: 1024,
                        488: 33555456,
                        504: 1048577
                    }, {
                        0: 134219808,
                        1: 131072,
                        2: 134217728,
                        3: 32,
                        4: 131104,
                        5: 134350880,
                        6: 134350848,
                        7: 2048,
                        8: 134348800,
                        9: 134219776,
                        10: 133120,
                        11: 134348832,
                        12: 2080,
                        13: 0,
                        14: 134217760,
                        15: 133152,
                        2147483648: 2048,
                        2147483649: 134350880,
                        2147483650: 134219808,
                        2147483651: 134217728,
                        2147483652: 134348800,
                        2147483653: 133120,
                        2147483654: 133152,
                        2147483655: 32,
                        2147483656: 134217760,
                        2147483657: 2080,
                        2147483658: 131104,
                        2147483659: 134350848,
                        2147483660: 0,
                        2147483661: 134348832,
                        2147483662: 134219776,
                        2147483663: 131072,
                        16: 133152,
                        17: 134350848,
                        18: 32,
                        19: 2048,
                        20: 134219776,
                        21: 134217760,
                        22: 134348832,
                        23: 131072,
                        24: 0,
                        25: 131104,
                        26: 134348800,
                        27: 134219808,
                        28: 134350880,
                        29: 133120,
                        30: 2080,
                        31: 134217728,
                        2147483664: 131072,
                        2147483665: 2048,
                        2147483666: 134348832,
                        2147483667: 133152,
                        2147483668: 32,
                        2147483669: 134348800,
                        2147483670: 134217728,
                        2147483671: 134219808,
                        2147483672: 134350880,
                        2147483673: 134217760,
                        2147483674: 134219776,
                        2147483675: 0,
                        2147483676: 133120,
                        2147483677: 2080,
                        2147483678: 131104,
                        2147483679: 134350848
                    }],
                    F = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],
                    k = V.DES = x.extend({
                        _doReset: function() {
                            for (var Ae = this._key.words, ce = [], be = 0; be < 56; be++) {
                                var je = P[be] - 1;
                                ce[be] = Ae[je >>> 5] >>> 31 - je % 32 & 1
                            }
                            for (var me = this._subKeys = [], ge = 0; ge < 16; ge++) {
                                var _e = me[ge] = [],
                                    we = K[ge];
                                for (be = 0; be < 24; be++) _e[be / 6 | 0] |= ce[($[be] - 1 + we) % 28] << 31 - be % 6, _e[4 + (be / 6 | 0)] |= ce[28 + ($[be + 24] - 1 + we) % 28] << 31 - be % 6;
                                for (_e[0] = _e[0] << 1 | _e[0] >>> 31, be = 1; be < 7; be++) _e[be] = _e[be] >>> 4 * (be - 1) + 3;
                                _e[7] = _e[7] << 5 | _e[7] >>> 27
                            }
                            var ke = this._invSubKeys = [];
                            for (be = 0; be < 16; be++) ke[be] = me[15 - be]
                        },
                        encryptBlock: function(Te, Ae) {
                            this._doCryptBlock(Te, Ae, this._subKeys)
                        },
                        decryptBlock: function(Te, Ae) {
                            this._doCryptBlock(Te, Ae, this._invSubKeys)
                        },
                        _doCryptBlock: function(Te, Ae, ce) {
                            this._lBlock = Te[Ae], this._rBlock = Te[Ae + 1], B.call(this, 4, 252645135), B.call(this, 16, 65535), le.call(this, 2, 858993459), le.call(this, 8, 16711935), B.call(this, 1, 1431655765);
                            for (var be = 0; be < 16; be++) {
                                for (var je = ce[be], me = this._lBlock, ge = this._rBlock, _e = 0, we = 0; we < 8; we++) _e |= G[we][((ge ^ je[we]) & F[we]) >>> 0];
                                this._lBlock = ge, this._rBlock = me ^ _e
                            }
                            var ke = this._lBlock;
                            this._lBlock = this._rBlock, this._rBlock = ke, B.call(this, 1, 1431655765), le.call(this, 8, 16711935), le.call(this, 2, 858993459), B.call(this, 16, 65535), B.call(this, 4, 252645135), Te[Ae] = this._lBlock, Te[Ae + 1] = this._rBlock
                        },
                        keySize: 2,
                        ivSize: 2,
                        blockSize: 2
                    });

                function B(Te, Ae) {
                    var ce = (this._lBlock >>> Te ^ this._rBlock) & Ae;
                    this._rBlock ^= ce, this._lBlock ^= ce << Te
                }

                function le(Te, Ae) {
                    var ce = (this._rBlock >>> Te ^ this._lBlock) & Ae;
                    this._lBlock ^= ce, this._rBlock ^= ce << Te
                }
                r.DES = x._createHelper(k);
                var oe = V.TripleDES = x.extend({
                    _doReset: function() {
                        var Ae = this._key.words;
                        if (2 !== Ae.length && 4 !== Ae.length && Ae.length < 6) throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");
                        var ce = Ae.slice(0, 2),
                            be = Ae.length < 4 ? Ae.slice(0, 2) : Ae.slice(2, 4),
                            je = Ae.length < 6 ? Ae.slice(0, 2) : Ae.slice(4, 6);
                        this._des1 = k.createEncryptor(C.create(ce)), this._des2 = k.createEncryptor(C.create(be)), this._des3 = k.createEncryptor(C.create(je))
                    },
                    encryptBlock: function(Te, Ae) {
                        this._des1.encryptBlock(Te, Ae), this._des2.decryptBlock(Te, Ae), this._des3.encryptBlock(Te, Ae)
                    },
                    decryptBlock: function(Te, Ae) {
                        this._des3.decryptBlock(Te, Ae), this._des2.encryptBlock(Te, Ae), this._des1.decryptBlock(Te, Ae)
                    },
                    keySize: 6,
                    ivSize: 2,
                    blockSize: 2
                });
                r.TripleDES = x._createHelper(oe)
            }(), t.TripleDES)
        },
        401: function(Re, he, _) {
            var C, x, V, P, t;
            Re.exports = (t = _(7585), x = (C = t.lib).Base, V = C.WordArray, (P = t.x64 = {}).Word = x.extend({
                init: function(G, F) {
                    this.high = G, this.low = F
                }
            }), P.WordArray = x.extend({
                init: function(G, F) {
                    G = this.words = G || [], this.sigBytes = null != F ? F : 8 * G.length
                },
                toX32: function() {
                    for (var G = this.words, F = G.length, k = [], B = 0; B < F; B++) {
                        var le = G[B];
                        k.push(le.high), k.push(le.low)
                    }
                    return V.create(k, this.sigBytes)
                },
                clone: function() {
                    for (var G = x.clone.call(this), F = G.words = this.words.slice(0), k = F.length, B = 0; B < k; B++) F[B] = F[B].clone();
                    return G
                }
            }), t)
        },
        7489: function(Re, he, _) {
            var t;
            Re = _.nmd(Re),
                function() {
                    var r, V = "Expected a function",
                        $ = "__lodash_hash_undefined__",
                        G = "__lodash_placeholder__",
                        kt = 1 / 0,
                        St = 9007199254740991,
                        Pe = 4294967295,
                        fe = [
                            ["ary", 128],
                            ["bind", 1],
                            ["bindKey", 2],
                            ["curry", 8],
                            ["curryRight", 16],
                            ["flip", 512],
                            ["partial", 32],
                            ["partialRight", 64],
                            ["rearg", 256]
                        ],
                        Fe = "[object Arguments]",
                        at = "[object Array]",
                        vt = "[object Boolean]",
                        Qt = "[object Date]",
                        mt = "[object Error]",
                        Lt = "[object Function]",
                        _n = "[object GeneratorFunction]",
                        Ln = "[object Map]",
                        Nn = "[object Number]",
                        vn = "[object Object]",
                        tn = "[object Promise]",
                        pn = "[object RegExp]",
                        Rn = "[object Set]",
                        Qn = "[object String]",
                        _r = "[object Symbol]",
                        Ut = "[object WeakMap]",
                        et = "[object ArrayBuffer]",
                        Pt = "[object DataView]",
                        jt = "[object Float32Array]",
                        on = "[object Float64Array]",
                        $n = "[object Int8Array]",
                        Xn = "[object Int16Array]",
                        sn = "[object Int32Array]",
                        cr = "[object Uint8Array]",
                        Jn = "[object Uint8ClampedArray]",
                        wr = "[object Uint16Array]",
                        Yn = "[object Uint32Array]",
                        In = /\b__p \+= '';/g,
                        Kn = /\b(__p \+=) '' \+/g,
                        si = /(__e\(.*?\)|\b__t\)) \+\n'';/g,
                        Jr = /&(?:amp|lt|gt|quot|#39);/g,
                        hr = /[&<>"']/g,
                        ai = RegExp(Jr.source),
                        Si = RegExp(hr.source),
                        yi = /<%-([\s\S]+?)%>/g,
                        eo = /<%([\s\S]+?)%>/g,
                        Ji = /<%=([\s\S]+?)%>/g,
                        Pi = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
                        To = /^\w*$/,
                        lr = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
                        br = /[\\^$.*+?()[\]{}|]/g,
                        Er = RegExp(br.source),
                        jr = /^\s+/,
                        zr = /\s/,
                        Fr = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
                        nt = /\{\n\/\* \[wrapped with (.+)\] \*/,
                        Ee = /,? & /,
                        re = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,
                        ae = /[()=,{}\[\]\/\s]/,
                        Xe = /\\(\\)?/g,
                        Dt = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,
                        Xt = /\w*$/,
                        dn = /^[-+]0x[0-9a-f]+$/i,
                        er = /^0b[01]+$/i,
                        Kr = /^\[object .+?Constructor\]$/,
                        Tn = /^0o[0-7]+$/i,
                        Lr = /^(?:0|[1-9]\d*)$/,
                        bi = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,
                        ji = /($^)/,
                        ye = /['\n\r\u2028\u2029\\]/g,
                        Ue = "\\ud800-\\udfff",
                        Ht = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",
                        an = "\\u2700-\\u27bf",
                        Kt = "a-z\\xdf-\\xf6\\xf8-\\xff",
                        Dr = "A-Z\\xc0-\\xd6\\xd8-\\xde",
                        mr = "\\ufe0e\\ufe0f",
                        Yr = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",
                        yo = "[" + Ue + "]",
                        $r = "[" + Yr + "]",
                        hi = "[" + Ht + "]",
                        ls = "\\d+",
                        Ho = "[" + an + "]",
                        Oo = "[" + Kt + "]",
                        to = "[^" + Ue + Yr + ls + an + Kt + Dr + "]",
                        it = "\\ud83c[\\udffb-\\udfff]",
                        Tt = "[^" + Ue + "]",
                        $t = "(?:\\ud83c[\\udde6-\\uddff]){2}",
                        xn = "[\\ud800-\\udbff][\\udc00-\\udfff]",
                        cn = "[" + Dr + "]",
                        li = "(?:" + Oo + "|" + to + ")",
                        mi = "(?:" + cn + "|" + to + ")",
                        Ki = "(?:['\u2019](?:d|ll|m|re|s|t|ve))?",
                        Gr = "(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",
                        ei = "(?:" + hi + "|" + it + ")?",
                        Ao = "[" + mr + "]?",
                        $i = Ao + ei + "(?:\\u200d(?:" + [Tt, $t, xn].join("|") + ")" + Ao + ei + ")*",
                        Rs = "(?:" + [Ho, $t, xn].join("|") + ")" + $i,
                        us = "(?:" + [Tt + hi + "?", hi, $t, xn, yo].join("|") + ")",
                        oo = RegExp("['\u2019]", "g"),
                        ga = RegExp(hi, "g"),
                        bo = RegExp(it + "(?=" + it + ")|" + us + $i, "g"),
                        Fs = RegExp([cn + "?" + Oo + "+" + Ki + "(?=" + [$r, cn, "$"].join("|") + ")", mi + "+" + Gr + "(?=" + [$r, cn + li, "$"].join("|") + ")", cn + "?" + li + "+" + Ki, cn + "+" + Gr, "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", ls, Rs].join("|"), "g"),
                        Co = RegExp("[\\u200d" + Ue + Ht + mr + "]"),
                        ds = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,
                        jo = ["Array", "Buffer", "DataView", "Date", "Error", "Float32Array", "Float64Array", "Function", "Int8Array", "Int16Array", "Int32Array", "Map", "Math", "Object", "Promise", "RegExp", "Set", "String", "Symbol", "TypeError", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "WeakMap", "_", "clearTimeout", "isFinite", "parseInt", "setTimeout"],
                        Ni = -1,
                        ii = {};
                    ii[jt] = ii[on] = ii[$n] = ii[Xn] = ii[sn] = ii[cr] = ii[Jn] = ii[wr] = ii[Yn] = !0, ii[Fe] = ii[at] = ii[et] = ii[vt] = ii[Pt] = ii[Qt] = ii[mt] = ii[Lt] = ii[Ln] = ii[Nn] = ii[vn] = ii[pn] = ii[Rn] = ii[Qn] = ii[Ut] = !1;
                    var Vr = {};
                    Vr[Fe] = Vr[at] = Vr[et] = Vr[Pt] = Vr[vt] = Vr[Qt] = Vr[jt] = Vr[on] = Vr[$n] = Vr[Xn] = Vr[sn] = Vr[Ln] = Vr[Nn] = Vr[vn] = Vr[pn] = Vr[Rn] = Vr[Qn] = Vr[_r] = Vr[cr] = Vr[Jn] = Vr[wr] = Vr[Yn] = !0, Vr[mt] = Vr[Lt] = Vr[Ut] = !1;
                    var Ts = {
                            "\\": "\\",
                            "'": "'",
                            "\n": "n",
                            "\r": "r",
                            "\u2028": "u2028",
                            "\u2029": "u2029"
                        },
                        ia = parseFloat,
                        Bi = parseInt,
                        Xo = "object" == typeof global && global && global.Object === Object && global,
                        oa = "object" == typeof self && self && self.Object === Object && self,
                        Di = Xo || oa || Function("return this")(),
                        ps = he && !he.nodeType && he,
                        _a = ps && Re && !Re.nodeType && Re,
                        xi = _a && _a.exports === ps,
                        Aa = xi && Xo.process,
                        xo = function() {
                            try {
                                return _a && _a.require && _a.require("util").types || Aa && Aa.binding && Aa.binding("util")
                            } catch {}
                        }(),
                        $s = xo && xo.isArrayBuffer,
                        so = xo && xo.isDate,
                        va = xo && xo.isMap,
                        Mo = xo && xo.isRegExp,
                        hs = xo && xo.isSet,
                        Ti = xo && xo.isTypedArray;

                    function Ri(Et, Jt, Vt) {
                        switch (Vt.length) {
                            case 0:
                                return Et.call(Jt);
                            case 1:
                                return Et.call(Jt, Vt[0]);
                            case 2:
                                return Et.call(Jt, Vt[0], Vt[1]);
                            case 3:
                                return Et.call(Jt, Vt[0], Vt[1], Vt[2])
                        }
                        return Et.apply(Jt, Vt)
                    }

                    function So(Et, Jt, Vt, Sn) {
                        for (var ir = -1, ni = null == Et ? 0 : Et.length; ++ir < ni;) {
                            var Qi = Et[ir];
                            Jt(Sn, Qi, Vt(Qi), Et)
                        }
                        return Sn
                    }

                    function ci(Et, Jt) {
                        for (var Vt = -1, Sn = null == Et ? 0 : Et.length; ++Vt < Sn && !1 !== Jt(Et[Vt], Vt, Et););
                        return Et
                    }

                    function ao(Et, Jt) {
                        for (var Vt = null == Et ? 0 : Et.length; Vt-- && !1 !== Jt(Et[Vt], Vt, Et););
                        return Et
                    }

                    function Oi(Et, Jt) {
                        for (var Vt = -1, Sn = null == Et ? 0 : Et.length; ++Vt < Sn;)
                            if (!Jt(Et[Vt], Vt, Et)) return !1;
                        return !0
                    }

                    function lo(Et, Jt) {
                        for (var Vt = -1, Sn = null == Et ? 0 : Et.length, ir = 0, ni = []; ++Vt < Sn;) {
                            var Qi = Et[Vt];
                            Jt(Qi, Vt, Et) && (ni[ir++] = Qi)
                        }
                        return ni
                    }

                    function qn(Et, Jt) {
                        return !(null == Et || !Et.length) && Wt(Et, Jt, 0) > -1
                    }

                    function sa(Et, Jt, Vt) {
                        for (var Sn = -1, ir = null == Et ? 0 : Et.length; ++Sn < ir;)
                            if (Vt(Jt, Et[Sn])) return !0;
                        return !1
                    }

                    function ti(Et, Jt) {
                        for (var Vt = -1, Sn = null == Et ? 0 : Et.length, ir = Array(Sn); ++Vt < Sn;) ir[Vt] = Jt(Et[Vt], Vt, Et);
                        return ir
                    }

                    function Go(Et, Jt) {
                        for (var Vt = -1, Sn = Jt.length, ir = Et.length; ++Vt < Sn;) Et[ir + Vt] = Jt[Vt];
                        return Et
                    }

                    function ya(Et, Jt, Vt, Sn) {
                        var ir = -1,
                            ni = null == Et ? 0 : Et.length;
                        for (Sn && ni && (Vt = Et[++ir]); ++ir < ni;) Vt = Jt(Vt, Et[ir], ir, Et);
                        return Vt
                    }

                    function Zo(Et, Jt, Vt, Sn) {
                        var ir = null == Et ? 0 : Et.length;
                        for (Sn && ir && (Vt = Et[--ir]); ir--;) Vt = Jt(Vt, Et[ir], ir, Et);
                        return Vt
                    }

                    function L(Et, Jt) {
                        for (var Vt = -1, Sn = null == Et ? 0 : Et.length; ++Vt < Sn;)
                            if (Jt(Et[Vt], Vt, Et)) return !0;
                        return !1
                    }
                    var ee = H("length");

                    function rt(Et, Jt, Vt) {
                        var Sn;
                        return Vt(Et, function(ir, ni, Qi) {
                            if (Jt(ir, ni, Qi)) return Sn = ni, !1
                        }), Sn
                    }

                    function gt(Et, Jt, Vt, Sn) {
                        for (var ir = Et.length, ni = Vt + (Sn ? 1 : -1); Sn ? ni-- : ++ni < ir;)
                            if (Jt(Et[ni], ni, Et)) return ni;
                        return -1
                    }

                    function Wt(Et, Jt, Vt) {
                        return Jt == Jt ? function ol(Et, Jt, Vt) {
                            for (var Sn = Vt - 1, ir = Et.length; ++Sn < ir;)
                                if (Et[Sn] === Jt) return Sn;
                            return -1
                        }(Et, Jt, Vt) : gt(Et, X, Vt)
                    }

                    function en(Et, Jt, Vt, Sn) {
                        for (var ir = Vt - 1, ni = Et.length; ++ir < ni;)
                            if (Sn(Et[ir], Jt)) return ir;
                        return -1
                    }

                    function X(Et) {
                        return Et != Et
                    }

                    function Y(Et, Jt) {
                        var Vt = null == Et ? 0 : Et.length;
                        return Vt ? nr(Et, Jt) / Vt : NaN
                    }

                    function H(Et) {
                        return function(Jt) {
                            return null == Jt ? r : Jt[Et]
                        }
                    }

                    function Ie(Et) {
                        return function(Jt) {
                            return null == Et ? r : Et[Jt]
                        }
                    }

                    function It(Et, Jt, Vt, Sn, ir) {
                        return ir(Et, function(ni, Qi, wi) {
                            Vt = Sn ? (Sn = !1, ni) : Jt(Vt, ni, Qi, wi)
                        }), Vt
                    }

                    function nr(Et, Jt) {
                        for (var Vt, Sn = -1, ir = Et.length; ++Sn < ir;) {
                            var ni = Jt(Et[Sn]);
                            ni !== r && (Vt = Vt === r ? ni : Vt + ni)
                        }
                        return Vt
                    }

                    function no(Et, Jt) {
                        for (var Vt = -1, Sn = Array(Et); ++Vt < Et;) Sn[Vt] = Jt(Vt);
                        return Sn
                    }

                    function Gi(Et) {
                        return Et && Et.slice(0, ko(Et) + 1).replace(jr, "")
                    }

                    function Fi(Et) {
                        return function(Jt) {
                            return Et(Jt)
                        }
                    }

                    function Ma(Et, Jt) {
                        return ti(Jt, function(Vt) {
                            return Et[Vt]
                        })
                    }

                    function Ws(Et, Jt) {
                        return Et.has(Jt)
                    }

                    function zs(Et, Jt) {
                        for (var Vt = -1, Sn = Et.length; ++Vt < Sn && Wt(Jt, Et[Vt], 0) > -1;);
                        return Vt
                    }

                    function Ic(Et, Jt) {
                        for (var Vt = Et.length; Vt-- && Wt(Jt, Et[Vt], 0) > -1;);
                        return Vt
                    }

                    function Yc(Et, Jt) {
                        for (var Vt = Et.length, Sn = 0; Vt--;) Et[Vt] === Jt && ++Sn;
                        return Sn
                    }
                    var Ku = Ie({\
                            u00c0: "A",
                            \u00c1: "A",
                            \u00c2: "A",
                            \u00c3: "A",
                            \u00c4: "A",
                            \u00c5: "A",
                            \u00e0: "a",
                            \u00e1: "a",
                            \u00e2: "a",
                            \u00e3: "a",
                            \u00e4: "a",
                            \u00e5: "a",
                            \u00c7: "C",
                            \u00e7: "c",
                            \u00d0: "D",
                            \u00f0: "d",
                            \u00c8: "E",
                            \u00c9: "E",
                            \u00ca: "E",
                            \u00cb: "E",
                            \u00e8: "e",
                            \u00e9: "e",
                            \u00ea: "e",
                            \u00eb: "e",
                            \u00cc: "I",
                            \u00cd: "I",
                            \u00ce: "I",
                            \u00cf: "I",
                            \u00ec: "i",
                            \u00ed: "i",
                            \u00ee: "i",
                            \u00ef: "i",
                            \u00d1: "N",
                            \u00f1: "n",
                            \u00d2: "O",
                            \u00d3: "O",
                            \u00d4: "O",
                            \u00d5: "O",
                            \u00d6: "O",
                            \u00d8: "O",
                            \u00f2: "o",
                            \u00f3: "o",
                            \u00f4: "o",
                            \u00f5: "o",
                            \u00f6: "o",
                            \u00f8: "o",
                            \u00d9: "U",
                            \u00da: "U",
                            \u00db: "U",
                            \u00dc: "U",
                            \u00f9: "u",
                            \u00fa: "u",
                            \u00fb: "u",
                            \u00fc: "u",
                            \u00dd: "Y",
                            \u00fd: "y",
                            \u00ff: "y",
                            \u00c6: "Ae",
                            \u00e6: "ae",
                            \u00de: "Th",
                            \u00fe: "th",
                            \u00df: "ss",
                            \u0100: "A",
                            \u0102: "A",
                            \u0104: "A",
                            \u0101: "a",
                            \u0103: "a",
                            \u0105: "a",
                            \u0106: "C",
                            \u0108: "C",
                            \u010a: "C",
                            \u010c: "C",
                            \u0107: "c",
                            \u0109: "c",
                            \u010b: "c",
                            \u010d: "c",
                            \u010e: "D",
                            \u0110: "D",
                            \u010f: "d",
                            \u0111: "d",
                            \u0112: "E",
                            \u0114: "E",
                            \u0116: "E",
                            \u0118: "E",
                            \u011a: "E",
                            \u0113: "e",
                            \u0115: "e",
                            \u0117: "e",
                            \u0119: "e",
                            \u011b: "e",
                            \u011c: "G",
                            \u011e: "G",
                            \u0120: "G",
                            \u0122: "G",
                            \u011d: "g",
                            \u011f: "g",
                            \u0121: "g",
                            \u0123: "g",
                            \u0124: "H",
                            \u0126: "H",
                            \u0125: "h",
                            \u0127: "h",
                            \u0128: "I",
                            \u012a: "I",
                            \u012c: "I",
                            \u012e: "I",
                            \u0130: "I",
                            \u0129: "i",
                            \u012b: "i",
                            \u012d: "i",
                            \u012f: "i",
                            \u0131: "i",
                            \u0134: "J",
                            \u0135: "j",
                            \u0136: "K",
                            \u0137: "k",
                            \u0138: "k",
                            \u0139: "L",
                            \u013b: "L",
                            \u013d: "L",
                            \u013f: "L",
                            \u0141: "L",
                            \u013a: "l",
                            \u013c: "l",
                            \u013e: "l",
                            \u0140: "l",
                            \u0142: "l",
                            \u0143: "N",
                            \u0145: "N",
                            \u0147: "N",
                            \u014a: "N",
                            \u0144: "n",
                            \u0146: "n",
                            \u0148: "n",
                            \u014b: "n",
                            \u014c: "O",
                            \u014e: "O",
                            \u0150: "O",
                            \u014d: "o",
                            \u014f: "o",
                            \u0151: "o",
                            \u0154: "R",
                            \u0156: "R",
                            \u0158: "R",
                            \u0155: "r",
                            \u0157: "r",
                            \u0159: "r",
                            \u015a: "S",
                            \u015c: "S",
                            \u015e: "S",
                            \u0160: "S",
                            \u015b: "s",
                            \u015d: "s",
                            \u015f: "s",
                            \u0161: "s",
                            \u0162: "T",
                            \u0164: "T",
                            \u0166: "T",
                            \u0163: "t",
                            \u0165: "t",
                            \u0167: "t",
                            \u0168: "U",
                            \u016a: "U",
                            \u016c: "U",
                            \u016e: "U",
                            \u0170: "U",
                            \u0172: "U",
                            \u0169: "u",
                            \u016b: "u",
                            \u016d: "u",
                            \u016f: "u",
                            \u0171: "u",
                            \u0173: "u",
                            \u0174: "W",
                            \u0175: "w",
                            \u0176: "Y",
                            \u0177: "y",
                            \u0178: "Y",
                            \u0179: "Z",
                            \u017b: "Z",
                            \u017d: "Z",
                            \u017a: "z",
                            \u017c: "z",
                            \u017e: "z",
                            \u0132: "IJ",
                            \u0133: "ij",
                            \u0152: "Oe",
                            \u0153: "oe",
                            \u0149: "'n",
                            \u017f: "s"
                        }),
                        Ga = Ie({
                            "&": "&amp;",
                            "<": "&lt;",
                            ">": "&gt;",
                            '"': "&quot;",
                            "'": "&#39;"
                        });

                    function vc(Et) {
                        return "\\" + Ts[Et]
                    }

                    function Ks(Et) {
                        return Co.test(Et)
                    }

                    function Gl(Et) {
                        var Jt = -1,
                            Vt = Array(Et.size);
                        return Et.forEach(function(Sn, ir) {
                            Vt[++Jt] = [ir, Sn]
                        }), Vt
                    }

                    function rl(Et, Jt) {
                        return function(Vt) {
                            return Et(Jt(Vt))
                        }
                    }

                    function Ys(Et, Jt) {
                        for (var Vt = -1, Sn = Et.length, ir = 0, ni = []; ++Vt < Sn;) {
                            var Qi = Et[Vt];
                            (Qi === Jt || Qi === G) && (Et[Vt] = G, ni[ir++] = Vt)
                        }
                        return ni
                    }

                    function Wa(Et) {
                        var Jt = -1,
                            Vt = Array(Et.size);
                        return Et.forEach(function(Sn) {
                            Vt[++Jt] = Sn
                        }), Vt
                    }

                    function ba(Et) {
                        return Ks(Et) ? function ui(Et) {
                            for (var Jt = bo.lastIndex = 0; bo.test(Et);) ++Jt;
                            return Jt
                        }(Et) : ee(Et)
                    }

                    function ts(Et) {
                        return Ks(Et) ? function Zl(Et) {
                            return Et.match(bo) || []
                        }(Et) : function R(Et) {
                            return Et.split("")
                        }(Et)
                    }

                    function ko(Et) {
                        for (var Jt = Et.length; Jt-- && zr.test(Et.charAt(Jt)););
                        return Jt
                    }
                    var ms = Ie({
                            "&amp;": "&",
                            "&lt;": "<",
                            "&gt;": ">",
                            "&quot;": '"',
                            "&#39;": "'"
                        }),
                        Wl = function Et(Jt) {
                            var s, Vt = (Jt = null == Jt ? Di : Wl.defaults(Di.Object(), Jt, Wl.pick(Di, jo))).Array,
                                Sn = Jt.Date,
                                ir = Jt.Error,
                                ni = Jt.Function,
                                Qi = Jt.Math,
                                wi = Jt.Object,
                                Os = Jt.RegExp,
                                ll = Jt.String,
                                As = Jt.TypeError,
                                Dl = Vt.prototype,
                                Bs = wi.prototype,
                                zl = Jt["__core-js_shared__"],
                                j = ni.prototype.toString,
                                de = Bs.hasOwnProperty,
                                q = 0,
                                Oe = (s = /[^.]+$/.exec(zl && zl.keys && zl.keys.IE_PROTO || "")) ? "Symbol(src)_1." + s : "",
                                pt = Bs.toString,
                                Gt = j.call(wi),
                                nn = Di._,
                                Gn = Os("^" + j.call(de).replace(br, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
                                Zr = xi ? Jt.Buffer : r,
                                dr = Jt.Symbol,
                                Hr = Jt.Uint8Array,
                                Sr = Zr ? Zr.allocUnsafe : r,
                                Ai = rl(wi.getPrototypeOf, wi),
                                ri = wi.create,
                                co = Bs.propertyIsEnumerable,
                                Lo = Dl.splice,
                                Xi = dr ? dr.isConcatSpreadable : r,
                                Wo = dr ? dr.iterator : r,
                                Ii = dr ? dr.toStringTag : r,
                                Us = function() {
                                    try {
                                        var s = Xa(wi, "defineProperty");
                                        return s({}, "", {}), s
                                    } catch {}
                                }(),
                                Pa = Jt.clearTimeout !== Di.clearTimeout && Jt.clearTimeout,
                                Ol = Sn && Sn.now !== Di.Date.now && Sn.now,
                                cl = Jt.setTimeout !== Di.setTimeout && Jt.setTimeout,
                                Al = Qi.ceil,
                                uo = Qi.floor,
                                Kl = wi.getOwnPropertySymbols,
                                Ia = Zr ? Zr.isBuffer : r,
                                bc = Jt.isFinite,
                                Cc = Dl.join,
                                Po = rl(wi.keys, wi),
                                wo = Qi.max,
                                fo = Qi.min,
                                ul = Sn.now,
                                dl = Jt.parseInt,
                                Yl = Qi.random,
                                qc = Dl.reverse,
                                aa = Xa(Jt, "DataView"),
                                ql = Xa(Jt, "Map"),
                                zo = Xa(Jt, "Promise"),
                                Ms = Xa(Jt, "Set"),
                                Ml = Xa(Jt, "WeakMap"),
                                Na = Xa(wi, "create"),
                                la = Ml && new Ml,
                                qs = {},
                                Ca = Sc(aa),
                                gs = Sc(ql),
                                Nc = Sc(zo),
                                xc = Sc(Ms),
                                Ra = Sc(Ml),
                                Jl = dr ? dr.prototype : r,
                                Js = Jl ? Jl.valueOf : r,
                                Mi = Jl ? Jl.toString : r;

                            function $e(s) {
                                if (as(s) && !Ar(s) && !(s instanceof Ir)) {
                                    if (s instanceof ns) return s;
                                    if (de.call(s, "__wrapped__")) return fd(s)
                                }
                                return new ns(s)
                            }
                            var Fa = function() {
                                function s() {}
                                return function(f) {
                                    if (!Jo(f)) return {};
                                    if (ri) return ri(f);
                                    s.prototype = f;
                                    var w = new s;
                                    return s.prototype = r, w
                                }
                            }();

                            function Qs() {}

                            function ns(s, f) {
                                this.__wrapped__ = s, this.__actions__ = [], this.__chain__ = !!f, this.__index__ = 0, this.__values__ = r
                            }

                            function Ir(s) {
                                this.__wrapped__ = s, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = Pe, this.__views__ = []
                            }

                            function Xl(s) {
                                var f = -1,
                                    w = null == s ? 0 : s.length;
                                for (this.clear(); ++f < w;) {
                                    var te = s[f];
                                    this.set(te[0], te[1])
                                }
                            }

                            function ca(s) {
                                var f = -1,
                                    w = null == s ? 0 : s.length;
                                for (this.clear(); ++f < w;) {
                                    var te = s[f];
                                    this.set(te[0], te[1])
                                }
                            }

                            function S(s) {
                                var f = -1,
                                    w = null == s ? 0 : s.length;
                                for (this.clear(); ++f < w;) {
                                    var te = s[f];
                                    this.set(te[0], te[1])
                                }
                            }

                            function st(s) {
                                var f = -1,
                                    w = null == s ? 0 : s.length;
                                for (this.__data__ = new S; ++f < w;) this.add(s[f])
                            }

                            function fr(s) {
                                var f = this.__data__ = new ca(s);
                                this.size = f.size
                            }

                            function Ss(s, f) {
                                var w = Ar(s),
                                    te = !w && Es(s),
                                    xe = !w && !te && vu(s),
                                    We = !w && !te && !xe && gc(s),
                                    ft = w || te || xe || We,
                                    bt = ft ? no(s.length, ll) : [],
                                    Mt = bt.length;
                                for (var ln in s)(f || de.call(s, ln)) && (!ft || !("length" == ln || xe && ("offset" == ln || "parent" == ln) || We && ("buffer" == ln || "byteLength" == ln || "byteOffset" == ln) || Rl(ln, Mt))) && bt.push(ln);
                                return bt
                            }

                            function wc(s) {
                                var f = s.length;
                                return f ? s[au(0, f - 1)] : r
                            }

                            function Ka(s, f) {
                                return pu(Eo(s), Ja(f, 0, s.length))
                            }

                            function Ps(s) {
                                return pu(Eo(s))
                            }

                            function Rc(s, f, w) {
                                (w !== r && !ea(s[f], w) || w === r && !(f in s)) && ua(s, f, w)
                            }

                            function Hs(s, f, w) {
                                var te = s[f];
                                (!de.call(s, f) || !ea(te, w) || w === r && !(f in s)) && ua(s, f, w)
                            }

                            function xa(s, f) {
                                for (var w = s.length; w--;)
                                    if (ea(s[w][0], f)) return w;
                                return -1
                            }

                            function hl(s, f, w, te) {
                                return wa(s, function(xe, We, ft) {
                                    f(te, xe, w(xe), ft)
                                }), te
                            }

                            function Ya(s, f) {
                                return s && qi(f, ma(f), s)
                            }

                            function ua(s, f, w) {
                                "__proto__" == f && Us ? Us(s, f, {
                                    configurable: !0,
                                    enumerable: !0,
                                    value: w,
                                    writable: !0
                                }) : s[f] = w
                            }

                            function qa(s, f) {
                                for (var w = -1, te = f.length, xe = Vt(te), We = null == s; ++w < te;) xe[w] = We ? r : im(s, f[w]);
                                return xe
                            }

                            function Ja(s, f, w) {
                                return s == s && (w !== r && (s = s <= w ? s : w), f !== r && (s = s >= f ? s : f)), s
                            }

                            function ho(s, f, w, te, xe, We) {
                                var ft, bt = 1 & f,
                                    Mt = 2 & f,
                                    ln = 4 & f;
                                if (w && (ft = xe ? w(s, te, xe, We) : w(s)), ft !== r) return ft;
                                if (!Jo(s)) return s;
                                var un = Ar(s);
                                if (un) {
                                    if (ft = function yl(s) {
                                            var f = s.length,
                                                w = new s.constructor(f);
                                            return f && "string" == typeof s[0] && de.call(s, "index") && (w.index = s.index, w.input = s.input), w
                                        }(s), !bt) return Eo(s, ft)
                                } else {
                                    var gn = Ko(s),
                                        jn = gn == Lt || gn == _n;
                                    if (vu(s)) return Pn(s, bt);
                                    if (gn == vn || gn == Fe || jn && !xe) {
                                        if (ft = Mt || jn ? {} : Fu(s), !bt) return Mt ? function Nu(s, f) {
                                            return qi(s, Nl(s), f)
                                        }(s, function xu(s, f) {
                                            return s && qi(f, wl(f), s)
                                        }(ft, s)) : function Ba(s, f) {
                                            return qi(s, du(s), f)
                                        }(s, Ya(ft, s))
                                    } else {
                                        if (!Vr[gn]) return xe ? s : {};
                                        ft = function gp(s, f, w) {
                                            var te = s.constructor;
                                            switch (f) {
                                                case et:
                                                    return tr(s);
                                                case vt:
                                                case Qt:
                                                    return new te(+s);
                                                case Pt:
                                                    return function qr(s, f) {
                                                        var w = f ? tr(s.buffer) : s.buffer;
                                                        return new s.constructor(w, s.byteOffset, s.byteLength)
                                                    }(s, w);
                                                case jt:
                                                case on:
                                                case $n:
                                                case Xn:
                                                case sn:
                                                case cr:
                                                case Jn:
                                                case wr:
                                                case Yn:
                                                    return Cs(s, w);
                                                case Ln:
                                                    return new te;
                                                case Nn:
                                                case Qn:
                                                    return new te(s);
                                                case pn:
                                                    return function ki(s) {
                                                        var f = new s.constructor(s.source, Xt.exec(s));
                                                        return f.lastIndex = s.lastIndex, f
                                                    }(s);
                                                case Rn:
                                                    return new te;
                                                case _r:
                                                    return function Ui(s) {
                                                        return Js ? wi(Js.call(s)) : {}
                                                    }(s)
                                            }
                                        }(s, gn, bt)
                                    }
                                }
                                We || (We = new fr);
                                var zn = We.get(s);
                                if (zn) return zn;
                                We.set(s, ft), Ad(s) ? s.forEach(function(gr) {
                                    ft.add(ho(gr, f, w, gr, s, We))
                                }) : Ch(s) && s.forEach(function(gr, vi) {
                                    ft.set(vi, ho(gr, f, w, vi, s, We))
                                });
                                var yr = un ? r : (ln ? Mt ? Mc : id : Mt ? wl : ma)(s);
                                return ci(yr || s, function(gr, vi) {
                                    yr && (gr = s[vi = gr]), Hs(ft, vi, ho(gr, f, w, vi, s, We))
                                }), ft
                            }

                            function mo(s, f, w) {
                                var te = w.length;
                                if (null == s) return !te;
                                for (s = wi(s); te--;) {
                                    var xe = w[te],
                                        ft = s[xe];
                                    if (ft === r && !(xe in s) || !(0, f[xe])(ft)) return !1
                                }
                                return !0
                            }

                            function Ju(s, f, w) {
                                if ("function" != typeof s) throw new As(V);
                                return fu(function() {
                                    s.apply(r, w)
                                }, f)
                            }

                            function Qc(s, f, w, te) {
                                var xe = -1,
                                    We = qn,
                                    ft = !0,
                                    bt = s.length,
                                    Mt = [],
                                    ln = f.length;
                                if (!bt) return Mt;
                                w && (f = ti(f, Fi(w))), te ? (We = sa, ft = !1) : f.length >= 200 && (We = Ws, ft = !1, f = new st(f));
                                e: for (; ++xe < bt;) {
                                    var un = s[xe],
                                        gn = null == w ? un : w(un);
                                    if (un = te || 0 !== un ? un : 0, ft && gn == gn) {
                                        for (var jn = ln; jn--;)
                                            if (f[jn] === gn) continue e;
                                        Mt.push(un)
                                    } else We(f, gn, te) || Mt.push(un)
                                }
                                return Mt
                            }
                            $e.templateSettings = {
                                escape: yi,
                                evaluate: eo,
                                interpolate: Ji,
                                variable: "",
                                imports: {
                                    _: $e
                                }
                            }, ($e.prototype = Qs.prototype).constructor = $e, (ns.prototype = Fa(Qs.prototype)).constructor = ns, (Ir.prototype = Fa(Qs.prototype)).constructor = Ir, Xl.prototype.clear = function Jc() {
                                this.__data__ = Na ? Na(null) : {}, this.size = 0
                            }, Xl.prototype.delete = function Yi(s) {
                                var f = this.has(s) && delete this.__data__[s];
                                return this.size -= f ? 1 : 0, f
                            }, Xl.prototype.get = function ec(s) {
                                var f = this.__data__;
                                if (Na) {
                                    var w = f[s];
                                    return w === $ ? r : w
                                }
                                return de.call(f, s) ? f[s] : r
                            }, Xl.prototype.has = function fl(s) {
                                var f = this.__data__;
                                return Na ? f[s] !== r : de.call(f, s)
                            }, Xl.prototype.set = function qu(s, f) {
                                var w = this.__data__;
                                return this.size += this.has(s) ? 0 : 1, w[s] = Na && f === r ? $ : f, this
                            }, ca.prototype.clear = function rs() {
                                this.__data__ = [], this.size = 0
                            }, ca.prototype.delete = function Vs(s) {
                                var f = this.__data__,
                                    w = xa(f, s);
                                return !(w < 0 || (w == f.length - 1 ? f.pop() : Lo.call(f, w, 1), --this.size, 0))
                            }, ca.prototype.get = function Sl(s) {
                                var f = this.__data__,
                                    w = xa(f, s);
                                return w < 0 ? r : f[w][1]
                            }, ca.prototype.has = function po(s) {
                                return xa(this.__data__, s) > -1
                            }, ca.prototype.set = function O(s, f) {
                                var w = this.__data__,
                                    te = xa(w, s);
                                return te < 0 ? (++this.size, w.push([s, f])) : w[te][1] = f, this
                            }, S.prototype.clear = function T() {
                                this.size = 0, this.__data__ = {
                                    hash: new Xl,
                                    map: new(ql || ca),
                                    string: new Xl
                                }
                            }, S.prototype.delete = function z(s) {
                                var f = Vc(this, s).delete(s);
                                return this.size -= f ? 1 : 0, f
                            }, S.prototype.get = function se(s) {
                                return Vc(this, s).get(s)
                            }, S.prototype.has = function Se(s) {
                                return Vc(this, s).has(s)
                            }, S.prototype.set = function tt(s, f) {
                                var w = Vc(this, s),
                                    te = w.size;
                                return w.set(s, f), this.size += w.size == te ? 0 : 1, this
                            }, st.prototype.add = st.prototype.push = function Yt(s) {
                                return this.__data__.set(s, $), this
                            }, st.prototype.has = function bn(s) {
                                return this.__data__.has(s)
                            }, fr.prototype.clear = function On() {
                                this.__data__ = new ca, this.size = 0
                            }, fr.prototype.delete = function gi(s) {
                                var f = this.__data__,
                                    w = f.delete(s);
                                return this.size = f.size, w
                            }, fr.prototype.get = function is(s) {
                                return this.__data__.get(s)
                            }, fr.prototype.has = function _s(s) {
                                return this.__data__.has(s)
                            }, fr.prototype.set = function pl(s, f) {
                                var w = this.__data__;
                                if (w instanceof ca) {
                                    var te = w.__data__;
                                    if (!ql || te.length < 199) return te.push([s, f]), this.size = ++w.size, this;
                                    w = this.__data__ = new S(te)
                                }
                                return w.set(s, f), this.size = w.size, this
                            };
                            var wa = oc(La),
                                vs = oc(Fc, !0);

                            function gf(s, f) {
                                var w = !0;
                                return wa(s, function(te, xe, We) {
                                    return w = !!f(te, xe, We)
                                }), w
                            }

                            function Xc(s, f, w) {
                                for (var te = -1, xe = s.length; ++te < xe;) {
                                    var We = s[te],
                                        ft = f(We);
                                    if (null != ft && (bt === r ? ft == ft && !xl(ft) : w(ft, bt))) var bt = ft,
                                        Mt = We
                                }
                                return Mt
                            }

                            function ka(s, f) {
                                var w = [];
                                return wa(s, function(te, xe, We) {
                                    f(te, xe, We) && w.push(te)
                                }), w
                            }

                            function $o(s, f, w, te, xe) {
                                var We = -1,
                                    ft = s.length;
                                for (w || (w = ad), xe || (xe = []); ++We < ft;) {
                                    var bt = s[We];
                                    f > 0 && w(bt) ? f > 1 ? $o(bt, f - 1, w, te, xe) : Go(xe, bt) : te || (xe[xe.length] = bt)
                                }
                                return xe
                            }
                            var ml = Oc(),
                                gl = Oc(!0);

                            function La(s, f) {
                                return s && ml(s, f, ma)
                            }

                            function Fc(s, f) {
                                return s && gl(s, f, ma)
                            }

                            function Pl(s, f) {
                                return lo(f, function(w) {
                                    return Zc(s[w])
                                })
                            }

                            function $a(s, f) {
                                for (var w = 0, te = (f = mn(f, s)).length; null != s && w < te;) s = s[Ta(f[w++])];
                                return w && w == te ? s : r
                            }

                            function eu(s, f, w) {
                                var te = f(s);
                                return Ar(s) ? te : Go(te, w(s))
                            }

                            function ys(s) {
                                return null == s ? s === r ? "[object Undefined]" : "[object Null]" : Ii && Ii in wi(s) ? function jd(s) {
                                    var f = de.call(s, Ii),
                                        w = s[Ii];
                                    try {
                                        s[Ii] = r;
                                        var te = !0
                                    } catch {}
                                    var xe = pt.call(s);
                                    return te && (f ? s[Ii] = w : delete s[Ii]), xe
                                }(s) : function _p(s) {
                                    return pt.call(s)
                                }(s)
                            }

                            function Qu(s, f) {
                                return s > f
                            }

                            function tc(s, f) {
                                return null != s && de.call(s, f)
                            }

                            function tu(s, f) {
                                return null != s && f in wi(s)
                            }

                            function nu(s, f, w) {
                                for (var te = w ? sa : qn, xe = s[0].length, We = s.length, ft = We, bt = Vt(We), Mt = 1 / 0, ln = []; ft--;) {
                                    var un = s[ft];
                                    ft && f && (un = ti(un, Fi(f))), Mt = fo(un.length, Mt), bt[ft] = !w && (f || xe >= 120 && un.length >= 120) ? new st(ft && un) : r
                                }
                                un = s[0];
                                var gn = -1,
                                    jn = bt[0];
                                e: for (; ++gn < xe && ln.length < Mt;) {
                                    var zn = un[gn],
                                        xr = f ? f(zn) : zn;
                                    if (zn = w || 0 !== zn ? zn : 0, !(jn ? Ws(jn, xr) : te(ln, xr, w))) {
                                        for (ft = We; --ft;) {
                                            var yr = bt[ft];
                                            if (!(yr ? Ws(yr, xr) : te(s[ft], xr, w))) continue e
                                        }
                                        jn && jn.push(xr), ln.push(zn)
                                    }
                                }
                                return ln
                            }

                            function ru(s, f, w) {
                                var te = null == (s = ku(s, f = mn(f, s))) ? s : s[Ta(bl(f))];
                                return null == te ? r : Ri(te, s, w)
                            }

                            function $d(s) {
                                return as(s) && ys(s) == Fe
                            }

                            function Ec(s, f, w, te, xe) {
                                return s === f || (null == s || null == f || !as(s) && !as(f) ? s != s && f != f : function kc(s, f, w, te, xe, We) {
                                    var ft = Ar(s),
                                        bt = Ar(f),
                                        Mt = ft ? at : Ko(s),
                                        ln = bt ? at : Ko(f),
                                        un = (Mt = Mt == Fe ? vn : Mt) == vn,
                                        gn = (ln = ln == Fe ? vn : ln) == vn,
                                        jn = Mt == ln;
                                    if (jn && vu(s)) {
                                        if (!vu(f)) return !1;
                                        ft = !0, un = !1
                                    }
                                    if (jn && !un) return We || (We = new fr), ft || gc(s) ? Tf(s, f, w, te, xe, We) : function rd(s, f, w, te, xe, We, ft) {
                                        switch (w) {
                                            case Pt:
                                                if (s.byteLength != f.byteLength || s.byteOffset != f.byteOffset) return !1;
                                                s = s.buffer, f = f.buffer;
                                            case et:
                                                return !(s.byteLength != f.byteLength || !We(new Hr(s), new Hr(f)));
                                            case vt:
                                            case Qt:
                                            case Nn:
                                                return ea(+s, +f);
                                            case mt:
                                                return s.name == f.name && s.message == f.message;
                                            case pn:
                                            case Qn:
                                                return s == f + "";
                                            case Ln:
                                                var bt = Gl;
                                            case Rn:
                                                if (bt || (bt = Wa), s.size != f.size && !(1 & te)) return !1;
                                                var ln = ft.get(s);
                                                if (ln) return ln == f;
                                                te |= 2, ft.set(s, f);
                                                var un = Tf(bt(s), bt(f), te, xe, We, ft);
                                                return ft.delete(s), un;
                                            case _r:
                                                if (Js) return Js.call(s) == Js.call(f)
                                        }
                                        return !1
                                    }(s, f, Mt, w, te, xe, We);
                                    if (!(1 & w)) {
                                        var zn = un && de.call(s, "__wrapped__"),
                                            xr = gn && de.call(f, "__wrapped__");
                                        if (zn || xr) {
                                            var yr = zn ? s.value() : s,
                                                gr = xr ? f.value() : f;
                                            return We || (We = new fr), xe(yr, gr, w, te, We)
                                        }
                                    }
                                    return !!jn && (We || (We = new fr), function Hd(s, f, w, te, xe, We) {
                                        var ft = 1 & w,
                                            bt = id(s),
                                            Mt = bt.length;
                                        if (Mt != id(f).length && !ft) return !1;
                                        for (var gn = Mt; gn--;) {
                                            var jn = bt[gn];
                                            if (!(ft ? jn in f : de.call(f, jn))) return !1
                                        }
                                        var zn = We.get(s),
                                            xr = We.get(f);
                                        if (zn && xr) return zn == f && xr == s;
                                        var yr = !0;
                                        We.set(s, f), We.set(f, s);
                                        for (var gr = ft; ++gn < Mt;) {
                                            var vi = s[jn = bt[gn]],
                                                Wr = f[jn];
                                            if (te) var El = ft ? te(Wr, vi, jn, f, s, We) : te(vi, Wr, jn, s, f, We);
                                            if (!(El === r ? vi === Wr || xe(vi, Wr, w, te, We) : El)) {
                                                yr = !1;
                                                break
                                            }
                                            gr || (gr = "constructor" == jn)
                                        }
                                        if (yr && !gr) {
                                            var ta = s.constructor,
                                                Oa = f.constructor;
                                            ta != Oa && "constructor" in s && "constructor" in f && !("function" == typeof ta && ta instanceof ta && "function" == typeof Oa && Oa instanceof Oa) && (yr = !1)
                                        }
                                        return We.delete(s), We.delete(f), yr
                                    }(s, f, w, te, xe, We))
                                }(s, f, w, te, Ec, xe))
                            }

                            function Lc(s, f, w, te) {
                                var xe = w.length,
                                    We = xe,
                                    ft = !te;
                                if (null == s) return !We;
                                for (s = wi(s); xe--;) {
                                    var bt = w[xe];
                                    if (ft && bt[2] ? bt[1] !== s[bt[0]] : !(bt[0] in s)) return !1
                                }
                                for (; ++xe < We;) {
                                    var Mt = (bt = w[xe])[0],
                                        ln = s[Mt],
                                        un = bt[1];
                                    if (ft && bt[2]) {
                                        if (ln === r && !(Mt in s)) return !1
                                    } else {
                                        var gn = new fr;
                                        if (te) var jn = te(ln, un, Mt, s, f, gn);
                                        if (!(jn === r ? Ec(un, ln, 3, te, gn) : jn)) return !1
                                    }
                                }
                                return !0
                            }

                            function Dc(s) {
                                return !(!Jo(s) || function Gd(s) {
                                    return !!Oe && Oe in s
                                }(s)) && (Zc(s) ? Gn : Kr).test(Sc(s))
                            }

                            function Xu(s) {
                                return "function" == typeof s ? s : null == s ? Ha : "object" == typeof s ? Ar(s) ? Bd(s[0], s[1]) : rc(s) : dp(s)
                            }

                            function Tc(s) {
                                if (!Hc(s)) return Po(s);
                                var f = [];
                                for (var w in wi(s)) de.call(s, w) && "constructor" != w && f.push(w);
                                return f
                            }

                            function bf(s, f) {
                                return s < f
                            }

                            function Du(s, f) {
                                var w = -1,
                                    te = Cl(s) ? Vt(s.length) : [];
                                return wa(s, function(xe, We, ft) {
                                    te[++w] = f(xe, We, ft)
                                }), te
                            }

                            function rc(s) {
                                var f = sd(s);
                                return 1 == f.length && f[0][2] ? Mf(f[0][0], f[0][1]) : function(w) {
                                    return w === s || Lc(w, s, f)
                                }
                            }

                            function Bd(s, f) {
                                return Fl(s) && Wd(f) ? Mf(Ta(s), f) : function(w) {
                                    var te = im(w, s);
                                    return te === r && te === f ? om(w, s) : Ec(f, te, 3)
                                }
                            }

                            function Tu(s, f, w, te, xe) {
                                s !== f && ml(f, function(We, ft) {
                                    if (xe || (xe = new fr), Jo(We)) ! function Cf(s, f, w, te, xe, We, ft) {
                                        var bt = cd(s, w),
                                            Mt = cd(f, w),
                                            ln = ft.get(Mt);
                                        if (ln) Rc(s, w, ln);
                                        else {
                                            var un = We ? We(bt, Mt, w + "", s, f, ft) : r,
                                                gn = un === r;
                                            if (gn) {
                                                var jn = Ar(Mt),
                                                    zn = !jn && vu(Mt),
                                                    xr = !jn && !zn && gc(Mt);
                                                un = Mt, jn || zn || xr ? Ar(bt) ? un = bt : Is(bt) ? un = Eo(bt) : zn ? (gn = !1, un = Pn(Mt, !0)) : xr ? (gn = !1, un = Cs(Mt, !0)) : un = [] : Td(Mt) || Es(Mt) ? (un = bt, Es(bt) ? un = Nm(bt) : (!Jo(bt) || Zc(bt)) && (un = Fu(Mt))) : gn = !1
                                            }
                                            gn && (ft.set(Mt, un), xe(un, Mt, te, We, ft), ft.delete(Mt)), Rc(s, w, un)
                                        }
                                    }(s, f, ft, w, Tu, te, xe);
                                    else {
                                        var bt = te ? te(cd(s, ft), We, ft + "", s, f, xe) : r;
                                        bt === r && (bt = We), Rc(s, ft, bt)
                                    }
                                }, wl)
                            }

                            function $c(s, f) {
                                var w = s.length;
                                if (w) return Rl(f += f < 0 ? w : 0, w) ? s[f] : r
                            }

                            function Ou(s, f, w) {
                                f = f.length ? ti(f, function(We) {
                                    return Ar(We) ? function(ft) {
                                        return $a(ft, 1 === We.length ? We[0] : We)
                                    } : We
                                }) : [Ha];
                                var te = -1;
                                return f = ti(f, Fi(ur())),
                                    function An(Et, Jt) {
                                        var Vt = Et.length;
                                        for (Et.sort(Jt); Vt--;) Et[Vt] = Et[Vt].value;
                                        return Et
                                    }(Du(s, function(We, ft, bt) {
                                        return {
                                            criteria: ti(f, function(ln) {
                                                return ln(We)
                                            }),
                                            index: ++te,
                                            value: We
                                        }
                                    }), function(We, ft) {
                                        return function os(s, f, w) {
                                            for (var te = -1, xe = s.criteria, We = f.criteria, ft = xe.length, bt = w.length; ++te < ft;) {
                                                var Mt = xs(xe[te], We[te]);
                                                if (Mt) return te >= bt ? Mt : Mt * ("desc" == w[te] ? -1 : 1)
                                            }
                                            return s.index - f.index
                                        }(We, ft, w)
                                    })
                            }

                            function Au(s, f, w) {
                                for (var te = -1, xe = f.length, We = {}; ++te < xe;) {
                                    var ft = f[te],
                                        bt = $a(s, ft);
                                    w(bt, ft) && Ea(We, mn(ft, s), bt)
                                }
                                return We
                            }

                            function su(s, f, w, te) {
                                var xe = te ? en : Wt,
                                    We = -1,
                                    ft = f.length,
                                    bt = s;
                                for (s === f && (f = Eo(f)), w && (bt = ti(s, Fi(w))); ++We < ft;)
                                    for (var Mt = 0, ln = f[We], un = w ? w(ln) : ln;
                                        (Mt = xe(bt, un, Mt, te)) > -1;) bt !== s && Lo.call(bt, Mt, 1), Lo.call(s, Mt, 1);
                                return s
                            }

                            function Uc(s, f) {
                                for (var w = s ? f.length : 0, te = w - 1; w--;) {
                                    var xe = f[w];
                                    if (w == te || xe !== We) {
                                        var We = xe;
                                        Rl(xe) ? Lo.call(s, xe, 1) : g(s, xe)
                                    }
                                }
                                return s
                            }

                            function au(s, f) {
                                return s + uo(Yl() * (f - s + 1))
                            }

                            function Mu(s, f) {
                                var w = "";
                                if (!s || f < 1 || f > St) return w;
                                do {
                                    f % 2 && (w += s), (f = uo(f / 2)) && (s += s)
                                } while (f);
                                return w
                            }

                            function Or(s, f) {
                                return dd(zd(s, f, Ha), s + "")
                            }

                            function ic(s) {
                                return wc(ut(s))
                            }

                            function Su(s, f) {
                                var w = ut(s);
                                return pu(w, Ja(f, 0, w.length))
                            }

                            function Ea(s, f, w, te) {
                                if (!Jo(s)) return s;
                                for (var xe = -1, We = (f = mn(f, s)).length, ft = We - 1, bt = s; null != bt && ++xe < We;) {
                                    var Mt = Ta(f[xe]),
                                        ln = w;
                                    if ("__proto__" === Mt || "constructor" === Mt || "prototype" === Mt) return s;
                                    if (xe != ft) {
                                        var un = bt[Mt];
                                        (ln = te ? te(un, Mt, bt) : r) === r && (ln = Jo(un) ? un : Rl(f[xe + 1]) ? [] : {})
                                    }
                                    Hs(bt, Mt, ln), bt = bt[Mt]
                                }
                                return s
                            }
                            var Pu = la ? function(s, f) {
                                    return la.set(s, f), s
                                } : Ha,
                                td = Us ? function(s, f) {
                                    return Us(s, "toString", {
                                        configurable: !0,
                                        enumerable: !1,
                                        value: ff(f),
                                        writable: !0
                                    })
                                } : Ha;

                            function lu(s) {
                                return pu(ut(s))
                            }

                            function Da(s, f, w) {
                                var te = -1,
                                    xe = s.length;
                                f < 0 && (f = -f > xe ? 0 : xe + f), (w = w > xe ? xe : w) < 0 && (w += xe), xe = f > w ? 0 : w - f >>> 0, f >>>= 0;
                                for (var We = Vt(xe); ++te < xe;) We[te] = s[te + f];
                                return We
                            }

                            function xf(s, f) {
                                var w;
                                return wa(s, function(te, xe, We) {
                                    return !(w = f(te, xe, We))
                                }), !!w
                            }

                            function cu(s, f, w) {
                                var te = 0,
                                    xe = null == s ? te : s.length;
                                if ("number" == typeof f && f == f && xe <= 2147483647) {
                                    for (; te < xe;) {
                                        var We = te + xe >>> 1,
                                            ft = s[We];
                                        null !== ft && !xl(ft) && (w ? ft <= f : ft < f) ? te = We + 1 : xe = We
                                    }
                                    return xe
                                }
                                return bs(s, f, Ha, w)
                            }

                            function bs(s, f, w, te) {
                                var xe = 0,
                                    We = null == s ? 0 : s.length;
                                if (0 === We) return 0;
                                for (var ft = (f = w(f)) != f, bt = null === f, Mt = xl(f), ln = f === r; xe < We;) {
                                    var un = uo((xe + We) / 2),
                                        gn = w(s[un]),
                                        jn = gn !== r,
                                        zn = null === gn,
                                        xr = gn == gn,
                                        yr = xl(gn);
                                    if (ft) var gr = te || xr;
                                    else gr = ln ? xr && (te || jn) : bt ? xr && jn && (te || !zn) : Mt ? xr && jn && !zn && (te || !yr) : !zn && !yr && (te ? gn <= f : gn < f);
                                    gr ? xe = un + 1 : We = un
                                }
                                return fo(We, 4294967294)
                            }

                            function Iu(s, f) {
                                for (var w = -1, te = s.length, xe = 0, We = []; ++w < te;) {
                                    var ft = s[w],
                                        bt = f ? f(ft) : ft;
                                    if (!w || !ea(bt, Mt)) {
                                        var Mt = bt;
                                        We[xe++] = 0 === ft ? 0 : ft
                                    }
                                }
                                return We
                            }

                            function nd(s) {
                                return "number" == typeof s ? s : xl(s) ? NaN : +s
                            }

                            function A(s) {
                                if ("string" == typeof s) return s;
                                if (Ar(s)) return ti(s, A) + "";
                                if (xl(s)) return Mi ? Mi.call(s) : "";
                                var f = s + "";
                                return "0" == f && 1 / s == -kt ? "-0" : f
                            }

                            function y(s, f, w) {
                                var te = -1,
                                    xe = qn,
                                    We = s.length,
                                    ft = !0,
                                    bt = [],
                                    Mt = bt;
                                if (w) ft = !1, xe = sa;
                                else if (We >= 200) {
                                    var ln = f ? null : Vd(s);
                                    if (ln) return Wa(ln);
                                    ft = !1, xe = Ws, Mt = new st
                                } else Mt = f ? [] : bt;
                                e: for (; ++te < We;) {
                                    var un = s[te],
                                        gn = f ? f(un) : un;
                                    if (un = w || 0 !== un ? un : 0, ft && gn == gn) {
                                        for (var jn = Mt.length; jn--;)
                                            if (Mt[jn] === gn) continue e;
                                        f && Mt.push(gn), bt.push(un)
                                    } else xe(Mt, gn, w) || (Mt !== bt && Mt.push(gn), bt.push(un))
                                }
                                return bt
                            }

                            function g(s, f) {
                                return null == (s = ku(s, f = mn(f, s))) || delete s[Ta(bl(f))]
                            }

                            function M(s, f, w, te) {
                                return Ea(s, f, w($a(s, f)), te)
                            }

                            function ne(s, f, w, te) {
                                for (var xe = s.length, We = te ? xe : -1;
                                    (te ? We-- : ++We < xe) && f(s[We], We, s););
                                return w ? Da(s, te ? 0 : We, te ? We + 1 : xe) : Da(s, te ? We + 1 : 0, te ? xe : We)
                            }

                            function Ce(s, f) {
                                var w = s;
                                return w instanceof Ir && (w = w.value()), ya(f, function(te, xe) {
                                    return xe.func.apply(xe.thisArg, Go([te], xe.args))
                                }, w)
                            }

                            function qe(s, f, w) {
                                var te = s.length;
                                if (te < 2) return te ? y(s[0]) : [];
                                for (var xe = -1, We = Vt(te); ++xe < te;)
                                    for (var ft = s[xe], bt = -1; ++bt < te;) bt != xe && (We[xe] = Qc(We[xe] || ft, s[bt], f, w));
                                return y($o(We, 1), f, w)
                            }

                            function Ye(s, f, w) {
                                for (var te = -1, xe = s.length, We = f.length, ft = {}; ++te < xe;) w(ft, s[te], te < We ? f[te] : r);
                                return ft
                            }

                            function wt(s) {
                                return Is(s) ? s : []
                            }

                            function Zt(s) {
                                return "function" == typeof s ? s : Ha
                            }

                            function mn(s, f) {
                                return Ar(s) ? s : Fl(s, f) ? [s] : dc(Vi(s))
                            }
                            var En = Or;

                            function pr(s, f, w) {
                                var te = s.length;
                                return w = w === r ? te : w, !f && w >= te ? s : Da(s, f, w)
                            }
                            var vr = Pa || function(s) {
                                return Di.clearTimeout(s)
                            };

                            function Pn(s, f) {
                                if (f) return s.slice();
                                var w = s.length,
                                    te = Sr ? Sr(w) : new s.constructor(w);
                                return s.copy(te), te
                            }

                            function tr(s) {
                                var f = new s.constructor(s.byteLength);
                                return new Hr(f).set(new Hr(s)), f
                            }

                            function Cs(s, f) {
                                var w = f ? tr(s.buffer) : s.buffer;
                                return new s.constructor(w, s.byteOffset, s.length)
                            }

                            function xs(s, f) {
                                if (s !== f) {
                                    var w = s !== r,
                                        te = null === s,
                                        xe = s == s,
                                        We = xl(s),
                                        ft = f !== r,
                                        bt = null === f,
                                        Mt = f == f,
                                        ln = xl(f);
                                    if (!bt && !ln && !We && s > f || We && ft && Mt && !bt && !ln || te && ft && Mt || !w && Mt || !xe) return 1;
                                    if (!te && !We && !ln && s < f || ln && w && xe && !te && !We || bt && w && xe || !ft && xe || !Mt) return -1
                                }
                                return 0
                            }

                            function oi(s, f, w, te) {
                                for (var xe = -1, We = s.length, ft = w.length, bt = -1, Mt = f.length, ln = wo(We - ft, 0), un = Vt(Mt + ln), gn = !te; ++bt < Mt;) un[bt] = f[bt];
                                for (; ++xe < ft;)(gn || xe < We) && (un[w[xe]] = s[xe]);
                                for (; ln--;) un[bt++] = s[xe++];
                                return un
                            }

                            function Bo(s, f, w, te) {
                                for (var xe = -1, We = s.length, ft = -1, bt = w.length, Mt = -1, ln = f.length, un = wo(We - bt, 0), gn = Vt(un + ln), jn = !te; ++xe < un;) gn[xe] = s[xe];
                                for (var zn = xe; ++Mt < ln;) gn[zn + Mt] = f[Mt];
                                for (; ++ft < bt;)(jn || xe < We) && (gn[zn + w[ft]] = s[xe++]);
                                return gn
                            }

                            function Eo(s, f) {
                                var w = -1,
                                    te = s.length;
                                for (f || (f = Vt(te)); ++w < te;) f[w] = s[w];
                                return f
                            }

                            function qi(s, f, w, te) {
                                var xe = !w;
                                w || (w = {});
                                for (var We = -1, ft = f.length; ++We < ft;) {
                                    var bt = f[We],
                                        Mt = te ? te(w[bt], s[bt], bt, w, s) : r;
                                    Mt === r && (Mt = s[bt]), xe ? ua(w, bt, Mt) : Hs(w, bt, Mt)
                                }
                                return w
                            }

                            function Qa(s, f) {
                                return function(w, te) {
                                    var xe = Ar(w) ? So : hl,
                                        We = f ? f() : {};
                                    return xe(w, s, ur(te, 2), We)
                                }
                            }

                            function da(s) {
                                return Or(function(f, w) {
                                    var te = -1,
                                        xe = w.length,
                                        We = xe > 1 ? w[xe - 1] : r,
                                        ft = xe > 2 ? w[2] : r;
                                    for (We = s.length > 3 && "function" == typeof We ? (xe--, We) : r, ft && pa(w[0], w[1], ft) && (We = xe < 3 ? r : We, xe = 1), f = wi(f); ++te < xe;) {
                                        var bt = w[te];
                                        bt && s(f, bt, te, We)
                                    }
                                    return f
                                })
                            }

                            function oc(s, f) {
                                return function(w, te) {
                                    if (null == w) return w;
                                    if (!Cl(w)) return s(w, te);
                                    for (var xe = w.length, We = f ? xe : -1, ft = wi(w);
                                        (f ? We-- : ++We < xe) && !1 !== te(ft[We], We, ft););
                                    return w
                                }
                            }

                            function Oc(s) {
                                return function(f, w, te) {
                                    for (var xe = -1, We = wi(f), ft = te(f), bt = ft.length; bt--;) {
                                        var Mt = ft[s ? bt : ++xe];
                                        if (!1 === w(We[Mt], Mt, We)) break
                                    }
                                    return f
                                }
                            }

                            function or(s) {
                                return function(f) {
                                    var w = Ks(f = Vi(f)) ? ts(f) : r,
                                        te = w ? w[0] : f.charAt(0),
                                        xe = w ? pr(w, 1).join("") : f.slice(1);
                                    return te[s]() + xe
                                }
                            }

                            function sr(s) {
                                return function(f) {
                                    return ya(Wc(fi(f).replace(oo, "")), s, "")
                                }
                            }

                            function Qr(s) {
                                return function() {
                                    var f = arguments;
                                    switch (f.length) {
                                        case 0:
                                            return new s;
                                        case 1:
                                            return new s(f[0]);
                                        case 2:
                                            return new s(f[0], f[1]);
                                        case 3:
                                            return new s(f[0], f[1], f[2]);
                                        case 4:
                                            return new s(f[0], f[1], f[2], f[3]);
                                        case 5:
                                            return new s(f[0], f[1], f[2], f[3], f[4]);
                                        case 6:
                                            return new s(f[0], f[1], f[2], f[3], f[4], f[5]);
                                        case 7:
                                            return new s(f[0], f[1], f[2], f[3], f[4], f[5], f[6])
                                    }
                                    var w = Fa(s.prototype),
                                        te = s.apply(w, f);
                                    return Jo(te) ? te : w
                                }
                            }

                            function ss(s) {
                                return function(f, w, te) {
                                    var xe = wi(f);
                                    if (!Cl(f)) {
                                        var We = ur(w, 3);
                                        f = ma(f), w = function(bt) {
                                            return We(xe[bt], bt, xe)
                                        }
                                    }
                                    var ft = s(f, w, te);
                                    return ft > -1 ? xe[We ? f[ft] : ft] : r
                                }
                            }

                            function Io(s) {
                                return Il(function(f) {
                                    var w = f.length,
                                        te = w,
                                        xe = ns.prototype.thru;
                                    for (s && f.reverse(); te--;) {
                                        var We = f[te];
                                        if ("function" != typeof We) throw new As(V);
                                        if (xe && !ft && "wrapper" == vl(We)) var ft = new ns([], !0)
                                    }
                                    for (te = ft ? te : w; ++te < w;) {
                                        var bt = vl(We = f[te]),
                                            Mt = "wrapper" == bt ? od(We) : r;
                                        ft = Mt && kl(Mt[0]) && 424 == Mt[1] && !Mt[4].length && 1 == Mt[9] ? ft[vl(Mt[0])].apply(ft, Mt[3]) : 1 == We.length && kl(We) ? ft[bt]() : ft.thru(We)
                                    }
                                    return function() {
                                        var ln = arguments,
                                            un = ln[0];
                                        if (ft && 1 == ln.length && Ar(un)) return ft.plant(un).value();
                                        for (var gn = 0, jn = w ? f[gn].apply(this, ln) : un; ++gn < w;) jn = f[gn].call(this, jn);
                                        return jn
                                    }
                                })
                            }

                            function ws(s, f, w, te, xe, We, ft, bt, Mt, ln) {
                                var un = 128 & f,
                                    gn = 1 & f,
                                    jn = 2 & f,
                                    zn = 24 & f,
                                    xr = 512 & f,
                                    yr = jn ? r : Qr(s);
                                return function gr() {
                                    for (var vi = arguments.length, Wr = Vt(vi), El = vi; El--;) Wr[El] = arguments[El];
                                    if (zn) var ta = uu(gr),
                                        Oa = Yc(Wr, ta);
                                    if (te && (Wr = oi(Wr, te, xe, zn)), We && (Wr = Bo(Wr, We, ft, zn)), vi -= Oa, zn && vi < ln) {
                                        var Vo = Ys(Wr, ta);
                                        return Ru(s, f, ws, gr.placeholder, w, Wr, Vo, bt, Mt, ln - vi)
                                    }
                                    var nl = gn ? w : this,
                                        jl = jn ? nl[s] : s;
                                    return vi = Wr.length, bt ? Wr = Kd(Wr, bt) : xr && vi > 1 && Wr.reverse(), un && Mt < vi && (Wr.length = Mt), this && this !== Di && this instanceof gr && (jl = yr || Qr(jl)), jl.apply(nl, Wr)
                                }
                            }

                            function Zi(s, f) {
                                return function(w, te) {
                                    return function Ld(s, f, w, te) {
                                        return La(s, function(xe, We, ft) {
                                            f(te, w(xe), We, ft)
                                        }), te
                                    }(w, s, f(te), {})
                                }
                            }

                            function Ac(s, f) {
                                return function(w, te) {
                                    var xe;
                                    if (w === r && te === r) return f;
                                    if (w !== r && (xe = w), te !== r) {
                                        if (xe === r) return te;
                                        "string" == typeof w || "string" == typeof te ? (w = A(w), te = A(te)) : (w = nd(w), te = nd(te)), xe = s(w, te)
                                    }
                                    return xe
                                }
                            }

                            function sc(s) {
                                return Il(function(f) {
                                    return f = ti(f, Fi(ur())), Or(function(w) {
                                        var te = this;
                                        return s(f, function(xe) {
                                            return Ri(xe, te, w)
                                        })
                                    })
                                })
                            }

                            function Wi(s, f) {
                                var w = (f = f === r ? " " : A(f)).length;
                                if (w < 2) return w ? Mu(f, s) : f;
                                var te = Mu(f, Al(s / ba(f)));
                                return Ks(f) ? pr(ts(te), 0, s).join("") : te.slice(0, s)
                            }

                            function fa(s) {
                                return function(f, w, te) {
                                    return te && "number" != typeof te && pa(f, w, te) && (w = te = r), f = Pc(f), w === r ? (w = f, f = 0) : w = Pc(w),
                                        function _l(s, f, w, te) {
                                            for (var xe = -1, We = wo(Al((f - s) / (w || 1)), 0), ft = Vt(We); We--;) ft[te ? We : ++xe] = s, s += w;
                                            return ft
                                        }(f, w, te = te === r ? f < w ? 1 : -1 : Pc(te), s)
                                }
                            }

                            function ac(s) {
                                return function(f, w) {
                                    return "string" == typeof f && "string" == typeof w || (f = Bl(f), w = Bl(w)), s(f, w)
                                }
                            }

                            function Ru(s, f, w, te, xe, We, ft, bt, Mt, ln) {
                                var un = 8 & f;
                                f |= un ? 32 : 64, 4 & (f &= ~(un ? 64 : 32)) || (f &= -4);
                                var yr = [s, f, xe, un ? We : r, un ? ft : r, un ? r : We, un ? r : ft, bt, Mt, ln],
                                    gr = w.apply(r, yr);
                                return kl(s) && ud(gr, yr), gr.placeholder = te, Yd(gr, s, f)
                            }

                            function Ud(s) {
                                var f = Qi[s];
                                return function(w, te) {
                                    if (w = Bl(w), (te = null == te ? 0 : fo(Xr(te), 292)) && bc(w)) {
                                        var xe = (Vi(w) + "e").split("e");
                                        return +((xe = (Vi(f(xe[0] + "e" + (+xe[1] + te))) + "e").split("e"))[0] + "e" + (+xe[1] - te))
                                    }
                                    return f(w)
                                }
                            }
                            var Vd = Ms && 1 / Wa(new Ms([, -0]))[1] == kt ? function(s) {
                                return new Ms(s)
                            } : Id;

                            function pp(s) {
                                return function(f) {
                                    var w = Ko(f);
                                    return w == Ln ? Gl(f) : w == Rn ? function il(Et) {
                                        var Jt = -1,
                                            Vt = Array(Et.size);
                                        return Et.forEach(function(Sn) {
                                            Vt[++Jt] = [Sn, Sn]
                                        }), Vt
                                    }(f) : function Ci(Et, Jt) {
                                        return ti(Jt, function(Vt) {
                                            return [Vt, Et[Vt]]
                                        })
                                    }(f, s(f))
                                }
                            }

                            function lc(s, f, w, te, xe, We, ft, bt) {
                                var Mt = 2 & f;
                                if (!Mt && "function" != typeof s) throw new As(V);
                                var ln = te ? te.length : 0;
                                if (ln || (f &= -97, te = xe = r), ft = ft === r ? ft : wo(Xr(ft), 0), bt = bt === r ? bt : Xr(bt), ln -= xe ? xe.length : 0, 64 & f) {
                                    var un = te,
                                        gn = xe;
                                    te = xe = r
                                }
                                var jn = Mt ? r : od(s),
                                    zn = [s, f, w, te, xe, un, gn, We, ft, bt];
                                if (jn && function uc(s, f) {
                                        var w = s[1],
                                            te = f[1],
                                            xe = w | te;
                                        if (!(xe < 131 || (128 == te && 8 == w || 128 == te && 256 == w && s[7].length <= f[8] || 384 == te && f[7].length <= f[8] && 8 == w))) return s;
                                        1 & te && (s[2] = f[2], xe |= 1 & w ? 0 : 4);
                                        var bt = f[3];
                                        if (bt) {
                                            var Mt = s[3];
                                            s[3] = Mt ? oi(Mt, bt, f[4]) : bt, s[4] = Mt ? Ys(s[3], G) : f[4]
                                        }(bt = f[5]) && (s[5] = (Mt = s[5]) ? Bo(Mt, bt, f[6]) : bt, s[6] = Mt ? Ys(s[5], G) : f[6]), (bt = f[7]) && (s[7] = bt), 128 & te && (s[8] = null == s[8] ? f[8] : fo(s[8], f[8])), null == s[9] && (s[9] = f[9]), s[0] = f[0], s[1] = xe
                                    }(zn, jn), s = zn[0], f = zn[1], w = zn[2], te = zn[3], xe = zn[4], !(bt = zn[9] = zn[9] === r ? Mt ? 0 : s.length : wo(zn[9] - ln, 0)) && 24 & f && (f &= -25), f && 1 != f) xr = 8 == f || 16 == f ? function Uo(s, f, w) {
                                    var te = Qr(s);
                                    return function xe() {
                                        for (var We = arguments.length, ft = Vt(We), bt = We, Mt = uu(xe); bt--;) ft[bt] = arguments[bt];
                                        var ln = We < 3 && ft[0] !== Mt && ft[We - 1] !== Mt ? [] : Ys(ft, Mt);
                                        return (We -= ln.length) < w ? Ru(s, f, ws, xe.placeholder, r, ft, ln, r, r, w - We) : Ri(this && this !== Di && this instanceof xe ? te : s, this, ft)
                                    }
                                }(s, f, bt) : 32 != f && 33 != f || xe.length ? ws.apply(r, zn) : function Xs(s, f, w, te) {
                                    var xe = 1 & f,
                                        We = Qr(s);
                                    return function ft() {
                                        for (var bt = -1, Mt = arguments.length, ln = -1, un = te.length, gn = Vt(un + Mt), jn = this && this !== Di && this instanceof ft ? We : s; ++ln < un;) gn[ln] = te[ln];
                                        for (; Mt--;) gn[ln++] = arguments[++bt];
                                        return Ri(jn, xe ? w : this, gn)
                                    }
                                }(s, f, w, te);
                                else var xr = function Wn(s, f, w) {
                                    var te = 1 & f,
                                        xe = Qr(s);
                                    return function We() {
                                        return (this && this !== Di && this instanceof We ? xe : s).apply(te ? w : this, arguments)
                                    }
                                }(s, f, w);
                                return Yd((jn ? Pu : ud)(xr, zn), s, f)
                            }

                            function wf(s, f, w, te) {
                                return s === r || ea(s, Bs[w]) && !de.call(te, w) ? f : s
                            }

                            function Ef(s, f, w, te, xe, We) {
                                return Jo(s) && Jo(f) && (We.set(f, s), Tu(s, f, r, Ef, We), We.delete(f)), s
                            }

                            function Df(s) {
                                return Td(s) ? r : s
                            }

                            function Tf(s, f, w, te, xe, We) {
                                var ft = 1 & w,
                                    bt = s.length,
                                    Mt = f.length;
                                if (bt != Mt && !(ft && Mt > bt)) return !1;
                                var ln = We.get(s),
                                    un = We.get(f);
                                if (ln && un) return ln == f && un == s;
                                var gn = -1,
                                    jn = !0,
                                    zn = 2 & w ? new st : r;
                                for (We.set(s, f), We.set(f, s); ++gn < bt;) {
                                    var xr = s[gn],
                                        yr = f[gn];
                                    if (te) var gr = ft ? te(yr, xr, gn, f, s, We) : te(xr, yr, gn, s, f, We);
                                    if (gr !== r) {
                                        if (gr) continue;
                                        jn = !1;
                                        break
                                    }
                                    if (zn) {
                                        if (!L(f, function(vi, Wr) {
                                                if (!Ws(zn, Wr) && (xr === vi || xe(xr, vi, w, te, We))) return zn.push(Wr)
                                            })) {
                                            jn = !1;
                                            break
                                        }
                                    } else if (xr !== yr && !xe(xr, yr, w, te, We)) {
                                        jn = !1;
                                        break
                                    }
                                }
                                return We.delete(s), We.delete(f), jn
                            }

                            function Il(s) {
                                return dd(zd(s, r, pd), s + "")
                            }

                            function id(s) {
                                return eu(s, ma, du)
                            }

                            function Mc(s) {
                                return eu(s, wl, Nl)
                            }
                            var od = la ? function(s) {
                                return la.get(s)
                            } : Id;

                            function vl(s) {
                                for (var f = s.name + "", w = qs[f], te = de.call(qs, f) ? w.length : 0; te--;) {
                                    var xe = w[te],
                                        We = xe.func;
                                    if (null == We || We == s) return xe.name
                                }
                                return f
                            }

                            function uu(s) {
                                return (de.call($e, "placeholder") ? $e : s).placeholder
                            }

                            function ur() {
                                var s = $e.iteratee || Yp;
                                return s = s === Yp ? Xu : s, arguments.length ? s(arguments[0], arguments[1]) : s
                            }

                            function Vc(s, f) {
                                var w = s.__data__;
                                return function ld(s) {
                                    var f = typeof s;
                                    return "string" == f || "number" == f || "symbol" == f || "boolean" == f ? "__proto__" !== s : null === s
                                }(f) ? w["string" == typeof f ? "string" : "hash"] : w.map
                            }

                            function sd(s) {
                                for (var f = ma(s), w = f.length; w--;) {
                                    var te = f[w],
                                        xe = s[te];
                                    f[w] = [te, xe, Wd(xe)]
                                }
                                return f
                            }

                            function Xa(s, f) {
                                var w = function Sa(Et, Jt) {
                                    return null == Et ? r : Et[Jt]
                                }(s, f);
                                return Dc(w) ? w : r
                            }
                            var du = Kl ? function(s) {
                                    return null == s ? [] : (s = wi(s), lo(Kl(s), function(f) {
                                        return co.call(s, f)
                                    }))
                                } : Qp,
                                Nl = Kl ? function(s) {
                                    for (var f = []; s;) Go(f, du(s)), s = Ai(s);
                                    return f
                                } : Qp,
                                Ko = ys;

                            function mp(s, f, w) {
                                for (var te = -1, xe = (f = mn(f, s)).length, We = !1; ++te < xe;) {
                                    var ft = Ta(f[te]);
                                    if (!(We = null != s && w(s, ft))) break;
                                    s = s[ft]
                                }
                                return We || ++te != xe ? We : !!(xe = null == s ? 0 : s.length) && rp(xe) && Rl(ft, xe) && (Ar(s) || Es(s))
                            }

                            function Fu(s) {
                                return "function" != typeof s.constructor || Hc(s) ? {} : Fa(Ai(s))
                            }

                            function ad(s) {
                                return Ar(s) || Es(s) || !!(Xi && s && s[Xi])
                            }

                            function Rl(s, f) {
                                var w = typeof s;
                                return !!(f = f ? ? St) && ("number" == w || "symbol" != w && Lr.test(s)) && s > -1 && s % 1 == 0 && s < f
                            }

                            function pa(s, f, w) {
                                if (!Jo(w)) return !1;
                                var te = typeof f;
                                return !!("number" == te ? Cl(w) && Rl(f, w.length) : "string" == te && f in w) && ea(w[f], s)
                            }

                            function Fl(s, f) {
                                if (Ar(s)) return !1;
                                var w = typeof s;
                                return !("number" != w && "symbol" != w && "boolean" != w && null != s && !xl(s)) || To.test(s) || !Pi.test(s) || null != f && s in wi(f)
                            }

                            function kl(s) {
                                var f = vl(s),
                                    w = $e[f];
                                if ("function" != typeof w || !(f in Ir.prototype)) return !1;
                                if (s === w) return !0;
                                var te = od(w);
                                return !!te && s === te[0]
                            }(aa && Ko(new aa(new ArrayBuffer(1))) != Pt || ql && Ko(new ql) != Ln || zo && Ko(zo.resolve()) != tn || Ms && Ko(new Ms) != Rn || Ml && Ko(new Ml) != Ut) && (Ko = function(s) {
                                var f = ys(s),
                                    w = f == vn ? s.constructor : r,
                                    te = w ? Sc(w) : "";
                                if (te) switch (te) {
                                    case Ca:
                                        return Pt;
                                    case gs:
                                        return Ln;
                                    case Nc:
                                        return tn;
                                    case xc:
                                        return Rn;
                                    case Ra:
                                        return Ut
                                }
                                return f
                            });
                            var Zd = zl ? Zc : Kc;

                            function Hc(s) {
                                var f = s && s.constructor;
                                return s === ("function" == typeof f && f.prototype || Bs)
                            }

                            function Wd(s) {
                                return s == s && !Jo(s)
                            }

                            function Mf(s, f) {
                                return function(w) {
                                    return null != w && w[s] === f && (f !== r || s in wi(w))
                                }
                            }

                            function zd(s, f, w) {
                                return f = wo(f === r ? s.length - 1 : f, 0),
                                    function() {
                                        for (var te = arguments, xe = -1, We = wo(te.length - f, 0), ft = Vt(We); ++xe < We;) ft[xe] = te[f + xe];
                                        xe = -1;
                                        for (var bt = Vt(f + 1); ++xe < f;) bt[xe] = te[xe];
                                        return bt[f] = w(ft), Ri(s, this, bt)
                                    }
                            }

                            function ku(s, f) {
                                return f.length < 2 ? s : $a(s, Da(f, 0, -1))
                            }

                            function Kd(s, f) {
                                for (var w = s.length, te = fo(f.length, w), xe = Eo(s); te--;) {
                                    var We = f[te];
                                    s[te] = Rl(We, w) ? xe[We] : r
                                }
                                return s
                            }

                            function cd(s, f) {
                                if (("constructor" !== f || "function" != typeof s[f]) && "__proto__" != f) return s[f]
                            }
                            var ud = qd(Pu),
                                fu = cl || function(s, f) {
                                    return Di.setTimeout(s, f)
                                },
                                dd = qd(td);

                            function Yd(s, f, w) {
                                var te = f + "";
                                return dd(s, function Af(s, f) {
                                    var w = f.length;
                                    if (!w) return s;
                                    var te = w - 1;
                                    return f[te] = (w > 1 ? "& " : "") + f[te], f = f.join(w > 2 ? ", " : " "), s.replace(Fr, "{\n/* [wrapped with " + f + "] */\n")
                                }(te, function Sf(s, f) {
                                    return ci(fe, function(w) {
                                        var te = "_." + w[0];
                                        f & w[1] && !qn(s, te) && s.push(te)
                                    }), s.sort()
                                }(function Of(s) {
                                    var f = s.match(nt);
                                    return f ? f[1].split(Ee) : []
                                }(te), w)))
                            }

                            function qd(s) {
                                var f = 0,
                                    w = 0;
                                return function() {
                                    var te = ul(),
                                        xe = 16 - (te - w);
                                    if (w = te, xe > 0) {
                                        if (++f >= 800) return arguments[0]
                                    } else f = 0;
                                    return s.apply(r, arguments)
                                }
                            }

                            function pu(s, f) {
                                var w = -1,
                                    te = s.length,
                                    xe = te - 1;
                                for (f = f === r ? te : f; ++w < f;) {
                                    var We = au(w, xe),
                                        ft = s[We];
                                    s[We] = s[w], s[w] = ft
                                }
                                return s.length = f, s
                            }
                            var dc = function cc(s) {
                                var f = ve(s, function(te) {
                                        return 500 === w.size && w.clear(), te
                                    }),
                                    w = f.cache;
                                return f
                            }(function(s) {
                                var f = [];
                                return 46 === s.charCodeAt(0) && f.push(""), s.replace(lr, function(w, te, xe, We) {
                                    f.push(xe ? We.replace(Xe, "$1") : te || w)
                                }), f
                            });

                            function Ta(s) {
                                if ("string" == typeof s || xl(s)) return s;
                                var f = s + "";
                                return "0" == f && 1 / s == -kt ? "-0" : f
                            }

                            function Sc(s) {
                                if (null != s) {
                                    try {
                                        return j.call(s)
                                    } catch {}
                                    try {
                                        return s + ""
                                    } catch {}
                                }
                                return ""
                            }

                            function fd(s) {
                                if (s instanceof Ir) return s.clone();
                                var f = new ns(s.__wrapped__, s.__chain__);
                                return f.__actions__ = Eo(s.__actions__), f.__index__ = s.__index__, f.__values__ = s.__values__, f
                            }
                            var Pf = Or(function(s, f) {
                                    return Is(s) ? Qc(s, $o(f, 1, Is, !0)) : []
                                }),
                                If = Or(function(s, f) {
                                    var w = bl(f);
                                    return Is(w) && (w = r), Is(s) ? Qc(s, $o(f, 1, Is, !0), ur(w, 2)) : []
                                }),
                                Hh = Or(function(s, f) {
                                    var w = bl(f);
                                    return Is(w) && (w = r), Is(s) ? Qc(s, $o(f, 1, Is, !0), r, w) : []
                                });

                            function bp(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                if (!te) return -1;
                                var xe = null == w ? 0 : Xr(w);
                                return xe < 0 && (xe = wo(te + xe, 0)), gt(s, ur(f, 3), xe)
                            }

                            function Nf(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                if (!te) return -1;
                                var xe = te - 1;
                                return w !== r && (xe = Xr(w), xe = w < 0 ? wo(te + xe, 0) : fo(xe, te - 1)), gt(s, ur(f, 3), xe, !0)
                            }

                            function pd(s) {
                                return null != s && s.length ? $o(s, 1) : []
                            }

                            function Yo(s) {
                                return s && s.length ? s[0] : r
                            }
                            var kf = Or(function(s) {
                                    var f = ti(s, wt);
                                    return f.length && f[0] === s[0] ? nu(f) : []
                                }),
                                wp = Or(function(s) {
                                    var f = bl(s),
                                        w = ti(s, wt);
                                    return f === bl(w) ? f = r : w.pop(), w.length && w[0] === s[0] ? nu(w, ur(f, 2)) : []
                                }),
                                Ep = Or(function(s) {
                                    var f = bl(s),
                                        w = ti(s, wt);
                                    return (f = "function" == typeof f ? f : r) && w.pop(), w.length && w[0] === s[0] ? nu(w, r, f) : []
                                });

                            function bl(s) {
                                var f = null == s ? 0 : s.length;
                                return f ? s[f - 1] : r
                            }
                            var hd = Or(Jd);

                            function Jd(s, f) {
                                return s && s.length && f && f.length ? su(s, f) : s
                            }
                            var $f = Il(function(s, f) {
                                var w = null == s ? 0 : s.length,
                                    te = qa(s, f);
                                return Uc(s, ti(f, function(xe) {
                                    return Rl(xe, w) ? +xe : xe
                                }).sort(xs)), te
                            });

                            function gd(s) {
                                return null == s ? s : qc.call(s)
                            }
                            var _d = Or(function(s) {
                                    return y($o(s, 1, Is, !0))
                                }),
                                js = Or(function(s) {
                                    var f = bl(s);
                                    return Is(f) && (f = r), y($o(s, 1, Is, !0), ur(f, 2))
                                }),
                                jc = Or(function(s) {
                                    var f = bl(s);
                                    return f = "function" == typeof f ? f : r, y($o(s, 1, Is, !0), r, f)
                                });

                            function Wf(s) {
                                if (!s || !s.length) return [];
                                var f = 0;
                                return s = lo(s, function(w) {
                                    if (Is(w)) return f = wo(w.length, f), !0
                                }), no(f, function(w) {
                                    return ti(s, H(w))
                                })
                            }

                            function Qd(s, f) {
                                if (!s || !s.length) return [];
                                var w = Wf(s);
                                return null == f ? w : ti(w, function(te) {
                                    return Ri(f, r, te)
                                })
                            }
                            var fc = Or(function(s, f) {
                                    return Is(s) ? Qc(s, f) : []
                                }),
                                vd = Or(function(s) {
                                    return qe(lo(s, Is))
                                }),
                                Xd = Or(function(s) {
                                    var f = bl(s);
                                    return Is(f) && (f = r), qe(lo(s, Is), ur(f, 2))
                                }),
                                ef = Or(function(s) {
                                    var f = bl(s);
                                    return f = "function" == typeof f ? f : r, qe(lo(s, Is), r, f)
                                }),
                                tf = Or(Wf),
                                Ip = Or(function(s) {
                                    var f = s.length,
                                        w = f > 1 ? s[f - 1] : r;
                                    return w = "function" == typeof w ? (s.pop(), w) : r, Qd(s, w)
                                });

                            function Np(s) {
                                var f = $e(s);
                                return f.__chain__ = !0, f
                            }

                            function yd(s, f) {
                                return f(s)
                            }
                            var hh = Il(function(s) {
                                    var f = s.length,
                                        w = f ? s[0] : 0,
                                        te = this.__wrapped__,
                                        xe = function(We) {
                                            return qa(We, s)
                                        };
                                    return !(f > 1 || this.__actions__.length) && te instanceof Ir && Rl(w) ? ((te = te.slice(w, +w + (f ? 1 : 0))).__actions__.push({
                                        func: yd,
                                        args: [xe],
                                        thisArg: r
                                    }), new ns(te, this.__chain__).thru(function(We) {
                                        return f && !We.length && We.push(r), We
                                    })) : this.thru(xe)
                                }),
                                mu = Qa(function(s, f, w) {
                                    de.call(s, w) ? ++s[w] : ua(s, w, 1)
                                }),
                                Fp = ss(bp),
                                kp = ss(Nf);

                            function rf(s, f) {
                                return (Ar(s) ? ci : wa)(s, ur(f, 3))
                            }

                            function gu(s, f) {
                                return (Ar(s) ? ao : vs)(s, ur(f, 3))
                            }
                            var _h = Qa(function(s, f, w) {
                                    de.call(s, w) ? s[w].push(f) : ua(s, w, [f])
                                }),
                                Bp = Or(function(s, f, w) {
                                    var te = -1,
                                        xe = "function" == typeof f,
                                        We = Cl(s) ? Vt(s.length) : [];
                                    return wa(s, function(ft) {
                                        We[++te] = xe ? Ri(f, ft, w) : ru(ft, f, w)
                                    }), We
                                }),
                                Up = Qa(function(s, f, w) {
                                    ua(s, w, f)
                                });

                            function _u(s, f) {
                                return (Ar(s) ? ti : Du)(s, ur(f, 3))
                            }
                            var zf = Qa(function(s, f, w) {
                                    s[w ? 0 : 1].push(f)
                                }, function() {
                                    return [
                                        [],
                                        []
                                    ]
                                }),
                                Yf = Or(function(s, f) {
                                    if (null == s) return [];
                                    var w = f.length;
                                    return w > 1 && pa(s, f[0], f[1]) ? f = [] : w > 2 && pa(f[0], f[1], f[2]) && (f = [f[0]]), Ou(s, $o(f, 1), [])
                                }),
                                af = Ol || function() {
                                    return Di.Date.now()
                                };

                            function Jf(s, f, w) {
                                return f = w ? r : f, lc(s, 128, r, r, r, r, f = s && null == f ? s.length : f)
                            }

                            function Qf(s, f) {
                                var w;
                                if ("function" != typeof f) throw new As(V);
                                return s = Xr(s),
                                    function() {
                                        return --s > 0 && (w = f.apply(this, arguments)), s <= 1 && (f = r), w
                                    }
                            }
                            var Xf = Or(function(s, f, w) {
                                    var te = 1;
                                    if (w.length) {
                                        var xe = Ys(w, uu(Xf));
                                        te |= 32
                                    }
                                    return lc(s, te, f, w, xe)
                                }),
                                ep = Or(function(s, f, w) {
                                    var te = 3;
                                    if (w.length) {
                                        var xe = Ys(w, uu(ep));
                                        te |= 32
                                    }
                                    return lc(f, te, s, w, xe)
                                });

                            function p(s, f, w) {
                                var te, xe, We, ft, bt, Mt, ln = 0,
                                    un = !1,
                                    gn = !1,
                                    jn = !0;
                                if ("function" != typeof s) throw new As(V);

                                function zn(Vo) {
                                    var nl = te,
                                        jl = xe;
                                    return te = xe = r, ln = Vo, ft = s.apply(jl, nl)
                                }

                                function xr(Vo) {
                                    return ln = Vo, bt = fu(vi, f), un ? zn(Vo) : ft
                                }

                                function gr(Vo) {
                                    var nl = Vo - Mt;
                                    return Mt === r || nl >= f || nl < 0 || gn && Vo - ln >= We
                                }

                                function vi() {
                                    var Vo = af();
                                    if (gr(Vo)) return Wr(Vo);
                                    bt = fu(vi, function yr(Vo) {
                                        var hf = f - (Vo - Mt);
                                        return gn ? fo(hf, We - (Vo - ln)) : hf
                                    }(Vo))
                                }

                                function Wr(Vo) {
                                    return bt = r, jn && te ? zn(Vo) : (te = xe = r, ft)
                                }

                                function Oa() {
                                    var Vo = af(),
                                        nl = gr(Vo);
                                    if (te = arguments, xe = this, Mt = Vo, nl) {
                                        if (bt === r) return xr(Mt);
                                        if (gn) return vr(bt), bt = fu(vi, f), zn(Mt)
                                    }
                                    return bt === r && (bt = fu(vi, f)), ft
                                }
                                return f = Bl(f) || 0, Jo(w) && (un = !!w.leading, We = (gn = "maxWait" in w) ? wo(Bl(w.maxWait) || 0, f) : We, jn = "trailing" in w ? !!w.trailing : jn), Oa.cancel = function El() {
                                    bt !== r && vr(bt), ln = 0, te = Mt = xe = bt = r
                                }, Oa.flush = function ta() {
                                    return bt === r ? ft : Wr(af())
                                }, Oa
                            }
                            var b = Or(function(s, f) {
                                    return Ju(s, 1, f)
                                }),
                                I = Or(function(s, f, w) {
                                    return Ju(s, Bl(f) || 0, w)
                                });

                            function ve(s, f) {
                                if ("function" != typeof s || null != f && "function" != typeof f) throw new As(V);
                                var w = function() {
                                    var te = arguments,
                                        xe = f ? f.apply(this, te) : te[0],
                                        We = w.cache;
                                    if (We.has(xe)) return We.get(xe);
                                    var ft = s.apply(this, te);
                                    return w.cache = We.set(xe, ft) || We, ft
                                };
                                return w.cache = new(ve.Cache || S), w
                            }

                            function Ve(s) {
                                if ("function" != typeof s) throw new As(V);
                                return function() {
                                    var f = arguments;
                                    switch (f.length) {
                                        case 0:
                                            return !s.call(this);
                                        case 1:
                                            return !s.call(this, f[0]);
                                        case 2:
                                            return !s.call(this, f[0], f[1]);
                                        case 3:
                                            return !s.call(this, f[0], f[1], f[2])
                                    }
                                    return !s.apply(this, f)
                                }
                            }
                            ve.Cache = S;
                            var lt = En(function(s, f) {
                                    var w = (f = 1 == f.length && Ar(f[0]) ? ti(f[0], Fi(ur())) : ti($o(f, 1), Fi(ur()))).length;
                                    return Or(function(te) {
                                        for (var xe = -1, We = fo(te.length, w); ++xe < We;) te[xe] = f[xe].call(this, te[xe]);
                                        return Ri(s, this, te)
                                    })
                                }),
                                Ot = Or(function(s, f) {
                                    var w = Ys(f, uu(Ot));
                                    return lc(s, 32, r, f, w)
                                }),
                                At = Or(function(s, f) {
                                    var w = Ys(f, uu(At));
                                    return lc(s, 64, r, f, w)
                                }),
                                Nt = Il(function(s, f) {
                                    return lc(s, 256, r, r, r, f)
                                });

                            function ea(s, f) {
                                return s === f || s != s && f != f
                            }
                            var Ll = ac(Qu),
                                Hp = ac(function(s, f) {
                                    return s >= f
                                }),
                                Es = $d(function() {
                                    return arguments
                                }()) ? $d : function(s) {
                                    return as(s) && de.call(s, "callee") && !co.call(s, "callee")
                                },
                                Ar = Vt.isArray,
                                Kh = $s ? Fi($s) : function vf(s) {
                                    return as(s) && ys(s) == et
                                };

                            function Cl(s) {
                                return null != s && rp(s.length) && !Zc(s)
                            }

                            function Is(s) {
                                return as(s) && Cl(s)
                            }
                            var vu = Ia || Kc,
                                bh = so ? Fi(so) : function yf(s) {
                                    return as(s) && ys(s) == Qt
                                };

                            function tp(s) {
                                if (!as(s)) return !1;
                                var f = ys(s);
                                return f == mt || "[object DOMException]" == f || "string" == typeof s.message && "string" == typeof s.name && !Td(s)
                            }

                            function Zc(s) {
                                if (!Jo(s)) return !1;
                                var f = ys(s);
                                return f == Lt || f == _n || "[object AsyncFunction]" == f || "[object Proxy]" == f
                            }

                            function jp(s) {
                                return "number" == typeof s && s == Xr(s)
                            }

                            function rp(s) {
                                return "number" == typeof s && s > -1 && s % 1 == 0 && s <= St
                            }

                            function Jo(s) {
                                var f = typeof s;
                                return null != s && ("object" == f || "function" == f)
                            }

                            function as(s) {
                                return null != s && "object" == typeof s
                            }
                            var Ch = va ? Fi(va) : function iu(s) {
                                return as(s) && Ko(s) == Ln
                            };

                            function Pm(s) {
                                return "number" == typeof s || as(s) && ys(s) == Nn
                            }

                            function Td(s) {
                                if (!as(s) || ys(s) != vn) return !1;
                                var f = Ai(s);
                                if (null === f) return !0;
                                var w = de.call(f, "constructor") && f.constructor;
                                return "function" == typeof w && w instanceof w && j.call(w) == Gt
                            }
                            var Od = Mo ? Fi(Mo) : function ou(s) {
                                    return as(s) && ys(s) == pn
                                },
                                Ad = hs ? Fi(hs) : function nc(s) {
                                    return as(s) && Ko(s) == Rn
                                };

                            function op(s) {
                                return "string" == typeof s || !Ar(s) && as(s) && ys(s) == Qn
                            }

                            function xl(s) {
                                return "symbol" == typeof s || as(s) && ys(s) == _r
                            }
                            var gc = Ti ? Fi(Ti) : function ro(s) {
                                    return as(s) && rp(s.length) && !!ii[ys(s)]
                                },
                                wh = ac(bf),
                                tl = ac(function(s, f) {
                                    return s <= f
                                });

                            function Ds(s) {
                                if (!s) return [];
                                if (Cl(s)) return op(s) ? ts(s) : Eo(s);
                                if (Wo && s[Wo]) return function Za(Et) {
                                    for (var Jt, Vt = []; !(Jt = Et.next()).done;) Vt.push(Jt.value);
                                    return Vt
                                }(s[Wo]());
                                var f = Ko(s);
                                return (f == Ln ? Gl : f == Rn ? Wa : ut)(s)
                            }

                            function Pc(s) {
                                return s ? (s = Bl(s)) === kt || s === -kt ? 17976931348623157e292 * (s < 0 ? -1 : 1) : s == s ? s : 0 : 0 === s ? s : 0
                            }

                            function Xr(s) {
                                var f = Pc(s),
                                    w = f % 1;
                                return f == f ? w ? f - w : f : 0
                            }

                            function Im(s) {
                                return s ? Ja(Xr(s), 0, Pe) : 0
                            }

                            function Bl(s) {
                                if ("number" == typeof s) return s;
                                if (xl(s)) return NaN;
                                if (Jo(s)) {
                                    var f = "function" == typeof s.valueOf ? s.valueOf() : s;
                                    s = Jo(f) ? f + "" : f
                                }
                                if ("string" != typeof s) return 0 === s ? s : +s;
                                s = Gi(s);
                                var w = er.test(s);
                                return w || Tn.test(s) ? Bi(s.slice(2), w ? 2 : 8) : dn.test(s) ? NaN : +s
                            }

                            function Nm(s) {
                                return qi(s, wl(s))
                            }

                            function Vi(s) {
                                return null == s ? "" : A(s)
                            }
                            var Eh = da(function(s, f) {
                                    if (Hc(f) || Cl(f)) qi(f, ma(f), s);
                                    else
                                        for (var w in f) de.call(f, w) && Hs(s, w, f[w])
                                }),
                                Zp = da(function(s, f) {
                                    qi(f, wl(f), s)
                                }),
                                Sd = da(function(s, f, w, te) {
                                    qi(f, wl(f), s, te)
                                }),
                                Rm = da(function(s, f, w, te) {
                                    qi(f, ma(f), s, te)
                                }),
                                Xh = Il(qa),
                                em = Or(function(s, f) {
                                    s = wi(s);
                                    var w = -1,
                                        te = f.length,
                                        xe = te > 2 ? f[2] : r;
                                    for (xe && pa(f[0], f[1], xe) && (te = 1); ++w < te;)
                                        for (var We = f[w], ft = wl(We), bt = -1, Mt = ft.length; ++bt < Mt;) {
                                            var ln = ft[bt],
                                                un = s[ln];
                                            (un === r || ea(un, Bs[ln]) && !de.call(s, ln)) && (s[ln] = We[ln])
                                        }
                                    return s
                                }),
                                Fm = Or(function(s) {
                                    return s.push(r, Ef), Ri(sp, r, s)
                                });

                            function im(s, f, w) {
                                var te = null == s ? r : $a(s, f);
                                return te === r ? w : te
                            }

                            function om(s, f) {
                                return null != s && mp(s, f, tu)
                            }
                            var mg = Zi(function(s, f, w) {
                                    null != f && "function" != typeof f.toString && (f = pt.call(f)), s[f] = w
                                }, ff(Ha)),
                                gg = Zi(function(s, f, w) {
                                    null != f && "function" != typeof f.toString && (f = pt.call(f)), de.call(s, f) ? s[f].push(w) : s[f] = [w]
                                }, ur),
                                sm = Or(ru);

                            function ma(s) {
                                return Cl(s) ? Ss(s) : Tc(s)
                            }

                            function wl(s) {
                                return Cl(s) ? Ss(s, !0) : function Eu(s) {
                                    if (!Jo(s)) return function ih(s) {
                                        var f = [];
                                        if (null != s)
                                            for (var w in wi(s)) f.push(w);
                                        return f
                                    }(s);
                                    var f = Hc(s),
                                        w = [];
                                    for (var te in s) "constructor" == te && (f || !de.call(s, te)) || w.push(te);
                                    return w
                                }(s)
                            }
                            var yu = da(function(s, f, w) {
                                    Tu(s, f, w)
                                }),
                                sp = da(function(s, f, w, te) {
                                    Tu(s, f, w, te)
                                }),
                                Um = Il(function(s, f) {
                                    var w = {};
                                    if (null == s) return w;
                                    var te = !1;
                                    f = ti(f, function(We) {
                                        return We = mn(We, s), te || (te = We.length > 1), We
                                    }), qi(s, Mc(s), w), te && (w = ho(w, 7, Df));
                                    for (var xe = f.length; xe--;) g(w, f[xe]);
                                    return w
                                }),
                                Wp = Il(function(s, f) {
                                    return null == s ? {} : function ed(s, f) {
                                        return Au(s, f, function(w, te) {
                                            return om(s, te)
                                        })
                                    }(s, f)
                                });

                            function Oh(s, f) {
                                if (null == s) return {};
                                var w = ti(Mc(s), function(te) {
                                    return [te]
                                });
                                return f = ur(f), Au(s, w, function(te, xe) {
                                    return f(te, xe[0])
                                })
                            }
                            var m = pp(ma),
                                o = pp(wl);

                            function ut(s) {
                                return null == s ? [] : Ma(s, ma(s))
                            }
                            var Bn = sr(function(s, f, w) {
                                return f = f.toLowerCase(), s + (w ? Un(f) : f)
                            });

                            function Un(s) {
                                return bu(Vi(s).toLowerCase())
                            }

                            function fi(s) {
                                return (s = Vi(s)) && s.replace(bi, Ku).replace(ga, "")
                            }
                            var pi = sr(function(s, f, w) {
                                    return s + (w ? "-" : "") + f.toLowerCase()
                                }),
                                Ro = sr(function(s, f, w) {
                                    return s + (w ? " " : "") + f.toLowerCase()
                                }),
                                _i = or("toLowerCase"),
                                io = sr(function(s, f, w) {
                                    return s + (w ? "_" : "") + f.toLowerCase()
                                }),
                                Ua = sr(function(s, f, w) {
                                    return s + (w ? " " : "") + bu(f)
                                }),
                                uf = sr(function(s, f, w) {
                                    return s + (w ? " " : "") + f.toUpperCase()
                                }),
                                bu = or("toUpperCase");

                            function Wc(s, f, w) {
                                return s = Vi(s), (f = w ? r : f) === r ? function es(Et) {
                                    return ds.test(Et)
                                }(s) ? function yc(Et) {
                                    return Et.match(Fs) || []
                                }(s) : function ie(Et) {
                                    return Et.match(re) || []
                                }(s) : s.match(f) || []
                            }
                            var Hu = Or(function(s, f) {
                                    try {
                                        return Ri(s, r, f)
                                    } catch (w) {
                                        return tp(w) ? w : new ir(w)
                                    }
                                }),
                                df = Il(function(s, f) {
                                    return ci(f, function(w) {
                                        w = Ta(w), ua(s, w, Xf(s[w], s))
                                    }), s
                                });

                            function ff(s) {
                                return function() {
                                    return s
                                }
                            }
                            var cm = Io(),
                                um = Io(!0);

                            function Ha(s) {
                                return s
                            }

                            function Yp(s) {
                                return Xu("function" == typeof s ? s : ho(s, 1))
                            }
                            var qp = Or(function(s, f) {
                                    return function(w) {
                                        return ru(w, s, f)
                                    }
                                }),
                                dm = Or(function(s, f) {
                                    return function(w) {
                                        return ru(s, w, f)
                                    }
                                });

                            function zc(s, f, w) {
                                var te = ma(f),
                                    xe = Pl(f, te);
                                null == w && (!Jo(f) || !xe.length && te.length) && (w = f, f = s, s = this, xe = Pl(f, ma(f)));
                                var We = !(Jo(w) && "chain" in w && !w.chain),
                                    ft = Zc(s);
                                return ci(xe, function(bt) {
                                    var Mt = f[bt];
                                    s[bt] = Mt, ft && (s.prototype[bt] = function() {
                                        var ln = this.__chain__;
                                        if (We || ln) {
                                            var un = s(this.__wrapped__),
                                                gn = un.__actions__ = Eo(this.__actions__);
                                            return gn.push({
                                                func: Mt,
                                                args: arguments,
                                                thisArg: s
                                            }), un.__chain__ = ln, un
                                        }
                                        return Mt.apply(s, Go([this.value()], arguments))
                                    })
                                }), s
                            }

                            function Id() {}
                            var Sh = sc(ti),
                                up = sc(Oi),
                                fm = sc(L);

                            function dp(s) {
                                return Fl(s) ? H(Ta(s)) : function Bc(s) {
                                    return function(f) {
                                        return $a(f, s)
                                    }
                                }(s)
                            }
                            var Vm = fa(),
                                Hm = fa(!0);

                            function Qp() {
                                return []
                            }

                            function Kc() {
                                return !1
                            }
                            var vg = Ac(function(s, f) {
                                    return s + f
                                }, 0),
                                yg = Ud("ceil"),
                                eh = Ac(function(s, f) {
                                    return s / f
                                }, 1),
                                bg = Ud("floor"),
                                Gm = Ac(function(s, f) {
                                    return s * f
                                }, 1),
                                hm = Ud("round"),
                                Dg = Ac(function(s, f) {
                                    return s - f
                                }, 0);
                            return $e.after = function qf(s, f) {
                                if ("function" != typeof f) throw new As(V);
                                return s = Xr(s),
                                    function() {
                                        if (--s < 1) return f.apply(this, arguments)
                                    }
                            }, $e.ary = Jf, $e.assign = Eh, $e.assignIn = Zp, $e.assignInWith = Sd, $e.assignWith = Rm, $e.at = Xh, $e.before = Qf, $e.bind = Xf, $e.bindAll = df, $e.bindKey = ep, $e.castArray = function Do() {
                                if (!arguments.length) return [];
                                var s = arguments[0];
                                return Ar(s) ? s : [s]
                            }, $e.chain = Np, $e.chunk = function vp(s, f, w) {
                                f = (w ? pa(s, f, w) : f === r) ? 1 : wo(Xr(f), 0);
                                var te = null == s ? 0 : s.length;
                                if (!te || f < 1) return [];
                                for (var xe = 0, We = 0, ft = Vt(Al(te / f)); xe < te;) ft[We++] = Da(s, xe, xe += f);
                                return ft
                            }, $e.compact = function yp(s) {
                                for (var f = -1, w = null == s ? 0 : s.length, te = 0, xe = []; ++f < w;) {
                                    var We = s[f];
                                    We && (xe[te++] = We)
                                }
                                return xe
                            }, $e.concat = function oh() {
                                var s = arguments.length;
                                if (!s) return [];
                                for (var f = Vt(s - 1), w = arguments[0], te = s; te--;) f[te - 1] = arguments[te];
                                return Go(Ar(w) ? Eo(w) : [w], $o(f, 1))
                            }, $e.cond = function ju(s) {
                                var f = null == s ? 0 : s.length,
                                    w = ur();
                                return s = f ? ti(s, function(te) {
                                    if ("function" != typeof te[1]) throw new As(V);
                                    return [w(te[0]), te[1]]
                                }) : [], Or(function(te) {
                                    for (var xe = -1; ++xe < f;) {
                                        var We = s[xe];
                                        if (Ri(We[0], this, te)) return Ri(We[1], this, te)
                                    }
                                })
                            }, $e.conforms = function Hl(s) {
                                return function kd(s) {
                                    var f = ma(s);
                                    return function(w) {
                                        return mo(w, s, f)
                                    }
                                }(ho(s, 1))
                            }, $e.constant = ff, $e.countBy = mu, $e.create = function Dh(s, f) {
                                var w = Fa(s);
                                return null == f ? w : Ya(w, f)
                            }, $e.curry = function u(s, f, w) {
                                var te = lc(s, 8, r, r, r, r, r, f = w ? r : f);
                                return te.placeholder = u.placeholder, te
                            }, $e.curryRight = function c(s, f, w) {
                                var te = lc(s, 16, r, r, r, r, r, f = w ? r : f);
                                return te.placeholder = c.placeholder, te
                            }, $e.debounce = p, $e.defaults = em, $e.defaultsDeep = Fm, $e.defer = b, $e.delay = I, $e.difference = Pf, $e.differenceBy = If, $e.differenceWith = Hh, $e.drop = function jh(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                return te ? Da(s, (f = w || f === r ? 1 : Xr(f)) < 0 ? 0 : f, te) : []
                            }, $e.dropRight = function sh(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                return te ? Da(s, 0, (f = te - (f = w || f === r ? 1 : Xr(f))) < 0 ? 0 : f) : []
                            }, $e.dropRightWhile = function ah(s, f) {
                                return s && s.length ? ne(s, ur(f, 3), !0, !0) : []
                            }, $e.dropWhile = function Gh(s, f) {
                                return s && s.length ? ne(s, ur(f, 3), !0) : []
                            }, $e.fill = function Zh(s, f, w, te) {
                                var xe = null == s ? 0 : s.length;
                                return xe ? (w && "number" != typeof w && pa(s, f, w) && (w = 0, te = xe), function wu(s, f, w, te) {
                                    var xe = s.length;
                                    for ((w = Xr(w)) < 0 && (w = -w > xe ? 0 : xe + w), (te = te === r || te > xe ? xe : Xr(te)) < 0 && (te += xe), te = w > te ? 0 : Im(te); w < te;) s[w++] = f;
                                    return s
                                }(s, f, w, te)) : []
                            }, $e.filter = function gh(s, f) {
                                return (Ar(s) ? lo : ka)(s, ur(f, 3))
                            }, $e.flatMap = function nf(s, f) {
                                return $o(_u(s, f), 1)
                            }, $e.flatMapDeep = function Lp(s, f) {
                                return $o(_u(s, f), kt)
                            }, $e.flatMapDepth = function wd(s, f, w) {
                                return w = w === r ? 1 : Xr(w), $o(_u(s, f), w)
                            }, $e.flatten = pd, $e.flattenDeep = function Rf(s) {
                                return null != s && s.length ? $o(s, kt) : []
                            }, $e.flattenDepth = function Ff(s, f) {
                                return null != s && s.length ? $o(s, f = f === r ? 1 : Xr(f)) : []
                            }, $e.flip = function Q(s) {
                                return lc(s, 512)
                            }, $e.flow = cm, $e.flowRight = um, $e.fromPairs = function lh(s) {
                                for (var f = -1, w = null == s ? 0 : s.length, te = {}; ++f < w;) {
                                    var xe = s[f];
                                    te[xe[0]] = xe[1]
                                }
                                return te
                            }, $e.functions = function Lm(s) {
                                return null == s ? [] : Pl(s, ma(s))
                            }, $e.functionsIn = function go(s) {
                                return null == s ? [] : Pl(s, wl(s))
                            }, $e.groupBy = _h, $e.initial = function xp(s) {
                                return null != s && s.length ? Da(s, 0, -1) : []
                            }, $e.intersection = kf, $e.intersectionBy = wp, $e.intersectionWith = Ep, $e.invert = mg, $e.invertBy = gg, $e.invokeMap = Bp, $e.iteratee = Yp, $e.keyBy = Up, $e.keys = ma, $e.keysIn = wl, $e.map = _u, $e.mapKeys = function am(s, f) {
                                var w = {};
                                return f = ur(f, 3), La(s, function(te, xe, We) {
                                    ua(w, f(te, xe, We), te)
                                }), w
                            }, $e.mapValues = function Bm(s, f) {
                                var w = {};
                                return f = ur(f, 3), La(s, function(te, xe, We) {
                                    ua(w, xe, f(te, xe, We))
                                }), w
                            }, $e.matches = function Ah(s) {
                                return rc(ho(s, 1))
                            }, $e.matchesProperty = function Mh(s, f) {
                                return Bd(s, ho(f, 1))
                            }, $e.memoize = ve, $e.merge = yu, $e.mergeWith = sp, $e.method = qp, $e.methodOf = dm, $e.mixin = zc, $e.negate = Ve, $e.nthArg = function pf(s) {
                                return s = Xr(s), Or(function(f) {
                                    return $c(f, s)
                                })
                            }, $e.omit = Um, $e.omitBy = function Th(s, f) {
                                return Oh(s, Ve(ur(f)))
                            }, $e.once = function ze(s) {
                                return Qf(2, s)
                            }, $e.orderBy = function Ed(s, f, w, te) {
                                return null == s ? [] : (Ar(f) || (f = null == f ? [] : [f]), Ar(w = te ? r : w) || (w = null == w ? [] : [w]), Ou(s, f, w))
                            }, $e.over = Sh, $e.overArgs = lt, $e.overEvery = up, $e.overSome = fm, $e.partial = Ot, $e.partialRight = At, $e.partition = zf, $e.pick = Wp, $e.pickBy = Oh, $e.property = dp, $e.propertyOf = function Jp(s) {
                                return function(f) {
                                    return null == s ? r : $a(s, f)
                                }
                            }, $e.pull = hd, $e.pullAll = Jd, $e.pullAllBy = function md(s, f, w) {
                                return s && s.length && f && f.length ? su(s, f, ur(w, 2)) : s
                            }, $e.pullAllWith = function Lf(s, f, w) {
                                return s && s.length && f && f.length ? su(s, f, r, w) : s
                            }, $e.pullAt = $f, $e.range = Vm, $e.rangeRight = Hm, $e.rearg = Nt, $e.reject = function Vp(s, f) {
                                return (Ar(s) ? lo : ka)(s, Ve(ur(f, 3)))
                            }, $e.remove = function Tp(s, f) {
                                var w = [];
                                if (!s || !s.length) return w;
                                var te = -1,
                                    xe = [],
                                    We = s.length;
                                for (f = ur(f, 3); ++te < We;) {
                                    var ft = s[te];
                                    f(ft, te, s) && (w.push(ft), xe.push(te))
                                }
                                return Uc(s, xe), w
                            }, $e.rest = function fn(s, f) {
                                if ("function" != typeof s) throw new As(V);
                                return Or(s, f = f === r ? f : Xr(f))
                            }, $e.reverse = gd, $e.sampleSize = function vh(s, f, w) {
                                return f = (w ? pa(s, f, w) : f === r) ? 1 : Xr(f), (Ar(s) ? Ka : Su)(s, f)
                            }, $e.set = function lm(s, f, w) {
                                return null == s ? s : Ea(s, f, w)
                            }, $e.setWith = function l(s, f, w, te) {
                                return te = "function" == typeof te ? te : r, null == s ? s : Ea(s, f, w, te)
                            }, $e.shuffle = function yh(s) {
                                return (Ar(s) ? Ps : lu)(s)
                            }, $e.slice = function Op(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                return te ? (w && "number" != typeof w && pa(s, f, w) ? (f = 0, w = te) : (f = null == f ? 0 : Xr(f), w = w === r ? te : Xr(w)), Da(s, f, w)) : []
                            }, $e.sortBy = Yf, $e.sortedUniq = function jf(s) {
                                return s && s.length ? Iu(s) : []
                            }, $e.sortedUniqBy = function Mp(s, f) {
                                return s && s.length ? Iu(s, ur(f, 2)) : []
                            }, $e.split = function Ul(s, f, w) {
                                return w && "number" != typeof w && pa(s, f, w) && (f = w = r), (w = w === r ? Pe : w >>> 0) ? (s = Vi(s)) && ("string" == typeof f || null != f && !Od(f)) && !(f = A(f)) && Ks(s) ? pr(ts(s), 0, w) : s.split(f, w) : []
                            }, $e.spread = function Dn(s, f) {
                                if ("function" != typeof s) throw new As(V);
                                return f = null == f ? 0 : wo(Xr(f), 0), Or(function(w) {
                                    var te = w[f],
                                        xe = pr(w, 0, f);
                                    return te && Go(xe, te), Ri(s, this, xe)
                                })
                            }, $e.tail = function hu(s) {
                                var f = null == s ? 0 : s.length;
                                return f ? Da(s, 1, f) : []
                            }, $e.take = function fh(s, f, w) {
                                return s && s.length ? Da(s, 0, (f = w || f === r ? 1 : Xr(f)) < 0 ? 0 : f) : []
                            }, $e.takeRight = function Gf(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                return te ? Da(s, (f = te - (f = w || f === r ? 1 : Xr(f))) < 0 ? 0 : f, te) : []
                            }, $e.takeRightWhile = function el(s, f) {
                                return s && s.length ? ne(s, ur(f, 3), !1, !0) : []
                            }, $e.takeWhile = function qo(s, f) {
                                return s && s.length ? ne(s, ur(f, 3)) : []
                            }, $e.tap = function $u(s, f) {
                                return f(s), s
                            }, $e.throttle = function Hn(s, f, w) {
                                var te = !0,
                                    xe = !0;
                                if ("function" != typeof s) throw new As(V);
                                return Jo(w) && (te = "leading" in w ? !!w.leading : te, xe = "trailing" in w ? !!w.trailing : xe), p(s, f, {
                                    leading: te,
                                    maxWait: f,
                                    trailing: xe
                                })
                            }, $e.thru = yd, $e.toArray = Ds, $e.toPairs = m, $e.toPairsIn = o, $e.toPath = function pm(s) {
                                return Ar(s) ? ti(s, Ta) : xl(s) ? [s] : Eo(dc(Vi(s)))
                            }, $e.toPlainObject = Nm, $e.transform = function h(s, f, w) {
                                var te = Ar(s),
                                    xe = te || vu(s) || gc(s);
                                if (f = ur(f, 4), null == w) {
                                    var We = s && s.constructor;
                                    w = xe ? te ? new We : [] : Jo(s) && Zc(We) ? Fa(Ai(s)) : {}
                                }
                                return (xe ? ci : La)(s, function(ft, bt, Mt) {
                                    return f(w, ft, bt, Mt)
                                }), w
                            }, $e.unary = function di(s) {
                                return Jf(s, 1)
                            }, $e.union = _d, $e.unionBy = js, $e.unionWith = jc, $e.uniq = function Sp(s) {
                                return s && s.length ? y(s) : []
                            }, $e.uniqBy = function Zf(s, f) {
                                return s && s.length ? y(s, ur(f, 2)) : []
                            }, $e.uniqWith = function ph(s, f) {
                                return f = "function" == typeof f ? f : r, s && s.length ? y(s, r, f) : []
                            }, $e.unset = function D(s, f) {
                                return null == s || g(s, f)
                            }, $e.unzip = Wf, $e.unzipWith = Qd, $e.update = function Z(s, f, w) {
                                return null == s ? s : M(s, f, Zt(w))
                            }, $e.updateWith = function Ze(s, f, w, te) {
                                return te = "function" == typeof te ? te : r, null == s ? s : M(s, f, Zt(w), te)
                            }, $e.values = ut, $e.valuesIn = function yt(s) {
                                return null == s ? [] : Ma(s, wl(s))
                            }, $e.without = fc, $e.words = Wc, $e.wrap = function Nr(s, f) {
                                return Ot(Zt(f), s)
                            }, $e.xor = vd, $e.xorBy = Xd, $e.xorWith = ef, $e.zip = tf, $e.zipObject = function Lu(s, f) {
                                return Ye(s || [], f || [], Hs)
                            }, $e.zipObjectDeep = function Pp(s, f) {
                                return Ye(s || [], f || [], Ea)
                            }, $e.zipWith = Ip, $e.entries = m, $e.entriesIn = o, $e.extend = Zp, $e.extendWith = Sd, zc($e, $e), $e.add = vg, $e.attempt = Hu, $e.camelCase = Bn, $e.capitalize = Un, $e.ceil = yg, $e.clamp = function Bt(s, f, w) {
                                return w === r && (w = f, f = r), w !== r && (w = (w = Bl(w)) == w ? w : 0), f !== r && (f = (f = Bl(f)) == f ? f : 0), Ja(Bl(s), f, w)
                            }, $e.clone = function No(s) {
                                return ho(s, 4)
                            }, $e.cloneDeep = function hc(s) {
                                return ho(s, 5)
                            }, $e.cloneDeepWith = function ha(s, f) {
                                return ho(s, 5, f = "function" == typeof f ? f : r)
                            }, $e.cloneWith = function zi(s, f) {
                                return ho(s, 4, f = "function" == typeof f ? f : r)
                            }, $e.conformsTo = function mc(s, f) {
                                return null == f || mo(s, f, ma(f))
                            }, $e.deburr = fi, $e.defaultTo = function Kp(s, f) {
                                return null == s || s != s ? f : s
                            }, $e.divide = eh, $e.endsWith = function ar(s, f, w) {
                                s = Vi(s), f = A(f);
                                var te = s.length,
                                    xe = w = w === r ? te : Ja(Xr(w), 0, te);
                                return (w -= f.length) >= 0 && s.slice(w, xe) == f
                            }, $e.eq = ea, $e.escape = function kr(s) {
                                return (s = Vi(s)) && Si.test(s) ? s.replace(hr, Ga) : s
                            }, $e.escapeRegExp = function Ei(s) {
                                return (s = Vi(s)) && Er.test(s) ? s.replace(br, "\\$&") : s
                            }, $e.every = function mh(s, f, w) {
                                var te = Ar(s) ? Oi : gf;
                                return w && pa(s, f, w) && (f = r), te(s, ur(f, 3))
                            }, $e.find = Fp, $e.findIndex = bp, $e.findKey = function tm(s, f) {
                                return rt(s, ur(f, 3), La)
                            }, $e.findLast = kp, $e.findLastIndex = Nf, $e.findLastKey = function pg(s, f) {
                                return rt(s, ur(f, 3), Fc)
                            }, $e.floor = bg, $e.forEach = rf, $e.forEachRight = gu, $e.forIn = function km(s, f) {
                                return null == s ? s : ml(s, ur(f, 3), wl)
                            }, $e.forInRight = function hg(s, f) {
                                return null == s ? s : gl(s, ur(f, 3), wl)
                            }, $e.forOwn = function nm(s, f) {
                                return s && La(s, ur(f, 3))
                            }, $e.forOwnRight = function rm(s, f) {
                                return s && Fc(s, ur(f, 3))
                            }, $e.get = im, $e.gt = Ll, $e.gte = Hp, $e.has = function $m(s, f) {
                                return null != s && mp(s, f, tc)
                            }, $e.hasIn = om, $e.head = Yo, $e.identity = Ha, $e.includes = function $p(s, f, w, te) {
                                s = Cl(s) ? s : ut(s), w = w && !te ? Xr(w) : 0;
                                var xe = s.length;
                                return w < 0 && (w = wo(xe + w, 0)), op(s) ? w <= xe && s.indexOf(f, w) > -1 : !!xe && Wt(s, f, w) > -1
                            }, $e.indexOf = function Cp(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                if (!te) return -1;
                                var xe = null == w ? 0 : Xr(w);
                                return xe < 0 && (xe = wo(te + xe, 0)), Wt(s, f, xe)
                            }, $e.inRange = function qt(s, f, w) {
                                return f = Pc(f), w === r ? (w = f, f = 0) : w = Pc(w),
                                    function _f(s, f, w) {
                                        return s >= fo(f, w) && s < wo(f, w)
                                    }(s = Bl(s), f, w)
                            }, $e.invoke = sm, $e.isArguments = Es, $e.isArray = Ar, $e.isArrayBuffer = Kh, $e.isArrayLike = Cl, $e.isArrayLikeObject = Is, $e.isBoolean = function Om(s) {
                                return !0 === s || !1 === s || as(s) && ys(s) == vt
                            }, $e.isBuffer = vu, $e.isDate = bh, $e.isElement = function Am(s) {
                                return as(s) && 1 === s.nodeType && !Td(s)
                            }, $e.isEmpty = function Yh(s) {
                                if (null == s) return !0;
                                if (Cl(s) && (Ar(s) || "string" == typeof s || "function" == typeof s.splice || vu(s) || gc(s) || Es(s))) return !s.length;
                                var f = Ko(s);
                                if (f == Ln || f == Rn) return !s.size;
                                if (Hc(s)) return !Tc(s).length;
                                for (var w in s)
                                    if (de.call(s, w)) return !1;
                                return !0
                            }, $e.isEqual = function Dd(s, f) {
                                return Ec(s, f)
                            }, $e.isEqualWith = function qh(s, f, w) {
                                var te = (w = "function" == typeof w ? w : r) ? w(s, f) : r;
                                return te === r ? Ec(s, f, r, w) : !!te
                            }, $e.isError = tp, $e.isFinite = function np(s) {
                                return "number" == typeof s && bc(s)
                            }, $e.isFunction = Zc, $e.isInteger = jp, $e.isLength = rp, $e.isMap = Ch, $e.isMatch = function Mm(s, f) {
                                return s === f || Lc(s, f, sd(f))
                            }, $e.isMatchWith = function Jh(s, f, w) {
                                return w = "function" == typeof w ? w : r, Lc(s, f, sd(f), w)
                            }, $e.isNaN = function Sm(s) {
                                return Pm(s) && s != +s
                            }, $e.isNative = function Qh(s) {
                                if (Zd(s)) throw new ir("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");
                                return Dc(s)
                            }, $e.isNil = function ip(s) {
                                return null == s
                            }, $e.isNull = function lf(s) {
                                return null === s
                            }, $e.isNumber = Pm, $e.isObject = Jo, $e.isObjectLike = as, $e.isPlainObject = Td, $e.isRegExp = Od, $e.isSafeInteger = function fg(s) {
                                return jp(s) && s >= -St && s <= St
                            }, $e.isSet = Ad, $e.isString = op, $e.isSymbol = xl, $e.isTypedArray = gc, $e.isUndefined = function $l(s) {
                                return s === r
                            }, $e.isWeakMap = function Md(s) {
                                return as(s) && Ko(s) == Ut
                            }, $e.isWeakSet = function xh(s) {
                                return as(s) && "[object WeakSet]" == ys(s)
                            }, $e.join = function ch(s, f) {
                                return null == s ? "" : Cc.call(s, f)
                            }, $e.kebabCase = pi, $e.last = bl, $e.lastIndexOf = function Dp(s, f, w) {
                                var te = null == s ? 0 : s.length;
                                if (!te) return -1;
                                var xe = te;
                                return w !== r && (xe = (xe = Xr(w)) < 0 ? wo(te + xe, 0) : fo(xe, te - 1)), f == f ? function sl(Et, Jt, Vt) {
                                    for (var Sn = Vt + 1; Sn--;)
                                        if (Et[Sn] === Jt) return Sn;
                                    return Sn
                                }(s, f, xe) : gt(s, X, xe, !0)
                            }, $e.lowerCase = Ro, $e.lowerFirst = _i, $e.lt = wh, $e.lte = tl, $e.max = function R0(s) {
                                return s && s.length ? Xc(s, Ha, Qu) : r
                            }, $e.maxBy = function Cg(s, f) {
                                return s && s.length ? Xc(s, ur(f, 2), Qu) : r
                            }, $e.mean = function F0(s) {
                                return Y(s, Ha)
                            }, $e.meanBy = function xg(s, f) {
                                return Y(s, ur(f, 2))
                            }, $e.min = function wg(s) {
                                return s && s.length ? Xc(s, Ha, bf) : r
                            }, $e.minBy = function Eg(s, f) {
                                return s && s.length ? Xc(s, ur(f, 2), bf) : r
                            }, $e.stubArray = Qp, $e.stubFalse = Kc, $e.stubObject = function Ph() {
                                return {}
                            }, $e.stubString = function Ih() {
                                return ""
                            }, $e.stubTrue = function Xp() {
                                return !0
                            }, $e.multiply = Gm, $e.nth = function uh(s, f) {
                                return s && s.length ? $c(s, Xr(f)) : r
                            }, $e.noConflict = function Gu() {
                                return Di._ === this && (Di._ = nn), this
                            }, $e.noop = Id, $e.now = af, $e.pad = function Li(s, f, w) {
                                s = Vi(s);
                                var te = (f = Xr(f)) ? ba(s) : 0;
                                if (!f || te >= f) return s;
                                var xe = (f - te) / 2;
                                return Wi(uo(xe), w) + s + Wi(Al(xe), w)
                            }, $e.padEnd = function Hi(s, f, w) {
                                s = Vi(s);
                                var te = (f = Xr(f)) ? ba(s) : 0;
                                return f && te < f ? s + Wi(f - te, w) : s
                            }, $e.padStart = function Fo(s, f, w) {
                                s = Vi(s);
                                var te = (f = Xr(f)) ? ba(s) : 0;
                                return f && te < f ? Wi(f - te, w) + s : s
                            }, $e.parseInt = function _o(s, f, w) {
                                return w || null == f ? f = 0 : f && (f = +f), dl(Vi(s).replace(jr, ""), f || 0)
                            }, $e.random = function Mn(s, f, w) {
                                if (w && "boolean" != typeof w && pa(s, f, w) && (f = w = r), w === r && ("boolean" == typeof f ? (w = f, f = r) : "boolean" == typeof s && (w = s, s = r)), s === r && f === r ? (s = 0, f = 1) : (s = Pc(s), f === r ? (f = s, s = 0) : f = Pc(f)), s > f) {
                                    var te = s;
                                    s = f, f = te
                                }
                                if (w || s % 1 || f % 1) {
                                    var xe = Yl();
                                    return fo(s + xe * (f - s + ia("1e-" + ((xe + "").length - 1))), f)
                                }
                                return au(s, f)
                            }, $e.reduce = function Gc(s, f, w) {
                                var te = Ar(s) ? ya : It,
                                    xe = arguments.length < 3;
                                return te(s, ur(f, 4), w, xe, wa)
                            }, $e.reduceRight = function pc(s, f, w) {
                                var te = Ar(s) ? Zo : It,
                                    xe = arguments.length < 3;
                                return te(s, ur(f, 4), w, xe, vs)
                            }, $e.repeat = function Gs(s, f, w) {
                                return f = (w ? pa(s, f, w) : f === r) ? 1 : Xr(f), Mu(Vi(s), f)
                            }, $e.replace = function Zs() {
                                var s = arguments,
                                    f = Vi(s[0]);
                                return s.length < 3 ? f : f.replace(s[1], s[2])
                            }, $e.result = function zp(s, f, w) {
                                var te = -1,
                                    xe = (f = mn(f, s)).length;
                                for (xe || (xe = 1, s = r); ++te < xe;) {
                                    var We = null == s ? r : s[Ta(f[te])];
                                    We === r && (te = xe, We = w), s = Zc(We) ? We.call(s) : We
                                }
                                return s
                            }, $e.round = hm, $e.runInContext = Et, $e.sample = function sf(s) {
                                return (Ar(s) ? wc : ic)(s)
                            }, $e.size = function Kf(s) {
                                if (null == s) return 0;
                                if (Cl(s)) return op(s) ? ba(s) : s.length;
                                var f = Ko(s);
                                return f == Ln || f == Rn ? s.size : Tc(s).length
                            }, $e.snakeCase = io, $e.some = function zh(s, f, w) {
                                var te = Ar(s) ? L : xf;
                                return w && pa(s, f, w) && (f = r), te(s, ur(f, 3))
                            }, $e.sortedIndex = function Ap(s, f) {
                                return cu(s, f)
                            }, $e.sortedIndexBy = function Bf(s, f, w) {
                                return bs(s, f, ur(w, 2))
                            }, $e.sortedIndexOf = function Uf(s, f) {
                                var w = null == s ? 0 : s.length;
                                if (w) {
                                    var te = cu(s, f);
                                    if (te < w && ea(s[te], f)) return te
                                }
                                return -1
                            }, $e.sortedLastIndex = function Vf(s, f) {
                                return cu(s, f, !0)
                            }, $e.sortedLastIndexBy = function dh(s, f, w) {
                                return bs(s, f, ur(w, 2), !0)
                            }, $e.sortedLastIndexOf = function Hf(s, f) {
                                if (null != s && s.length) {
                                    var te = cu(s, f, !0) - 1;
                                    if (ea(s[te], f)) return te
                                }
                                return -1
                            }, $e.startCase = Ua, $e.startsWith = function Pd(s, f, w) {
                                return s = Vi(s), w = null == w ? 0 : Ja(Xr(w), 0, s.length), f = A(f), s.slice(w, w + f.length) == f
                            }, $e.subtract = Dg, $e.sum = function mm(s) {
                                return s && s.length ? nr(s, Ha) : 0
                            }, $e.sumBy = function Tg(s, f) {
                                return s && s.length ? nr(s, ur(f, 2)) : 0
                            }, $e.template = function Uu(s, f, w) {
                                var te = $e.templateSettings;
                                w && pa(s, f, w) && (f = r), s = Vi(s), f = Sd({}, f, te, wf);
                                var bt, Mt, xe = Sd({}, f.imports, te.imports, wf),
                                    We = ma(xe),
                                    ft = Ma(xe, We),
                                    ln = 0,
                                    un = f.interpolate || ji,
                                    gn = "__p += '",
                                    jn = Os((f.escape || ji).source + "|" + un.source + "|" + (un === Ji ? Dt : ji).source + "|" + (f.evaluate || ji).source + "|$", "g"),
                                    zn = "//# sourceURL=" + (de.call(f, "sourceURL") ? (f.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++Ni + "]") + "\n";
                                s.replace(jn, function(gr, vi, Wr, El, ta, Oa) {
                                    return Wr || (Wr = El), gn += s.slice(ln, Oa).replace(ye, vc), vi && (bt = !0, gn += "' +\n__e(" + vi + ") +\n'"), ta && (Mt = !0, gn += "';\n" + ta + ";\n__p += '"), Wr && (gn += "' +\n((__t = (" + Wr + ")) == null ? '' : __t) +\n'"), ln = Oa + gr.length, gr
                                }), gn += "';\n";
                                var xr = de.call(f, "variable") && f.variable;
                                if (xr) {
                                    if (ae.test(xr)) throw new ir("Invalid `variable` option passed into `_.template`")
                                } else gn = "with (obj) {\n" + gn + "\n}\n";
                                gn = (Mt ? gn.replace(In, "") : gn).replace(Kn, "$1").replace(si, "$1;"), gn = "function(" + (xr || "obj") + ") {\n" + (xr ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (bt ? ", __e = _.escape" : "") + (Mt ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + gn + "return __p\n}";
                                var yr = Hu(function() {
                                    return ni(We, zn + "return " + gn).apply(r, ft)
                                });
                                if (yr.source = gn, tp(yr)) throw yr;
                                return yr
                            }, $e.times = function _g(s, f) {
                                if ((s = Xr(s)) < 1 || s > St) return [];
                                var w = Pe,
                                    te = fo(s, Pe);
                                f = ur(f), s -= Pe;
                                for (var xe = no(te, f); ++w < s;) f(w);
                                return xe
                            }, $e.toFinite = Pc, $e.toInteger = Xr, $e.toLength = Im, $e.toLower = function Va(s) {
                                return Vi(s).toLowerCase()
                            }, $e.toNumber = Bl, $e.toSafeInteger = function Gp(s) {
                                return s ? Ja(Xr(s), -St, St) : 0 === s ? s : 0
                            }, $e.toString = Vi, $e.toUpper = function Vl(s) {
                                return Vi(s).toUpperCase()
                            }, $e.trim = function ap(s, f, w) {
                                if ((s = Vi(s)) && (w || f === r)) return Gi(s);
                                if (!s || !(f = A(f))) return s;
                                var te = ts(s),
                                    xe = ts(f);
                                return pr(te, zs(te, xe), Ic(te, xe) + 1).join("")
                            }, $e.trimEnd = function Vu(s, f, w) {
                                if ((s = Vi(s)) && (w || f === r)) return s.slice(0, ko(s) + 1);
                                if (!s || !(f = A(f))) return s;
                                var te = ts(s);
                                return pr(te, 0, Ic(te, ts(f)) + 1).join("")
                            }, $e.trimStart = function lp(s, f, w) {
                                if ((s = Vi(s)) && (w || f === r)) return s.replace(jr, "");
                                if (!s || !(f = A(f))) return s;
                                var te = ts(s);
                                return pr(te, zs(te, ts(f))).join("")
                            }, $e.truncate = function cp(s, f) {
                                var w = 30,
                                    te = "...";
                                if (Jo(f)) {
                                    var xe = "separator" in f ? f.separator : xe;
                                    w = "length" in f ? Xr(f.length) : w, te = "omission" in f ? A(f.omission) : te
                                }
                                var We = (s = Vi(s)).length;
                                if (Ks(s)) {
                                    var ft = ts(s);
                                    We = ft.length
                                }
                                if (w >= We) return s;
                                var bt = w - ba(te);
                                if (bt < 1) return te;
                                var Mt = ft ? pr(ft, 0, bt).join("") : s.slice(0, bt);
                                if (xe === r) return Mt + te;
                                if (ft && (bt += Mt.length - bt), Od(xe)) {
                                    if (s.slice(bt).search(xe)) {
                                        var ln, un = Mt;
                                        for (xe.global || (xe = Os(xe.source, Vi(Xt.exec(xe)) + "g")), xe.lastIndex = 0; ln = xe.exec(un);) var gn = ln.index;
                                        Mt = Mt.slice(0, gn === r ? bt : gn)
                                    }
                                } else if (s.indexOf(A(xe), bt) != bt) {
                                    var jn = Mt.lastIndexOf(xe);
                                    jn > -1 && (Mt = Mt.slice(0, jn))
                                }
                                return Mt + te
                            }, $e.unescape = function cf(s) {
                                return (s = Vi(s)) && ai.test(s) ? s.replace(Jr, ms) : s
                            }, $e.uniqueId = function jm(s) {
                                var f = ++q;
                                return Vi(s) + f
                            }, $e.upperCase = uf, $e.upperFirst = bu, $e.each = rf, $e.eachRight = gu, $e.first = Yo, zc($e, function() {
                                var s = {};
                                return La($e, function(f, w) {
                                    de.call($e.prototype, w) || (s[w] = f)
                                }), s
                            }(), {
                                chain: !1
                            }), $e.VERSION = "4.17.21", ci(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function(s) {
                                $e[s].placeholder = $e
                            }), ci(["drop", "take"], function(s, f) {
                                Ir.prototype[s] = function(w) {
                                    w = w === r ? 1 : wo(Xr(w), 0);
                                    var te = this.__filtered__ && !f ? new Ir(this) : this.clone();
                                    return te.__filtered__ ? te.__takeCount__ = fo(w, te.__takeCount__) : te.__views__.push({
                                        size: fo(w, Pe),
                                        type: s + (te.__dir__ < 0 ? "Right" : "")
                                    }), te
                                }, Ir.prototype[s + "Right"] = function(w) {
                                    return this.reverse()[s](w).reverse()
                                }
                            }), ci(["filter", "map", "takeWhile"], function(s, f) {
                                var w = f + 1,
                                    te = 1 == w || 3 == w;
                                Ir.prototype[s] = function(xe) {
                                    var We = this.clone();
                                    return We.__iteratees__.push({
                                        iteratee: ur(xe, 3),
                                        type: w
                                    }), We.__filtered__ = We.__filtered__ || te, We
                                }
                            }), ci(["head", "last"], function(s, f) {
                                var w = "take" + (f ? "Right" : "");
                                Ir.prototype[s] = function() {
                                    return this[w](1).value()[0]
                                }
                            }), ci(["initial", "tail"], function(s, f) {
                                var w = "drop" + (f ? "" : "Right");
                                Ir.prototype[s] = function() {
                                    return this.__filtered__ ? new Ir(this) : this[w](1)
                                }
                            }), Ir.prototype.compact = function() {
                                return this.filter(Ha)
                            }, Ir.prototype.find = function(s) {
                                return this.filter(s).head()
                            }, Ir.prototype.findLast = function(s) {
                                return this.reverse().find(s)
                            }, Ir.prototype.invokeMap = Or(function(s, f) {
                                return "function" == typeof s ? new Ir(this) : this.map(function(w) {
                                    return ru(w, s, f)
                                })
                            }), Ir.prototype.reject = function(s) {
                                return this.filter(Ve(ur(s)))
                            }, Ir.prototype.slice = function(s, f) {
                                s = Xr(s);
                                var w = this;
                                return w.__filtered__ && (s > 0 || f < 0) ? new Ir(w) : (s < 0 ? w = w.takeRight(-s) : s && (w = w.drop(s)), f !== r && (w = (f = Xr(f)) < 0 ? w.dropRight(-f) : w.take(f - s)), w)
                            }, Ir.prototype.takeRightWhile = function(s) {
                                return this.reverse().takeWhile(s).reverse()
                            }, Ir.prototype.toArray = function() {
                                return this.take(Pe)
                            }, La(Ir.prototype, function(s, f) {
                                var w = /^(?:filter|find|map|reject)|While$/.test(f),
                                    te = /^(?:head|last)$/.test(f),
                                    xe = $e[te ? "take" + ("last" == f ? "Right" : "") : f],
                                    We = te || /^find/.test(f);
                                !xe || ($e.prototype[f] = function() {
                                    var ft = this.__wrapped__,
                                        bt = te ? [1] : arguments,
                                        Mt = ft instanceof Ir,
                                        ln = bt[0],
                                        un = Mt || Ar(ft),
                                        gn = function(vi) {
                                            var Wr = xe.apply($e, Go([vi], bt));
                                            return te && jn ? Wr[0] : Wr
                                        };
                                    un && w && "function" == typeof ln && 1 != ln.length && (Mt = un = !1);
                                    var jn = this.__chain__,
                                        zn = !!this.__actions__.length,
                                        xr = We && !jn,
                                        yr = Mt && !zn;
                                    if (!We && un) {
                                        ft = yr ? ft : new Ir(this);
                                        var gr = s.apply(ft, bt);
                                        return gr.__actions__.push({
                                            func: yd,
                                            args: [gn],
                                            thisArg: r
                                        }), new ns(gr, jn)
                                    }
                                    return xr && yr ? s.apply(this, bt) : (gr = this.thru(gn), xr ? te ? gr.value()[0] : gr.value() : gr)
                                })
                            }), ci(["pop", "push", "shift", "sort", "splice", "unshift"], function(s) {
                                var f = Dl[s],
                                    w = /^(?:push|sort|unshift)$/.test(s) ? "tap" : "thru",
                                    te = /^(?:pop|shift)$/.test(s);
                                $e.prototype[s] = function() {
                                    var xe = arguments;
                                    if (te && !this.__chain__) {
                                        var We = this.value();
                                        return f.apply(Ar(We) ? We : [], xe)
                                    }
                                    return this[w](function(ft) {
                                        return f.apply(Ar(ft) ? ft : [], xe)
                                    })
                                }
                            }), La(Ir.prototype, function(s, f) {
                                var w = $e[f];
                                if (w) {
                                    var te = w.name + "";
                                    de.call(qs, te) || (qs[te] = []), qs[te].push({
                                        name: f,
                                        func: w
                                    })
                                }
                            }), qs[ws(r, 2).name] = [{
                                name: "wrapper",
                                func: r
                            }], Ir.prototype.clone = function Ql() {
                                var s = new Ir(this.__wrapped__);
                                return s.__actions__ = Eo(this.__actions__), s.__dir__ = this.__dir__, s.__filtered__ = this.__filtered__, s.__iteratees__ = Eo(this.__iteratees__), s.__takeCount__ = this.__takeCount__, s.__views__ = Eo(this.__views__), s
                            }, Ir.prototype.reverse = function Yu() {
                                if (this.__filtered__) {
                                    var s = new Ir(this);
                                    s.__dir__ = -1, s.__filtered__ = !0
                                } else(s = this.clone()).__dir__ *= -1;
                                return s
                            }, Ir.prototype.value = function za() {
                                var s = this.__wrapped__.value(),
                                    f = this.__dir__,
                                    w = Ar(s),
                                    te = f < 0,
                                    xe = w ? s.length : 0,
                                    We = function hp(s, f, w) {
                                        for (var te = -1, xe = w.length; ++te < xe;) {
                                            var We = w[te],
                                                ft = We.size;
                                            switch (We.type) {
                                                case "drop":
                                                    s += ft;
                                                    break;
                                                case "dropRight":
                                                    f -= ft;
                                                    break;
                                                case "take":
                                                    f = fo(f, s + ft);
                                                    break;
                                                case "takeRight":
                                                    s = wo(s, f - ft)
                                            }
                                        }
                                        return {
                                            start: s,
                                            end: f
                                        }
                                    }(0, xe, this.__views__),
                                    ft = We.start,
                                    bt = We.end,
                                    Mt = bt - ft,
                                    ln = te ? bt : ft - 1,
                                    un = this.__iteratees__,
                                    gn = un.length,
                                    jn = 0,
                                    zn = fo(Mt, this.__takeCount__);
                                if (!w || !te && xe == Mt && zn == Mt) return Ce(s, this.__actions__);
                                var xr = [];
                                e: for (; Mt-- && jn < zn;) {
                                    for (var yr = -1, gr = s[ln += f]; ++yr < gn;) {
                                        var vi = un[yr],
                                            El = vi.type,
                                            ta = (0, vi.iteratee)(gr);
                                        if (2 == El) gr = ta;
                                        else if (!ta) {
                                            if (1 == El) continue e;
                                            break e
                                        }
                                    }
                                    xr[jn++] = gr
                                }
                                return xr
                            }, $e.prototype.at = hh, $e.prototype.chain = function bd() {
                                return Np(this)
                            }, $e.prototype.commit = function Rp() {
                                return new ns(this.value(), this.__chain__)
                            }, $e.prototype.next = function Bu() {
                                this.__values__ === r && (this.__values__ = Ds(this.value()));
                                var s = this.__index__ >= this.__values__.length;
                                return {
                                    done: s,
                                    value: s ? r : this.__values__[this.__index__++]
                                }
                            }, $e.prototype.plant = function Wh(s) {
                                for (var f, w = this; w instanceof Qs;) {
                                    var te = fd(w);
                                    te.__index__ = 0, te.__values__ = r, f ? xe.__wrapped__ = te : f = te;
                                    var xe = te;
                                    w = w.__wrapped__
                                }
                                return xe.__wrapped__ = s, f
                            }, $e.prototype.reverse = function Tm() {
                                var s = this.__wrapped__;
                                if (s instanceof Ir) {
                                    var f = s;
                                    return this.__actions__.length && (f = new Ir(this)), (f = f.reverse()).__actions__.push({
                                        func: yd,
                                        args: [gd],
                                        thisArg: r
                                    }), new ns(f, this.__chain__)
                                }
                                return this.thru(gd)
                            }, $e.prototype.toJSON = $e.prototype.valueOf = $e.prototype.value = function xd() {
                                return Ce(this.__wrapped__, this.__actions__)
                            }, $e.prototype.first = $e.prototype.head, Wo && ($e.prototype[Wo] = function Cd() {
                                return this
                            }), $e
                        }();
                    Di._ = Wl, (t = function() {
                        return Wl
                    }.call(he, _, he, Re)) !== r && (Re.exports = t)
                }.call(this)
        },
        3781: Re => {
            "use strict";
            class he extends Error {
                constructor(r) {
                    super(r || "Promise was canceled"), this.name = "CancelError"
                }
                get isCanceled() {
                    return !0
                }
            }
            class _ {
                static fn(r) {
                    return (...U) => new _((C, x, V) => {
                        U.push(V), r(...U).then(C, x)
                    })
                }
                constructor(r) {
                    this._cancelHandlers = [], this._isPending = !0, this._isCanceled = !1, this._rejectOnCancel = !0, this._promise = new Promise((U, C) => {
                        this._reject = C;
                        const P = $ => {
                            if (!this._isPending) throw new Error("The `onCancel` handler was attached after the promise settled.");
                            this._cancelHandlers.push($)
                        };
                        return Object.defineProperties(P, {
                            shouldReject: {
                                get: () => this._rejectOnCancel,
                                set: $ => {
                                    this._rejectOnCancel = $
                                }
                            }
                        }), r($ => {
                            (!this._isCanceled || !P.shouldReject) && (this._isPending = !1, U($))
                        }, $ => {
                            this._isPending = !1, C($)
                        }, P)
                    })
                }
                then(r, U) {
                    return this._promise.then(r, U)
                } catch (r) {
                    return this._promise.catch(r)
                } finally(r) {
                    return this._promise.finally(r)
                }
                cancel(r) {
                    if (this._isPending && !this._isCanceled) {
                        if (this._isCanceled = !0, this._cancelHandlers.length > 0) try {
                            for (const U of this._cancelHandlers) U()
                        } catch (U) {
                            return void this._reject(U)
                        }
                        this._rejectOnCancel && this._reject(new he(r))
                    }
                }
                get isCanceled() {
                    return this._isCanceled
                }
            }
            Object.setPrototypeOf(_.prototype, Promise.prototype), Re.exports = _, Re.exports.CancelError = he
        },
        1135: (Re, he, _) => {
            "use strict";
            _.d(he, {
                X: () => r
            });
            var t = _(7579);
            class r extends t.x {
                constructor(C) {
                    super(), this._value = C
                }
                get value() {
                    return this.getValue()
                }
                _subscribe(C) {
                    const x = super._subscribe(C);
                    return !x.closed && C.next(this._value), x
                }
                getValue() {
                    const {
                        hasError: C,
                        thrownError: x,
                        _value: V
                    } = this;
                    if (C) throw x;
                    return this._throwIfClosed(), V
                }
                next(C) {
                    super.next(this._value = C)
                }
            }
        },
        9751: (Re, he, _) => {
            "use strict";
            _.d(he, {
                y: () => $
            });
            var t = _(930),
                r = _(727),
                U = _(8822),
                C = _(9635),
                x = _(2416),
                V = _(576),
                P = _(2806);
            let $ = (() => {
                class k {
                    constructor(le) {
                        le && (this._subscribe = le)
                    }
                    lift(le) {
                        const oe = new k;
                        return oe.source = this, oe.operator = le, oe
                    }
                    subscribe(le, oe, Te) {
                        const Ae = function F(k) {
                            return k && k instanceof t.Lv || function G(k) {
                                return k && (0, V.m)(k.next) && (0, V.m)(k.error) && (0, V.m)(k.complete)
                            }(k) && (0, r.Nn)(k)
                        }(le) ? le : new t.Hp(le, oe, Te);
                        return (0, P.x)(() => {
                            const {
                                operator: ce,
                                source: be
                            } = this;
                            Ae.add(ce ? ce.call(Ae, be) : be ? this._subscribe(Ae) : this._trySubscribe(Ae))
                        }), Ae
                    }
                    _trySubscribe(le) {
                        try {
                            return this._subscribe(le)
                        } catch (oe) {
                            le.error(oe)
                        }
                    }
                    forEach(le, oe) {
                        return new(oe = K(oe))((Te, Ae) => {
                            const ce = new t.Hp({
                                next: be => {
                                    try {
                                        le(be)
                                    } catch (je) {
                                        Ae(je), ce.unsubscribe()
                                    }
                                },
                                error: Ae,
                                complete: Te
                            });
                            this.subscribe(ce)
                        })
                    }
                    _subscribe(le) {
                        var oe;
                        return null === (oe = this.source) || void 0 === oe ? void 0 : oe.subscribe(le)
                    }[U.L]() {
                        return this
                    }
                    pipe(...le) {
                        return (0, C.U)(le)(this)
                    }
                    toPromise(le) {
                        return new(le = K(le))((oe, Te) => {
                            let Ae;
                            this.subscribe(ce => Ae = ce, ce => Te(ce), () => oe(Ae))
                        })
                    }
                }
                return k.create = B => new k(B), k
            })();

            function K(k) {
                var B;
                return null !== (B = k ? ? x.v.Promise) && void 0 !== B ? B : Promise
            }
        },
        4707: (Re, he, _) => {
            "use strict";
            _.d(he, {
                t: () => U
            });
            var t = _(7579),
                r = _(6063);
            class U extends t.x {
                constructor(x = 1 / 0, V = 1 / 0, P = r.l) {
                    super(), this._bufferSize = x, this._windowTime = V, this._timestampProvider = P, this._buffer = [], this._infiniteTimeWindow = !0, this._infiniteTimeWindow = V === 1 / 0, this._bufferSize = Math.max(1, x), this._windowTime = Math.max(1, V)
                }
                next(x) {
                    const {
                        isStopped: V,
                        _buffer: P,
                        _infiniteTimeWindow: $,
                        _timestampProvider: K,
                        _windowTime: G
                    } = this;
                    V || (P.push(x), !$ && P.push(K.now() + G)), this._trimBuffer(), super.next(x)
                }
                _subscribe(x) {
                    this._throwIfClosed(), this._trimBuffer();
                    const V = this._innerSubscribe(x),
                        {
                            _infiniteTimeWindow: P,
                            _buffer: $
                        } = this,
                        K = $.slice();
                    for (let G = 0; G < K.length && !x.closed; G += P ? 1 : 2) x.next(K[G]);
                    return this._checkFinalizedStatuses(x), V
                }
                _trimBuffer() {
                    const {
                        _bufferSize: x,
                        _timestampProvider: V,
                        _buffer: P,
                        _infiniteTimeWindow: $
                    } = this, K = ($ ? 1 : 2) * x;
                    if (x < 1 / 0 && K < P.length && P.splice(0, P.length - K), !$) {
                        const G = V.now();
                        let F = 0;
                        for (let k = 1; k < P.length && P[k] <= G; k += 2) F = k;
                        F && P.splice(0, F + 1)
                    }
                }
            }
        },
        7579: (Re, he, _) => {
            "use strict";
            _.d(he, {
                x: () => P
            });
            var t = _(9751),
                r = _(727);
            const C = (0, _(3888).d)(K => function() {
                K(this), this.name = "ObjectUnsubscribedError", this.message = "object unsubscribed"
            });
            var x = _(8737),
                V = _(2806);
            let P = (() => {
                class K extends t.y {
                    constructor() {
                        super(), this.closed = !1, this.currentObservers = null, this.observers = [], this.isStopped = !1, this.hasError = !1, this.thrownError = null
                    }
                    lift(F) {
                        const k = new $(this, this);
                        return k.operator = F, k
                    }
                    _throwIfClosed() {
                        if (this.closed) throw new C
                    }
                    next(F) {
                        (0, V.x)(() => {
                            if (this._throwIfClosed(), !this.isStopped) {
                                this.currentObservers || (this.currentObservers = Array.from(this.observers));
                                for (const k of this.currentObservers) k.next(F)
                            }
                        })
                    }
                    error(F) {
                        (0, V.x)(() => {
                            if (this._throwIfClosed(), !this.isStopped) {
                                this.hasError = this.isStopped = !0, this.thrownError = F;
                                const {
                                    observers: k
                                } = this;
                                for (; k.length;) k.shift().error(F)
                            }
                        })
                    }
                    complete() {
                        (0, V.x)(() => {
                            if (this._throwIfClosed(), !this.isStopped) {
                                this.isStopped = !0;
                                const {
                                    observers: F
                                } = this;
                                for (; F.length;) F.shift().complete()
                            }
                        })
                    }
                    unsubscribe() {
                        this.isStopped = this.closed = !0, this.observers = this.currentObservers = null
                    }
                    get observed() {
                        var F;
                        return (null === (F = this.observers) || void 0 === F ? void 0 : F.length) > 0
                    }
                    _trySubscribe(F) {
                        return this._throwIfClosed(), super._trySubscribe(F)
                    }
                    _subscribe(F) {
                        return this._throwIfClosed(), this._checkFinalizedStatuses(F), this._innerSubscribe(F)
                    }
                    _innerSubscribe(F) {
                        const {
                            hasError: k,
                            isStopped: B,
                            observers: le
                        } = this;
                        return k || B ? r.Lc : (this.currentObservers = null, le.push(F), new r.w0(() => {
                            this.currentObservers = null, (0, x.P)(le, F)
                        }))
                    }
                    _checkFinalizedStatuses(F) {
                        const {
                            hasError: k,
                            thrownError: B,
                            isStopped: le
                        } = this;
                        k ? F.error(B) : le && F.complete()
                    }
                    asObservable() {
                        const F = new t.y;
                        return F.source = this, F
                    }
                }
                return K.create = (G, F) => new $(G, F), K
            })();
            class $ extends P {
                constructor(G, F) {
                    super(), this.destination = G, this.source = F
                }
                next(G) {
                    var F, k;
                    null === (k = null === (F = this.destination) || void 0 === F ? void 0 : F.next) || void 0 === k || k.call(F, G)
                }
                error(G) {
                    var F, k;
                    null === (k = null === (F = this.destination) || void 0 === F ? void 0 : F.error) || void 0 === k || k.call(F, G)
                }
                complete() {
                    var G, F;
                    null === (F = null === (G = this.destination) || void 0 === G ? void 0 : G.complete) || void 0 === F || F.call(G)
                }
                _subscribe(G) {
                    var F, k;
                    return null !== (k = null === (F = this.source) || void 0 === F ? void 0 : F.subscribe(G)) && void 0 !== k ? k : r.Lc
                }
            }
        },
        930: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Hp: () => Te,
                Lv: () => k
            });
            var t = _(576),
                r = _(727),
                U = _(2416),
                C = _(7849),
                x = _(5032);
            const V = K("C", void 0, void 0);

            function K(me, ge, _e) {
                return {
                    kind: me,
                    value: ge,
                    error: _e
                }
            }
            var G = _(3410),
                F = _(2806);
            class k extends r.w0 {
                constructor(ge) {
                    super(), this.isStopped = !1, ge ? (this.destination = ge, (0, r.Nn)(ge) && ge.add(this)) : this.destination = je
                }
                static create(ge, _e, we) {
                    return new Te(ge, _e, we)
                }
                next(ge) {
                    this.isStopped ? be(function $(me) {
                        return K("N", me, void 0)
                    }(ge), this) : this._next(ge)
                }
                error(ge) {
                    this.isStopped ? be(function P(me) {
                        return K("E", void 0, me)
                    }(ge), this) : (this.isStopped = !0, this._error(ge))
                }
                complete() {
                    this.isStopped ? be(V, this) : (this.isStopped = !0, this._complete())
                }
                unsubscribe() {
                    this.closed || (this.isStopped = !0, super.unsubscribe(), this.destination = null)
                }
                _next(ge) {
                    this.destination.next(ge)
                }
                _error(ge) {
                    try {
                        this.destination.error(ge)
                    } finally {
                        this.unsubscribe()
                    }
                }
                _complete() {
                    try {
                        this.destination.complete()
                    } finally {
                        this.unsubscribe()
                    }
                }
            }
            const B = Function.prototype.bind;

            function le(me, ge) {
                return B.call(me, ge)
            }
            class oe {
                constructor(ge) {
                    this.partialObserver = ge
                }
                next(ge) {
                    const {
                        partialObserver: _e
                    } = this;
                    if (_e.next) try {
                        _e.next(ge)
                    } catch (we) {
                        Ae(we)
                    }
                }
                error(ge) {
                    const {
                        partialObserver: _e
                    } = this;
                    if (_e.error) try {
                        _e.error(ge)
                    } catch (we) {
                        Ae(we)
                    } else Ae(ge)
                }
                complete() {
                    const {
                        partialObserver: ge
                    } = this;
                    if (ge.complete) try {
                        ge.complete()
                    } catch (_e) {
                        Ae(_e)
                    }
                }
            }
            class Te extends k {
                constructor(ge, _e, we) {
                    let ke;
                    if (super(), (0, t.m)(ge) || !ge) ke = {
                        next: ge ? ? void 0,
                        error: _e ? ? void 0,
                        complete: we ? ? void 0
                    };
                    else {
                        let Je;
                        this && U.v.useDeprecatedNextContext ? (Je = Object.create(ge), Je.unsubscribe = () => this.unsubscribe(), ke = {
                            next: ge.next && le(ge.next, Je),
                            error: ge.error && le(ge.error, Je),
                            complete: ge.complete && le(ge.complete, Je)
                        }) : ke = ge
                    }
                    this.destination = new oe(ke)
                }
            }

            function Ae(me) {
                U.v.useDeprecatedSynchronousErrorHandling ? (0, F.O)(me) : (0, C.h)(me)
            }

            function be(me, ge) {
                const {
                    onStoppedNotification: _e
                } = U.v;
                _e && G.z.setTimeout(() => _e(me, ge))
            }
            const je = {
                closed: !0,
                next: x.Z,
                error: function ce(me) {
                    throw me
                },
                complete: x.Z
            }
        },
        727: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Lc: () => V,
                w0: () => x,
                Nn: () => P
            });
            var t = _(576);
            const U = (0, _(3888).d)(K => function(F) {
                K(this), this.message = F ? `${F.length} errors occurred during unsubscription:\n${F.map((k,B)=>`${B+1}) ${k.toString()}`).join("\n  ")}` : "", this.name = "UnsubscriptionError", this.errors = F
            });
            var C = _(8737);
            class x {
                constructor(G) {
                    this.initialTeardown = G, this.closed = !1, this._parentage = null, this._finalizers = null
                }
                unsubscribe() {
                    let G;
                    if (!this.closed) {
                        this.closed = !0;
                        const {
                            _parentage: F
                        } = this;
                        if (F)
                            if (this._parentage = null, Array.isArray(F))
                                for (const le of F) le.remove(this);
                            else F.remove(this);
                        const {
                            initialTeardown: k
                        } = this;
                        if ((0, t.m)(k)) try {
                            k()
                        } catch (le) {
                            G = le instanceof U ? le.errors : [le]
                        }
                        const {
                            _finalizers: B
                        } = this;
                        if (B) {
                            this._finalizers = null;
                            for (const le of B) try {
                                $(le)
                            } catch (oe) {
                                G = G ? ? [], oe instanceof U ? G = [...G, ...oe.errors] : G.push(oe)
                            }
                        }
                        if (G) throw new U(G)
                    }
                }
                add(G) {
                    var F;
                    if (G && G !== this)
                        if (this.closed) $(G);
                        else {
                            if (G instanceof x) {
                                if (G.closed || G._hasParent(this)) return;
                                G._addParent(this)
                            }(this._finalizers = null !== (F = this._finalizers) && void 0 !== F ? F : []).push(G)
                        }
                }
                _hasParent(G) {
                    const {
                        _parentage: F
                    } = this;
                    return F === G || Array.isArray(F) && F.includes(G)
                }
                _addParent(G) {
                    const {
                        _parentage: F
                    } = this;
                    this._parentage = Array.isArray(F) ? (F.push(G), F) : F ? [F, G] : G
                }
                _removeParent(G) {
                    const {
                        _parentage: F
                    } = this;
                    F === G ? this._parentage = null : Array.isArray(F) && (0, C.P)(F, G)
                }
                remove(G) {
                    const {
                        _finalizers: F
                    } = this;
                    F && (0, C.P)(F, G), G instanceof x && G._removeParent(this)
                }
            }
            x.EMPTY = (() => {
                const K = new x;
                return K.closed = !0, K
            })();
            const V = x.EMPTY;

            function P(K) {
                return K instanceof x || K && "closed" in K && (0, t.m)(K.remove) && (0, t.m)(K.add) && (0, t.m)(K.unsubscribe)
            }

            function $(K) {
                (0, t.m)(K) ? K(): K.unsubscribe()
            }
        },
        2416: (Re, he, _) => {
            "use strict";
            _.d(he, {
                v: () => t
            });
            const t = {
                onUnhandledError: null,
                onStoppedNotification: null,
                Promise: void 0,
                useDeprecatedSynchronousErrorHandling: !1,
                useDeprecatedNextContext: !1
            }
        },
        9841: (Re, he, _) => {
            "use strict";
            _.d(he, {
                a: () => G
            });
            var t = _(9751),
                r = _(4742),
                U = _(457),
                C = _(4671),
                x = _(3268),
                V = _(3269),
                P = _(1810),
                $ = _(5403),
                K = _(9672);

            function G(...B) {
                const le = (0, V.yG)(B),
                    oe = (0, V.jO)(B),
                    {
                        args: Te,
                        keys: Ae
                    } = (0, r.D)(B);
                if (0 === Te.length) return (0, U.D)([], le);
                const ce = new t.y(function F(B, le, oe = C.y) {
                    return Te => {
                        k(le, () => {
                            const {
                                length: Ae
                            } = B, ce = new Array(Ae);
                            let be = Ae,
                                je = Ae;
                            for (let me = 0; me < Ae; me++) k(le, () => {
                                const ge = (0, U.D)(B[me], le);
                                let _e = !1;
                                ge.subscribe((0, $.x)(Te, we => {
                                    ce[me] = we, _e || (_e = !0, je--), je || Te.next(oe(ce.slice()))
                                }, () => {
                                    --be || Te.complete()
                                }))
                            }, Te)
                        }, Te)
                    }
                }(Te, le, Ae ? be => (0, P.n)(Ae, be) : C.y));
                return oe ? ce.pipe((0, x.Z)(oe)) : ce
            }

            function k(B, le, oe) {
                B ? (0, K.f)(oe, B, le) : le()
            }
        },
        7272: (Re, he, _) => {
            "use strict";
            _.d(he, {
                z: () => x
            });
            var t = _(8189),
                U = _(3269),
                C = _(457);

            function x(...V) {
                return function r() {
                    return (0, t.J)(1)
                }()((0, C.D)(V, (0, U.yG)(V)))
            }
        },
        9770: (Re, he, _) => {
            "use strict";
            _.d(he, {
                P: () => U
            });
            var t = _(9751),
                r = _(8421);

            function U(C) {
                return new t.y(x => {
                    (0, r.Xf)(C()).subscribe(x)
                })
            }
        },
        515: (Re, he, _) => {
            "use strict";
            _.d(he, {
                E: () => r
            });
            const r = new(_(9751).y)(x => x.complete())
        },
        4128: (Re, he, _) => {
            "use strict";
            _.d(he, {
                D: () => $
            });
            var t = _(9751),
                r = _(4742),
                U = _(8421),
                C = _(3269),
                x = _(5403),
                V = _(3268),
                P = _(1810);

            function $(...K) {
                const G = (0, C.jO)(K),
                    {
                        args: F,
                        keys: k
                    } = (0, r.D)(K),
                    B = new t.y(le => {
                        const {
                            length: oe
                        } = F;
                        if (!oe) return void le.complete();
                        const Te = new Array(oe);
                        let Ae = oe,
                            ce = oe;
                        for (let be = 0; be < oe; be++) {
                            let je = !1;
                            (0, U.Xf)(F[be]).subscribe((0, x.x)(le, me => {
                                je || (je = !0, ce--), Te[be] = me
                            }, () => Ae--, void 0, () => {
                                (!Ae || !je) && (ce || le.next(k ? (0, P.n)(k, Te) : Te), le.complete())
                            }))
                        }
                    });
                return G ? B.pipe((0, V.Z)(G)) : B
            }
        },
        457: (Re, he, _) => {
            "use strict";
            _.d(he, {
                D: () => _e
            });
            var t = _(8421),
                r = _(5363),
                U = _(4482);

            function C(we, ke = 0) {
                return (0, U.e)((Je, ue) => {
                    ue.add(we.schedule(() => Je.subscribe(ue), ke))
                })
            }
            var P = _(9751),
                K = _(2202),
                G = _(576),
                F = _(9672);

            function B(we, ke) {
                if (!we) throw new Error("Iterable cannot be null");
                return new P.y(Je => {
                    (0, F.f)(Je, ke, () => {
                        const ue = we[Symbol.asyncIterator]();
                        (0, F.f)(Je, ke, () => {
                            ue.next().then(Me => {
                                Me.done ? Je.complete() : Je.next(Me.value)
                            })
                        }, 0, !0)
                    })
                })
            }
            var le = _(3670),
                oe = _(8239),
                Te = _(1144),
                Ae = _(6495),
                ce = _(2206),
                be = _(4532),
                je = _(3260);

            function _e(we, ke) {
                return ke ? function ge(we, ke) {
                    if (null != we) {
                        if ((0, le.c)(we)) return function x(we, ke) {
                            return (0, t.Xf)(we).pipe(C(ke), (0, r.Q)(ke))
                        }(we, ke);
                        if ((0, Te.z)(we)) return function $(we, ke) {
                            return new P.y(Je => {
                                let ue = 0;
                                return ke.schedule(function() {
                                    ue === we.length ? Je.complete() : (Je.next(we[ue++]), Je.closed || this.schedule())
                                })
                            })
                        }(we, ke);
                        if ((0, oe.t)(we)) return function V(we, ke) {
                            return (0, t.Xf)(we).pipe(C(ke), (0, r.Q)(ke))
                        }(we, ke);
                        if ((0, ce.D)(we)) return B(we, ke);
                        if ((0, Ae.T)(we)) return function k(we, ke) {
                            return new P.y(Je => {
                                let ue;
                                return (0, F.f)(Je, ke, () => {
                                    ue = we[K.h](), (0, F.f)(Je, ke, () => {
                                        let Me, Ke;
                                        try {
                                            ({
                                                value: Me,
                                                done: Ke
                                            } = ue.next())
                                        } catch (Be) {
                                            return void Je.error(Be)
                                        }
                                        Ke ? Je.complete() : Je.next(Me)
                                    }, 0, !0)
                                }), () => (0, G.m)(ue ? .return) && ue.return()
                            })
                        }(we, ke);
                        if ((0, je.L)(we)) return function me(we, ke) {
                            return B((0, je.Q)(we), ke)
                        }(we, ke)
                    }
                    throw (0, be.z)(we)
                }(we, ke) : (0, t.Xf)(we)
            }
        },
        4968: (Re, he, _) => {
            "use strict";
            _.d(he, {
                R: () => G
            });
            var t = _(8421),
                r = _(9751),
                U = _(5577),
                C = _(1144),
                x = _(576),
                V = _(3268);
            const P = ["addListener", "removeListener"],
                $ = ["addEventListener", "removeEventListener"],
                K = ["on", "off"];

            function G(oe, Te, Ae, ce) {
                if ((0, x.m)(Ae) && (ce = Ae, Ae = void 0), ce) return G(oe, Te, Ae).pipe((0, V.Z)(ce));
                const [be, je] = function le(oe) {
                    return (0, x.m)(oe.addEventListener) && (0, x.m)(oe.removeEventListener)
                }(oe) ? $.map(me => ge => oe[me](Te, ge, Ae)): function k(oe) {
                    return (0, x.m)(oe.addListener) && (0, x.m)(oe.removeListener)
                }(oe) ? P.map(F(oe, Te)) : function B(oe) {
                    return (0, x.m)(oe.on) && (0, x.m)(oe.off)
                }(oe) ? K.map(F(oe, Te)) : [];
                if (!be && (0, C.z)(oe)) return (0, U.z)(me => G(me, Te, Ae))((0, t.Xf)(oe));
                if (!be) throw new TypeError("Invalid event target");
                return new r.y(me => {
                    const ge = (..._e) => me.next(1 < _e.length ? _e : _e[0]);
                    return be(ge), () => je(ge)
                })
            }

            function F(oe, Te) {
                return Ae => ce => oe[Ae](Te, ce)
            }
        },
        8421: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Xf: () => B
            });
            var t = _(7582),
                r = _(1144),
                U = _(8239),
                C = _(9751),
                x = _(3670),
                V = _(2206),
                P = _(4532),
                $ = _(6495),
                K = _(3260),
                G = _(576),
                F = _(7849),
                k = _(8822);

            function B(me) {
                if (me instanceof C.y) return me;
                if (null != me) {
                    if ((0, x.c)(me)) return function le(me) {
                        return new C.y(ge => {
                            const _e = me[k.L]();
                            if ((0, G.m)(_e.subscribe)) return _e.subscribe(ge);
                            throw new TypeError("Provided object does not correctly implement Symbol.observable")
                        })
                    }(me);
                    if ((0, r.z)(me)) return function oe(me) {
                        return new C.y(ge => {
                            for (let _e = 0; _e < me.length && !ge.closed; _e++) ge.next(me[_e]);
                            ge.complete()
                        })
                    }(me);
                    if ((0, U.t)(me)) return function Te(me) {
                        return new C.y(ge => {
                            me.then(_e => {
                                ge.closed || (ge.next(_e), ge.complete())
                            }, _e => ge.error(_e)).then(null, F.h)
                        })
                    }(me);
                    if ((0, V.D)(me)) return ce(me);
                    if ((0, $.T)(me)) return function Ae(me) {
                        return new C.y(ge => {
                            for (const _e of me)
                                if (ge.next(_e), ge.closed) return;
                            ge.complete()
                        })
                    }(me);
                    if ((0, K.L)(me)) return function be(me) {
                        return ce((0, K.Q)(me))
                    }(me)
                }
                throw (0, P.z)(me)
            }

            function ce(me) {
                return new C.y(ge => {
                    (function je(me, ge) {
                        var _e, we, ke, Je;
                        return (0, t.mG)(this, void 0, void 0, function*() {
                            try {
                                for (_e = (0, t.KL)(me); !(we = yield _e.next()).done;)
                                    if (ge.next(we.value), ge.closed) return
                            } catch (ue) {
                                ke = {
                                    error: ue
                                }
                            } finally {
                                try {
                                    we && !we.done && (Je = _e.return) && (yield Je.call(_e))
                                } finally {
                                    if (ke) throw ke.error
                                }
                            }
                            ge.complete()
                        })
                    })(me, ge).catch(_e => ge.error(_e))
                })
            }
        },
        6451: (Re, he, _) => {
            "use strict";
            _.d(he, {
                T: () => V
            });
            var t = _(8189),
                r = _(8421),
                U = _(515),
                C = _(3269),
                x = _(457);

            function V(...P) {
                const $ = (0, C.yG)(P),
                    K = (0, C._6)(P, 1 / 0),
                    G = P;
                return G.length ? 1 === G.length ? (0, r.Xf)(G[0]) : (0, t.J)(K)((0, x.D)(G, $)) : U.E
            }
        },
        9646: (Re, he, _) => {
            "use strict";
            _.d(he, { of: () => U
            });
            var t = _(3269),
                r = _(457);

            function U(...C) {
                const x = (0, t.yG)(C);
                return (0, r.D)(C, x)
            }
        },
        2843: (Re, he, _) => {
            "use strict";
            _.d(he, {
                _: () => U
            });
            var t = _(9751),
                r = _(576);

            function U(C, x) {
                const V = (0, r.m)(C) ? C : () => C,
                    P = $ => $.error(V());
                return new t.y(x ? $ => x.schedule(P, 0, $) : P)
            }
        },
        2805: (Re, he, _) => {
            "use strict";
            _.d(he, {
                H: () => x
            });
            var t = _(9751),
                r = _(4986),
                U = _(3532),
                C = _(1165);

            function x(V = 0, P, $ = r.P) {
                let K = -1;
                return null != P && ((0, U.K)(P) ? $ = P : K = P), new t.y(G => {
                    let F = (0, C.q)(V) ? +V - $.now() : V;
                    F < 0 && (F = 0);
                    let k = 0;
                    return $.schedule(function() {
                        G.closed || (G.next(k++), 0 <= K ? this.schedule(void 0, K) : G.complete())
                    }, F)
                })
            }
        },
        5403: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Q: () => U,
                x: () => r
            });
            var t = _(930);

            function r(C, x, V, P, $) {
                return new U(C, x, V, P, $)
            }
            class U extends t.Lv {
                constructor(x, V, P, $, K, G) {
                    super(x), this.onFinalize = K, this.shouldUnsubscribe = G, this._next = V ? function(F) {
                        try {
                            V(F)
                        } catch (k) {
                            x.error(k)
                        }
                    } : super._next, this._error = $ ? function(F) {
                        try {
                            $(F)
                        } catch (k) {
                            x.error(k)
                        } finally {
                            this.unsubscribe()
                        }
                    } : super._error, this._complete = P ? function() {
                        try {
                            P()
                        } catch (F) {
                            x.error(F)
                        } finally {
                            this.unsubscribe()
                        }
                    } : super._complete
                }
                unsubscribe() {
                    var x;
                    if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
                        const {
                            closed: V
                        } = this;
                        super.unsubscribe(), !V && (null === (x = this.onFinalize) || void 0 === x || x.call(this))
                    }
                }
            }
        },
        262: (Re, he, _) => {
            "use strict";
            _.d(he, {
                K: () => C
            });
            var t = _(8421),
                r = _(5403),
                U = _(4482);

            function C(x) {
                return (0, U.e)((V, P) => {
                    let G, $ = null,
                        K = !1;
                    $ = V.subscribe((0, r.x)(P, void 0, void 0, F => {
                        G = (0, t.Xf)(x(F, C(x)(V))), $ ? ($.unsubscribe(), $ = null, G.subscribe(P)) : K = !0
                    })), K && ($.unsubscribe(), $ = null, G.subscribe(P))
                })
            }
        },
        4351: (Re, he, _) => {
            "use strict";
            _.d(he, {
                b: () => U
            });
            var t = _(5577),
                r = _(576);

            function U(C, x) {
                return (0, r.m)(x) ? (0, t.z)(C, x, 1) : (0, t.z)(C, 1)
            }
        },
        8372: (Re, he, _) => {
            "use strict";
            _.d(he, {
                b: () => C
            });
            var t = _(4986),
                r = _(4482),
                U = _(5403);

            function C(x, V = t.z) {
                return (0, r.e)((P, $) => {
                    let K = null,
                        G = null,
                        F = null;
                    const k = () => {
                        if (K) {
                            K.unsubscribe(), K = null;
                            const le = G;
                            G = null, $.next(le)
                        }
                    };

                    function B() {
                        const le = F + x,
                            oe = V.now();
                        if (oe < le) return K = this.schedule(void 0, le - oe), void $.add(K);
                        k()
                    }
                    P.subscribe((0, U.x)($, le => {
                        G = le, F = V.now(), K || (K = V.schedule(B, x), $.add(K))
                    }, () => {
                        k(), $.complete()
                    }, void 0, () => {
                        G = K = null
                    }))
                })
            }
        },
        6590: (Re, he, _) => {
            "use strict";
            _.d(he, {
                d: () => U
            });
            var t = _(4482),
                r = _(5403);

            function U(C) {
                return (0, t.e)((x, V) => {
                    let P = !1;
                    x.subscribe((0, r.x)(V, $ => {
                        P = !0, V.next($)
                    }, () => {
                        P || V.next(C), V.complete()
                    }))
                })
            }
        },
        4086: (Re, he, _) => {
            "use strict";
            _.d(he, {
                g: () => K
            });
            var t = _(4986),
                r = _(7272),
                U = _(5698),
                C = _(8502),
                x = _(9718),
                V = _(5577);

            function P(G, F) {
                return F ? k => (0, r.z)(F.pipe((0, U.q)(1), (0, C.l)()), k.pipe(P(G))) : (0, V.z)((k, B) => G(k, B).pipe((0, U.q)(1), (0, x.h)(k)))
            }
            var $ = _(2805);

            function K(G, F = t.z) {
                const k = (0, $.H)(G, F);
                return P(() => k)
            }
        },
        1884: (Re, he, _) => {
            "use strict";
            _.d(he, {
                x: () => C
            });
            var t = _(4671),
                r = _(4482),
                U = _(5403);

            function C(V, P = t.y) {
                return V = V ? ? x, (0, r.e)(($, K) => {
                    let G, F = !0;
                    $.subscribe((0, U.x)(K, k => {
                        const B = P(k);
                        (F || !V(G, B)) && (F = !1, G = B, K.next(k))
                    }))
                })
            }

            function x(V, P) {
                return V === P
            }
        },
        9300: (Re, he, _) => {
            "use strict";
            _.d(he, {
                h: () => U
            });
            var t = _(4482),
                r = _(5403);

            function U(C, x) {
                return (0, t.e)((V, P) => {
                    let $ = 0;
                    V.subscribe((0, r.x)(P, K => C.call(x, K, $++) && P.next(K)))
                })
            }
        },
        8746: (Re, he, _) => {
            "use strict";
            _.d(he, {
                x: () => r
            });
            var t = _(4482);

            function r(U) {
                return (0, t.e)((C, x) => {
                    try {
                        C.subscribe(x)
                    } finally {
                        x.add(U)
                    }
                })
            }
        },
        590: (Re, he, _) => {
            "use strict";
            _.d(he, {
                P: () => P
            });
            var t = _(6805),
                r = _(9300),
                U = _(5698),
                C = _(6590),
                x = _(8068),
                V = _(4671);

            function P($, K) {
                const G = arguments.length >= 2;
                return F => F.pipe($ ? (0, r.h)((k, B) => $(k, B, F)) : V.y, (0, U.q)(1), G ? (0, C.d)(K) : (0, x.T)(() => new t.K))
            }
        },
        8502: (Re, he, _) => {
            "use strict";
            _.d(he, {
                l: () => C
            });
            var t = _(4482),
                r = _(5403),
                U = _(5032);

            function C() {
                return (0, t.e)((x, V) => {
                    x.subscribe((0, r.x)(V, U.Z))
                })
            }
        },
        4004: (Re, he, _) => {
            "use strict";
            _.d(he, {
                U: () => U
            });
            var t = _(4482),
                r = _(5403);

            function U(C, x) {
                return (0, t.e)((V, P) => {
                    let $ = 0;
                    V.subscribe((0, r.x)(P, K => {
                        P.next(C.call(x, K, $++))
                    }))
                })
            }
        },
        9718: (Re, he, _) => {
            "use strict";
            _.d(he, {
                h: () => r
            });
            var t = _(4004);

            function r(U) {
                return (0, t.U)(() => U)
            }
        },
        8189: (Re, he, _) => {
            "use strict";
            _.d(he, {
                J: () => U
            });
            var t = _(5577),
                r = _(4671);

            function U(C = 1 / 0) {
                return (0, t.z)(r.y, C)
            }
        },
        5577: (Re, he, _) => {
            "use strict";
            _.d(he, {
                z: () => $
            });
            var t = _(4004),
                r = _(8421),
                U = _(4482),
                C = _(9672),
                x = _(5403),
                P = _(576);

            function $(K, G, F = 1 / 0) {
                return (0, P.m)(G) ? $((k, B) => (0, t.U)((le, oe) => G(k, le, B, oe))((0, r.Xf)(K(k, B))), F) : ("number" == typeof G && (F = G), (0, U.e)((k, B) => function V(K, G, F, k, B, le, oe, Te) {
                    const Ae = [];
                    let ce = 0,
                        be = 0,
                        je = !1;
                    const me = () => {
                            je && !Ae.length && !ce && G.complete()
                        },
                        ge = we => ce < k ? _e(we) : Ae.push(we),
                        _e = we => {
                            le && G.next(we), ce++;
                            let ke = !1;
                            (0, r.Xf)(F(we, be++)).subscribe((0, x.x)(G, Je => {
                                B ? .(Je), le ? ge(Je) : G.next(Je)
                            }, () => {
                                ke = !0
                            }, void 0, () => {
                                if (ke) try {
                                    for (ce--; Ae.length && ce < k;) {
                                        const Je = Ae.shift();
                                        oe ? (0, C.f)(G, oe, () => _e(Je)) : _e(Je)
                                    }
                                    me()
                                } catch (Je) {
                                    G.error(Je)
                                }
                            }))
                        };
                    return K.subscribe((0, x.x)(G, ge, () => {
                        je = !0, me()
                    })), () => {
                        Te ? .()
                    }
                }(k, B, K, F)))
            }
        },
        5363: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Q: () => C
            });
            var t = _(9672),
                r = _(4482),
                U = _(5403);

            function C(x, V = 0) {
                return (0, r.e)((P, $) => {
                    P.subscribe((0, U.x)($, K => (0, t.f)($, x, () => $.next(K), V), () => (0, t.f)($, x, () => $.complete(), V), K => (0, t.f)($, x, () => $.error(K), V)))
                })
            }
        },
        5026: (Re, he, _) => {
            "use strict";
            _.d(he, {
                R: () => C
            });
            var t = _(4482),
                r = _(5403);

            function U(x, V, P, $, K) {
                return (G, F) => {
                    let k = P,
                        B = V,
                        le = 0;
                    G.subscribe((0, r.x)(F, oe => {
                        const Te = le++;
                        B = k ? x(B, oe, Te) : (k = !0, oe), $ && F.next(B)
                    }, K && (() => {
                        k && F.next(B), F.complete()
                    })))
                }
            }

            function C(x, V) {
                return (0, t.e)(U(x, V, arguments.length >= 2, !0))
            }
        },
        3099: (Re, he, _) => {
            "use strict";
            _.d(he, {
                B: () => x
            });
            var t = _(8421),
                r = _(7579),
                U = _(930),
                C = _(4482);

            function x(P = {}) {
                const {
                    connector: $ = (() => new r.x),
                    resetOnError: K = !0,
                    resetOnComplete: G = !0,
                    resetOnRefCountZero: F = !0
                } = P;
                return k => {
                    let B, le, oe, Te = 0,
                        Ae = !1,
                        ce = !1;
                    const be = () => {
                            le ? .unsubscribe(), le = void 0
                        },
                        je = () => {
                            be(), B = oe = void 0, Ae = ce = !1
                        },
                        me = () => {
                            const ge = B;
                            je(), ge ? .unsubscribe()
                        };
                    return (0, C.e)((ge, _e) => {
                        Te++, !ce && !Ae && be();
                        const we = oe = oe ? ? $();
                        _e.add(() => {
                            Te--, 0 === Te && !ce && !Ae && (le = V(me, F))
                        }), we.subscribe(_e), !B && Te > 0 && (B = new U.Hp({
                            next: ke => we.next(ke),
                            error: ke => {
                                ce = !0, be(), le = V(je, K, ke), we.error(ke)
                            },
                            complete: () => {
                                Ae = !0, be(), le = V(je, G), we.complete()
                            }
                        }), (0, t.Xf)(ge).subscribe(B))
                    })(k)
                }
            }

            function V(P, $, ...K) {
                if (!0 === $) return void P();
                if (!1 === $) return;
                const G = new U.Hp({
                    next: () => {
                        G.unsubscribe(), P()
                    }
                });
                return $(...K).subscribe(G)
            }
        },
        5684: (Re, he, _) => {
            "use strict";
            _.d(he, {
                T: () => r
            });
            var t = _(9300);

            function r(U) {
                return (0, t.h)((C, x) => U <= x)
            }
        },
        8675: (Re, he, _) => {
            "use strict";
            _.d(he, {
                O: () => C
            });
            var t = _(7272),
                r = _(3269),
                U = _(4482);

            function C(...x) {
                const V = (0, r.yG)(x);
                return (0, U.e)((P, $) => {
                    (V ? (0, t.z)(x, P, V) : (0, t.z)(x, P)).subscribe($)
                })
            }
        },
        3900: (Re, he, _) => {
            "use strict";
            _.d(he, {
                w: () => C
            });
            var t = _(8421),
                r = _(4482),
                U = _(5403);

            function C(x, V) {
                return (0, r.e)((P, $) => {
                    let K = null,
                        G = 0,
                        F = !1;
                    const k = () => F && !K && $.complete();
                    P.subscribe((0, U.x)($, B => {
                        K ? .unsubscribe();
                        let le = 0;
                        const oe = G++;
                        (0, t.Xf)(x(B, oe)).subscribe(K = (0, U.x)($, Te => $.next(V ? V(B, Te, oe, le++) : Te), () => {
                            K = null, k()
                        }))
                    }, () => {
                        F = !0, k()
                    }))
                })
            }
        },
        5698: (Re, he, _) => {
            "use strict";
            _.d(he, {
                q: () => C
            });
            var t = _(515),
                r = _(4482),
                U = _(5403);

            function C(x) {
                return x <= 0 ? () => t.E : (0, r.e)((V, P) => {
                    let $ = 0;
                    V.subscribe((0, U.x)(P, K => {
                        ++$ <= x && (P.next(K), x <= $ && P.complete())
                    }))
                })
            }
        },
        2722: (Re, he, _) => {
            "use strict";
            _.d(he, {
                R: () => x
            });
            var t = _(4482),
                r = _(5403),
                U = _(8421),
                C = _(5032);

            function x(V) {
                return (0, t.e)((P, $) => {
                    (0, U.Xf)(V).subscribe((0, r.x)($, () => $.complete(), C.Z)), !$.closed && P.subscribe($)
                })
            }
        },
        8505: (Re, he, _) => {
            "use strict";
            _.d(he, {
                b: () => x
            });
            var t = _(576),
                r = _(4482),
                U = _(5403),
                C = _(4671);

            function x(V, P, $) {
                const K = (0, t.m)(V) || P || $ ? {
                    next: V,
                    error: P,
                    complete: $
                } : V;
                return K ? (0, r.e)((G, F) => {
                    var k;
                    null === (k = K.subscribe) || void 0 === k || k.call(K);
                    let B = !0;
                    G.subscribe((0, U.x)(F, le => {
                        var oe;
                        null === (oe = K.next) || void 0 === oe || oe.call(K, le), F.next(le)
                    }, () => {
                        var le;
                        B = !1, null === (le = K.complete) || void 0 === le || le.call(K), F.complete()
                    }, le => {
                        var oe;
                        B = !1, null === (oe = K.error) || void 0 === oe || oe.call(K, le), F.error(le)
                    }, () => {
                        var le, oe;
                        B && (null === (le = K.unsubscribe) || void 0 === le || le.call(K)), null === (oe = K.finalize) || void 0 === oe || oe.call(K)
                    }))
                }) : C.y
            }
        },
        8068: (Re, he, _) => {
            "use strict";
            _.d(he, {
                T: () => C
            });
            var t = _(6805),
                r = _(4482),
                U = _(5403);

            function C(V = x) {
                return (0, r.e)((P, $) => {
                    let K = !1;
                    P.subscribe((0, U.x)($, G => {
                        K = !0, $.next(G)
                    }, () => K ? $.complete() : $.error(V())))
                })
            }

            function x() {
                return new t.K
            }
        },
        7414: (Re, he, _) => {
            "use strict";
            _.d(he, {
                V: () => K
            });
            var t = _(4986),
                r = _(1165),
                U = _(4482),
                C = _(8421),
                x = _(3888),
                V = _(5403),
                P = _(9672);
            const $ = (0, x.d)(F => function(B = null) {
                F(this), this.message = "Timeout has occurred", this.name = "TimeoutError", this.info = B
            });

            function K(F, k) {
                const {
                    first: B,
                    each: le,
                    with: oe = G,
                    scheduler: Te = k ? ? t.z,
                    meta: Ae = null
                } = (0, r.q)(F) ? {
                    first: F
                } : "number" == typeof F ? {
                    each: F
                } : F;
                if (null == B && null == le) throw new TypeError("No timeout provided.");
                return (0, U.e)((ce, be) => {
                    let je, me, ge = null,
                        _e = 0;
                    const we = ke => {
                        me = (0, P.f)(be, Te, () => {
                            try {
                                je.unsubscribe(), (0, C.Xf)(oe({
                                    meta: Ae,
                                    lastValue: ge,
                                    seen: _e
                                })).subscribe(be)
                            } catch (Je) {
                                be.error(Je)
                            }
                        }, ke)
                    };
                    je = ce.subscribe((0, V.x)(be, ke => {
                        me ? .unsubscribe(), _e++, be.next(ge = ke), le > 0 && we(le)
                    }, void 0, void 0, () => {
                        me ? .closed || me ? .unsubscribe(), ge = null
                    })), !_e && we(null != B ? "number" == typeof B ? B : +B - Te.now() : le)
                })
            }

            function G(F) {
                throw new $(F)
            }
        },
        1365: (Re, he, _) => {
            "use strict";
            _.d(he, {
                M: () => P
            });
            var t = _(4482),
                r = _(5403),
                U = _(8421),
                C = _(4671),
                x = _(5032),
                V = _(3269);

            function P(...$) {
                const K = (0, V.jO)($);
                return (0, t.e)((G, F) => {
                    const k = $.length,
                        B = new Array(k);
                    let le = $.map(() => !1),
                        oe = !1;
                    for (let Te = 0; Te < k; Te++)(0, U.Xf)($[Te]).subscribe((0, r.x)(F, Ae => {
                        B[Te] = Ae, !oe && !le[Te] && (le[Te] = !0, (oe = le.every(C.y)) && (le = null))
                    }, x.Z));
                    G.subscribe((0, r.x)(F, Te => {
                        if (oe) {
                            const Ae = [Te, ...B];
                            F.next(K ? K(...Ae) : Ae)
                        }
                    }))
                })
            }
        },
        4408: (Re, he, _) => {
            "use strict";
            _.d(he, {
                o: () => x
            });
            var t = _(727);
            class r extends t.w0 {
                constructor(P, $) {
                    super()
                }
                schedule(P, $ = 0) {
                    return this
                }
            }
            const U = {
                setInterval(V, P, ...$) {
                    const {
                        delegate: K
                    } = U;
                    return K ? .setInterval ? K.setInterval(V, P, ...$) : setInterval(V, P, ...$)
                },
                clearInterval(V) {
                    const {
                        delegate: P
                    } = U;
                    return (P ? .clearInterval || clearInterval)(V)
                },
                delegate: void 0
            };
            var C = _(8737);
            class x extends r {
                constructor(P, $) {
                    super(P, $), this.scheduler = P, this.work = $, this.pending = !1
                }
                schedule(P, $ = 0) {
                    var K;
                    if (this.closed) return this;
                    this.state = P;
                    const G = this.id,
                        F = this.scheduler;
                    return null != G && (this.id = this.recycleAsyncId(F, G, $)), this.pending = !0, this.delay = $, this.id = null !== (K = this.id) && void 0 !== K ? K : this.requestAsyncId(F, this.id, $), this
                }
                requestAsyncId(P, $, K = 0) {
                    return U.setInterval(P.flush.bind(P, this), K)
                }
                recycleAsyncId(P, $, K = 0) {
                    if (null != K && this.delay === K && !1 === this.pending) return $;
                    null != $ && U.clearInterval($)
                }
                execute(P, $) {
                    if (this.closed) return new Error("executing a cancelled action");
                    this.pending = !1;
                    const K = this._execute(P, $);
                    if (K) return K;
                    !1 === this.pending && null != this.id && (this.id = this.recycleAsyncId(this.scheduler, this.id, null))
                }
                _execute(P, $) {
                    let G, K = !1;
                    try {
                        this.work(P)
                    } catch (F) {
                        K = !0, G = F || new Error("Scheduled action threw falsy error")
                    }
                    if (K) return this.unsubscribe(), G
                }
                unsubscribe() {
                    if (!this.closed) {
                        const {
                            id: P,
                            scheduler: $
                        } = this, {
                            actions: K
                        } = $;
                        this.work = this.state = this.scheduler = null, this.pending = !1, (0, C.P)(K, this), null != P && (this.id = this.recycleAsyncId($, P, null)), this.delay = null, super.unsubscribe()
                    }
                }
            }
        },
        7565: (Re, he, _) => {
            "use strict";
            _.d(he, {
                v: () => U
            });
            var t = _(6063);
            class r {
                constructor(x, V = r.now) {
                    this.schedulerActionCtor = x, this.now = V
                }
                schedule(x, V = 0, P) {
                    return new this.schedulerActionCtor(this, x).schedule(P, V)
                }
            }
            r.now = t.l.now;
            class U extends r {
                constructor(x, V = r.now) {
                    super(x, V), this.actions = [], this._active = !1
                }
                flush(x) {
                    const {
                        actions: V
                    } = this;
                    if (this._active) return void V.push(x);
                    let P;
                    this._active = !0;
                    do {
                        if (P = x.execute(x.state, x.delay)) break
                    } while (x = V.shift());
                    if (this._active = !1, P) {
                        for (; x = V.shift();) x.unsubscribe();
                        throw P
                    }
                }
            }
        },
        6406: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Z: () => P
            });
            var t = _(4408),
                r = _(727);
            const U = {
                schedule(K) {
                    let G = requestAnimationFrame,
                        F = cancelAnimationFrame;
                    const {
                        delegate: k
                    } = U;
                    k && (G = k.requestAnimationFrame, F = k.cancelAnimationFrame);
                    const B = G(le => {
                        F = void 0, K(le)
                    });
                    return new r.w0(() => F ? .(B))
                },
                requestAnimationFrame(...K) {
                    const {
                        delegate: G
                    } = U;
                    return (G ? .requestAnimationFrame || requestAnimationFrame)(...K)
                },
                cancelAnimationFrame(...K) {
                    const {
                        delegate: G
                    } = U;
                    return (G ? .cancelAnimationFrame || cancelAnimationFrame)(...K)
                },
                delegate: void 0
            };
            var x = _(7565);
            const P = new class V extends x.v {
                flush(G) {
                    this._active = !0;
                    const F = this._scheduled;
                    this._scheduled = void 0;
                    const {
                        actions: k
                    } = this;
                    let B;
                    G = G || k.shift();
                    do {
                        if (B = G.execute(G.state, G.delay)) break
                    } while ((G = k[0]) && G.id === F && k.shift());
                    if (this._active = !1, B) {
                        for (;
                            (G = k[0]) && G.id === F && k.shift();) G.unsubscribe();
                        throw B
                    }
                }
            }(class C extends t.o {
                constructor(G, F) {
                    super(G, F), this.scheduler = G, this.work = F
                }
                requestAsyncId(G, F, k = 0) {
                    return null !== k && k > 0 ? super.requestAsyncId(G, F, k) : (G.actions.push(this), G._scheduled || (G._scheduled = U.requestAnimationFrame(() => G.flush(void 0))))
                }
                recycleAsyncId(G, F, k = 0) {
                    var B;
                    if (null != k ? k > 0 : this.delay > 0) return super.recycleAsyncId(G, F, k);
                    const {
                        actions: le
                    } = G;
                    null != F && (null === (B = le[le.length - 1]) || void 0 === B ? void 0 : B.id) !== F && (U.cancelAnimationFrame(F), G._scheduled = void 0)
                }
            })
        },
        4986: (Re, he, _) => {
            "use strict";
            _.d(he, {
                P: () => C,
                z: () => U
            });
            var t = _(4408);
            const U = new(_(7565).v)(t.o),
                C = U
        },
        6063: (Re, he, _) => {
            "use strict";
            _.d(he, {
                l: () => t
            });
            const t = {
                now: () => (t.delegate || Date).now(),
                delegate: void 0
            }
        },
        233: (Re, he, _) => {
            "use strict";
            _.d(he, {
                N: () => x
            });
            var t = _(4408),
                U = _(7565);
            const x = new class C extends U.v {}(class r extends t.o {
                constructor($, K) {
                    super($, K), this.scheduler = $, this.work = K
                }
                schedule($, K = 0) {
                    return K > 0 ? super.schedule($, K) : (this.delay = K, this.state = $, this.scheduler.flush(this), this)
                }
                execute($, K) {
                    return K > 0 || this.closed ? super.execute($, K) : this._execute($, K)
                }
                requestAsyncId($, K, G = 0) {
                    return null != G && G > 0 || null == G && this.delay > 0 ? super.requestAsyncId($, K, G) : ($.flush(this), 0)
                }
            })
        },
        3410: (Re, he, _) => {
            "use strict";
            _.d(he, {
                z: () => t
            });
            const t = {
                setTimeout(r, U, ...C) {
                    const {
                        delegate: x
                    } = t;
                    return x ? .setTimeout ? x.setTimeout(r, U, ...C) : setTimeout(r, U, ...C)
                },
                clearTimeout(r) {
                    const {
                        delegate: U
                    } = t;
                    return (U ? .clearTimeout || clearTimeout)(r)
                },
                delegate: void 0
            }
        },
        2202: (Re, he, _) => {
            "use strict";
            _.d(he, {
                h: () => r
            });
            const r = function t() {
                return "function" == typeof Symbol && Symbol.iterator ? Symbol.iterator : "@@iterator"
            }()
        },
        8822: (Re, he, _) => {
            "use strict";
            _.d(he, {
                L: () => t
            });
            const t = "function" == typeof Symbol && Symbol.observable || "@@observable"
        },
        6805: (Re, he, _) => {
            "use strict";
            _.d(he, {
                K: () => r
            });
            const r = (0, _(3888).d)(U => function() {
                U(this), this.name = "EmptyError", this.message = "no elements in sequence"
            })
        },
        3269: (Re, he, _) => {
            "use strict";
            _.d(he, {
                _6: () => V,
                jO: () => C,
                yG: () => x
            });
            var t = _(576),
                r = _(3532);

            function U(P) {
                return P[P.length - 1]
            }

            function C(P) {
                return (0, t.m)(U(P)) ? P.pop() : void 0
            }

            function x(P) {
                return (0, r.K)(U(P)) ? P.pop() : void 0
            }

            function V(P, $) {
                return "number" == typeof U(P) ? P.pop() : $
            }
        },
        4742: (Re, he, _) => {
            "use strict";
            _.d(he, {
                D: () => x
            });
            const {
                isArray: t
            } = Array, {
                getPrototypeOf: r,
                prototype: U,
                keys: C
            } = Object;

            function x(P) {
                if (1 === P.length) {
                    const $ = P[0];
                    if (t($)) return {
                        args: $,
                        keys: null
                    };
                    if (function V(P) {
                            return P && "object" == typeof P && r(P) === U
                        }($)) {
                        const K = C($);
                        return {
                            args: K.map(G => $[G]),
                            keys: K
                        }
                    }
                }
                return {
                    args: P,
                    keys: null
                }
            }
        },
        8737: (Re, he, _) => {
            "use strict";

            function t(r, U) {
                if (r) {
                    const C = r.indexOf(U);
                    0 <= C && r.splice(C, 1)
                }
            }
            _.d(he, {
                P: () => t
            })
        },
        3888: (Re, he, _) => {
            "use strict";

            function t(r) {
                const C = r(x => {
                    Error.call(x), x.stack = (new Error).stack
                });
                return C.prototype = Object.create(Error.prototype), C.prototype.constructor = C, C
            }
            _.d(he, {
                d: () => t
            })
        },
        1810: (Re, he, _) => {
            "use strict";

            function t(r, U) {
                return r.reduce((C, x, V) => (C[x] = U[V], C), {})
            }
            _.d(he, {
                n: () => t
            })
        },
        2806: (Re, he, _) => {
            "use strict";
            _.d(he, {
                O: () => C,
                x: () => U
            });
            var t = _(2416);
            let r = null;

            function U(x) {
                if (t.v.useDeprecatedSynchronousErrorHandling) {
                    const V = !r;
                    if (V && (r = {
                            errorThrown: !1,
                            error: null
                        }), x(), V) {
                        const {
                            errorThrown: P,
                            error: $
                        } = r;
                        if (r = null, P) throw $
                    }
                } else x()
            }

            function C(x) {
                t.v.useDeprecatedSynchronousErrorHandling && r && (r.errorThrown = !0, r.error = x)
            }
        },
        9672: (Re, he, _) => {
            "use strict";

            function t(r, U, C, x = 0, V = !1) {
                const P = U.schedule(function() {
                    C(), V ? r.add(this.schedule(null, x)) : this.unsubscribe()
                }, x);
                if (r.add(P), !V) return P
            }
            _.d(he, {
                f: () => t
            })
        },
        4671: (Re, he, _) => {
            "use strict";

            function t(r) {
                return r
            }
            _.d(he, {
                y: () => t
            })
        },
        1144: (Re, he, _) => {
            "use strict";
            _.d(he, {
                z: () => t
            });
            const t = r => r && "number" == typeof r.length && "function" != typeof r
        },
        2206: (Re, he, _) => {
            "use strict";
            _.d(he, {
                D: () => r
            });
            var t = _(576);

            function r(U) {
                return Symbol.asyncIterator && (0, t.m)(U ? .[Symbol.asyncIterator])
            }
        },
        1165: (Re, he, _) => {
            "use strict";

            function t(r) {
                return r instanceof Date && !isNaN(r)
            }
            _.d(he, {
                q: () => t
            })
        },
        576: (Re, he, _) => {
            "use strict";

            function t(r) {
                return "function" == typeof r
            }
            _.d(he, {
                m: () => t
            })
        },
        3670: (Re, he, _) => {
            "use strict";
            _.d(he, {
                c: () => U
            });
            var t = _(8822),
                r = _(576);

            function U(C) {
                return (0, r.m)(C[t.L])
            }
        },
        6495: (Re, he, _) => {
            "use strict";
            _.d(he, {
                T: () => U
            });
            var t = _(2202),
                r = _(576);

            function U(C) {
                return (0, r.m)(C ? .[t.h])
            }
        },
        8239: (Re, he, _) => {
            "use strict";
            _.d(he, {
                t: () => r
            });
            var t = _(576);

            function r(U) {
                return (0, t.m)(U ? .then)
            }
        },
        3260: (Re, he, _) => {
            "use strict";
            _.d(he, {
                L: () => C,
                Q: () => U
            });
            var t = _(7582),
                r = _(576);

            function U(x) {
                return (0, t.FC)(this, arguments, function*() {
                    const P = x.getReader();
                    try {
                        for (;;) {
                            const {
                                value: $,
                                done: K
                            } = yield(0, t.qq)(P.read());
                            if (K) return yield(0, t.qq)(void 0);
                            yield yield(0, t.qq)($)
                        }
                    } finally {
                        P.releaseLock()
                    }
                })
            }

            function C(x) {
                return (0, r.m)(x ? .getReader)
            }
        },
        3532: (Re, he, _) => {
            "use strict";
            _.d(he, {
                K: () => r
            });
            var t = _(576);

            function r(U) {
                return U && (0, t.m)(U.schedule)
            }
        },
        4482: (Re, he, _) => {
            "use strict";
            _.d(he, {
                A: () => r,
                e: () => U
            });
            var t = _(576);

            function r(C) {
                return (0, t.m)(C ? .lift)
            }

            function U(C) {
                return x => {
                    if (r(x)) return x.lift(function(V) {
                        try {
                            return C(V, this)
                        } catch (P) {
                            this.error(P)
                        }
                    });
                    throw new TypeError("Unable to lift unknown Observable type")
                }
            }
        },
        3268: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Z: () => C
            });
            var t = _(4004);
            const {
                isArray: r
            } = Array;

            function C(x) {
                return (0, t.U)(V => function U(x, V) {
                    return r(V) ? x(...V) : x(V)
                }(x, V))
            }
        },
        5032: (Re, he, _) => {
            "use strict";

            function t() {}
            _.d(he, {
                Z: () => t
            })
        },
        9635: (Re, he, _) => {
            "use strict";
            _.d(he, {
                U: () => U,
                z: () => r
            });
            var t = _(4671);

            function r(...C) {
                return U(C)
            }

            function U(C) {
                return 0 === C.length ? t.y : 1 === C.length ? C[0] : function(V) {
                    return C.reduce((P, $) => $(P), V)
                }
            }
        },
        7849: (Re, he, _) => {
            "use strict";
            _.d(he, {
                h: () => U
            });
            var t = _(2416),
                r = _(3410);

            function U(C) {
                r.z.setTimeout(() => {
                    const {
                        onUnhandledError: x
                    } = t.v;
                    if (!x) throw C;
                    x(C)
                })
            }
        },
        4532: (Re, he, _) => {
            "use strict";

            function t(r) {
                return new TypeError(`You provided ${null!==r&&"object"==typeof r?"an invalid object":`'${r}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)
            }
            _.d(he, {
                z: () => t
            })
        },
        6958: Re => {
            function he() {}
            he.prototype = {
                on: function(_, t, r) {
                    var U = this.e || (this.e = {});
                    return (U[_] || (U[_] = [])).push({
                        fn: t,
                        ctx: r
                    }), this
                },
                once: function(_, t, r) {
                    var U = this;

                    function C() {
                        U.off(_, C), t.apply(r, arguments)
                    }
                    return C._ = t, this.on(_, C, r)
                },
                emit: function(_) {
                    for (var t = [].slice.call(arguments, 1), r = ((this.e || (this.e = {}))[_] || []).slice(), U = 0, C = r.length; U < C; U++) r[U].fn.apply(r[U].ctx, t);
                    return this
                },
                off: function(_, t) {
                    var r = this.e || (this.e = {}),
                        U = r[_],
                        C = [];
                    if (U && t)
                        for (var x = 0, V = U.length; x < V; x++) U[x].fn !== t && U[x].fn._ !== t && C.push(U[x]);
                    return C.length ? r[_] = C : delete r[_], this
                }
            }, Re.exports = he
        },
        1042: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Z: () => k
            });
            var t, r = new Uint8Array(16);

            function U() {
                if (!t && !(t = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto < "u" && "function" == typeof msCrypto.getRandomValues && msCrypto.getRandomValues.bind(msCrypto))) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
                return t(r)
            }
            const C = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,
                V = function x(B) {
                    return "string" == typeof B && C.test(B)
                };
            for (var P = [], $ = 0; $ < 256; ++$) P.push(($ + 256).toString(16).substr(1));
            const k = function F(B, le, oe) {
                var Te = (B = B || {}).random || (B.rng || U)();
                if (Te[6] = 15 & Te[6] | 64, Te[8] = 63 & Te[8] | 128, le) {
                    oe = oe || 0;
                    for (var Ae = 0; Ae < 16; ++Ae) le[oe + Ae] = Te[Ae];
                    return le
                }
                return function K(B) {
                    var le = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
                        oe = (P[B[le + 0]] + P[B[le + 1]] + P[B[le + 2]] + P[B[le + 3]] + "-" + P[B[le + 4]] + P[B[le + 5]] + "-" + P[B[le + 6]] + P[B[le + 7]] + "-" + P[B[le + 8]] + P[B[le + 9]] + "-" + P[B[le + 10]] + P[B[le + 11]] + P[B[le + 12]] + P[B[le + 13]] + P[B[le + 14]] + P[B[le + 15]]).toLowerCase();
                    if (!V(oe)) throw TypeError("Stringified UUID is invalid");
                    return oe
                }(Te)
            }
        },
        2480: () => {},
        7340: (Re, he, _) => {
            "use strict";
            _.d(he, {
                LC: () => r,
                SB: () => K,
                X$: () => C,
                ZE: () => be,
                ZN: () => ce,
                _j: () => t,
                eR: () => F,
                jt: () => x,
                k1: () => je,
                l3: () => U,
                oB: () => $,
                vP: () => P
            });
            class t {}
            class r {}
            const U = "*";

            function C(me, ge) {
                return {
                    type: 7,
                    name: me,
                    definitions: ge,
                    options: {}
                }
            }

            function x(me, ge = null) {
                return {
                    type: 4,
                    styles: ge,
                    timings: me
                }
            }

            function P(me, ge = null) {
                return {
                    type: 2,
                    steps: me,
                    options: ge
                }
            }

            function $(me) {
                return {
                    type: 6,
                    styles: me,
                    offset: null
                }
            }

            function K(me, ge, _e) {
                return {
                    type: 0,
                    name: me,
                    styles: ge,
                    options: _e
                }
            }

            function F(me, ge, _e = null) {
                return {
                    type: 1,
                    expr: me,
                    animation: ge,
                    options: _e
                }
            }

            function Ae(me) {
                Promise.resolve().then(me)
            }
            class ce {
                constructor(ge = 0, _e = 0) {
                    this._onDoneFns = [], this._onStartFns = [], this._onDestroyFns = [], this._originalOnDoneFns = [], this._originalOnStartFns = [], this._started = !1, this._destroyed = !1, this._finished = !1, this._position = 0, this.parentPlayer = null, this.totalTime = ge + _e
                }
                _onFinish() {
                    this._finished || (this._finished = !0, this._onDoneFns.forEach(ge => ge()), this._onDoneFns = [])
                }
                onStart(ge) {
                    this._originalOnStartFns.push(ge), this._onStartFns.push(ge)
                }
                onDone(ge) {
                    this._originalOnDoneFns.push(ge), this._onDoneFns.push(ge)
                }
                onDestroy(ge) {
                    this._onDestroyFns.push(ge)
                }
                hasStarted() {
                    return this._started
                }
                init() {}
                play() {
                    this.hasStarted() || (this._onStart(), this.triggerMicrotask()), this._started = !0
                }
                triggerMicrotask() {
                    Ae(() => this._onFinish())
                }
                _onStart() {
                    this._onStartFns.forEach(ge => ge()), this._onStartFns = []
                }
                pause() {}
                restart() {}
                finish() {
                    this._onFinish()
                }
                destroy() {
                    this._destroyed || (this._destroyed = !0, this.hasStarted() || this._onStart(), this.finish(), this._onDestroyFns.forEach(ge => ge()), this._onDestroyFns = [])
                }
                reset() {
                    this._started = !1, this._finished = !1, this._onStartFns = this._originalOnStartFns, this._onDoneFns = this._originalOnDoneFns
                }
                setPosition(ge) {
                    this._position = this.totalTime ? ge * this.totalTime : 1
                }
                getPosition() {
                    return this.totalTime ? this._position / this.totalTime : 1
                }
                triggerCallback(ge) {
                    const _e = "start" == ge ? this._onStartFns : this._onDoneFns;
                    _e.forEach(we => we()), _e.length = 0
                }
            }
            class be {
                constructor(ge) {
                    this._onDoneFns = [], this._onStartFns = [], this._finished = !1, this._started = !1, this._destroyed = !1, this._onDestroyFns = [], this.parentPlayer = null, this.totalTime = 0, this.players = ge;
                    let _e = 0,
                        we = 0,
                        ke = 0;
                    const Je = this.players.length;
                    0 == Je ? Ae(() => this._onFinish()) : this.players.forEach(ue => {
                        ue.onDone(() => {
                            ++_e == Je && this._onFinish()
                        }), ue.onDestroy(() => {
                            ++we == Je && this._onDestroy()
                        }), ue.onStart(() => {
                            ++ke == Je && this._onStart()
                        })
                    }), this.totalTime = this.players.reduce((ue, Me) => Math.max(ue, Me.totalTime), 0)
                }
                _onFinish() {
                    this._finished || (this._finished = !0, this._onDoneFns.forEach(ge => ge()), this._onDoneFns = [])
                }
                init() {
                    this.players.forEach(ge => ge.init())
                }
                onStart(ge) {
                    this._onStartFns.push(ge)
                }
                _onStart() {
                    this.hasStarted() || (this._started = !0, this._onStartFns.forEach(ge => ge()), this._onStartFns = [])
                }
                onDone(ge) {
                    this._onDoneFns.push(ge)
                }
                onDestroy(ge) {
                    this._onDestroyFns.push(ge)
                }
                hasStarted() {
                    return this._started
                }
                play() {
                    this.parentPlayer || this.init(), this._onStart(), this.players.forEach(ge => ge.play())
                }
                pause() {
                    this.players.forEach(ge => ge.pause())
                }
                restart() {
                    this.players.forEach(ge => ge.restart())
                }
                finish() {
                    this._onFinish(), this.players.forEach(ge => ge.finish())
                }
                destroy() {
                    this._onDestroy()
                }
                _onDestroy() {
                    this._destroyed || (this._destroyed = !0, this._onFinish(), this.players.forEach(ge => ge.destroy()), this._onDestroyFns.forEach(ge => ge()), this._onDestroyFns = [])
                }
                reset() {
                    this.players.forEach(ge => ge.reset()), this._destroyed = !1, this._finished = !1, this._started = !1
                }
                setPosition(ge) {
                    const _e = ge * this.totalTime;
                    this.players.forEach(we => {
                        const ke = we.totalTime ? Math.min(1, _e / we.totalTime) : 1;
                        we.setPosition(ke)
                    })
                }
                getPosition() {
                    const ge = this.players.reduce((_e, we) => null === _e || we.totalTime > _e.totalTime ? we : _e, null);
                    return null != ge ? ge.getPosition() : 0
                }
                beforeDestroy() {
                    this.players.forEach(ge => {
                        ge.beforeDestroy && ge.beforeDestroy()
                    })
                }
                triggerCallback(ge) {
                    const _e = "start" == ge ? this._onStartFns : this._onDoneFns;
                    _e.forEach(we => we()), _e.length = 0
                }
            }
            const je = "!"
        },
        6895: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Do: () => je,
                EM: () => Aa,
                HT: () => x,
                JF: () => Mo,
                K0: () => P,
                Mx: () => an,
                NF: () => oa,
                O5: () => Cr,
                Ov: () => Gr,
                S$: () => Ae,
                V_: () => G,
                Ye: () => me,
                b0: () => be,
                bD: () => Ts,
                ez: () => Ls,
                gd: () => Qo,
                mk: () => Kt,
                q: () => U,
                qS: () => Ht,
                sg: () => Dr,
                tP: () => $t,
                w_: () => V
            });
            var t = _(4650);
            let r = null;

            function U() {
                return r
            }

            function x(j) {
                r || (r = j)
            }
            class V {}
            const P = new t.OlP("DocumentToken");
            let $ = (() => {
                class j {
                    historyGo(q) {
                        throw new Error("Not implemented")
                    }
                }
                return j.\u0275fac = function(q) {
                    return new(q || j)
                }, j.\u0275prov = t.Yz7({
                    token: j,
                    factory: function() {
                        return function K() {
                            return (0, t.LFG)(F)
                        }()
                    },
                    providedIn: "platform"
                }), j
            })();
            const G = new t.OlP("Location Initialized");
            let F = (() => {
                class j extends $ {
                    constructor(q) {
                        super(), this._doc = q, this._init()
                    }
                    _init() {
                        this.location = window.location, this._history = window.history
                    }
                    getBaseHrefFromDOM() {
                        return U().getBaseHref(this._doc)
                    }
                    onPopState(q) {
                        const Oe = U().getGlobalEventTarget(this._doc, "window");
                        return Oe.addEventListener("popstate", q, !1), () => Oe.removeEventListener("popstate", q)
                    }
                    onHashChange(q) {
                        const Oe = U().getGlobalEventTarget(this._doc, "window");
                        return Oe.addEventListener("hashchange", q, !1), () => Oe.removeEventListener("hashchange", q)
                    }
                    get href() {
                        return this.location.href
                    }
                    get protocol() {
                        return this.location.protocol
                    }
                    get hostname() {
                        return this.location.hostname
                    }
                    get port() {
                        return this.location.port
                    }
                    get pathname() {
                        return this.location.pathname
                    }
                    get search() {
                        return this.location.search
                    }
                    get hash() {
                        return this.location.hash
                    }
                    set pathname(q) {
                        this.location.pathname = q
                    }
                    pushState(q, Oe, pt) {
                        k() ? this._history.pushState(q, Oe, pt) : this.location.hash = pt
                    }
                    replaceState(q, Oe, pt) {
                        k() ? this._history.replaceState(q, Oe, pt) : this.location.hash = pt
                    }
                    forward() {
                        this._history.forward()
                    }
                    back() {
                        this._history.back()
                    }
                    historyGo(q = 0) {
                        this._history.go(q)
                    }
                    getState() {
                        return this._history.state
                    }
                }
                return j.\u0275fac = function(q) {
                    return new(q || j)(t.LFG(P))
                }, j.\u0275prov = t.Yz7({
                    token: j,
                    factory: function() {
                        return function B() {
                            return new F((0, t.LFG)(P))
                        }()
                    },
                    providedIn: "platform"
                }), j
            })();

            function k() {
                return !!window.history.pushState
            }

            function le(j, de) {
                if (0 == j.length) return de;
                if (0 == de.length) return j;
                let q = 0;
                return j.endsWith("/") && q++, de.startsWith("/") && q++, 2 == q ? j + de.substring(1) : 1 == q ? j + de : j + "/" + de
            }

            function oe(j) {
                const de = j.match(/#|\?|$/),
                    q = de && de.index || j.length;
                return j.slice(0, q - ("/" === j[q - 1] ? 1 : 0)) + j.slice(q)
            }

            function Te(j) {
                return j && "?" !== j[0] ? "?" + j : j
            }
            let Ae = (() => {
                class j {
                    historyGo(q) {
                        throw new Error("Not implemented")
                    }
                }
                return j.\u0275fac = function(q) {
                    return new(q || j)
                }, j.\u0275prov = t.Yz7({
                    token: j,
                    factory: function() {
                        return (0, t.f3M)(be)
                    },
                    providedIn: "root"
                }), j
            })();
            const ce = new t.OlP("appBaseHref");
            let be = (() => {
                    class j extends Ae {
                        constructor(q, Oe) {
                            super(), this._platformLocation = q, this._removeListenerFns = [], this._baseHref = Oe ? ? this._platformLocation.getBaseHrefFromDOM() ? ? (0, t.f3M)(P).location ? .origin ? ? ""
                        }
                        ngOnDestroy() {
                            for (; this._removeListenerFns.length;) this._removeListenerFns.pop()()
                        }
                        onPopState(q) {
                            this._removeListenerFns.push(this._platformLocation.onPopState(q), this._platformLocation.onHashChange(q))
                        }
                        getBaseHref() {
                            return this._baseHref
                        }
                        prepareExternalUrl(q) {
                            return le(this._baseHref, q)
                        }
                        path(q = !1) {
                            const Oe = this._platformLocation.pathname + Te(this._platformLocation.search),
                                pt = this._platformLocation.hash;
                            return pt && q ? `${Oe}${pt}` : Oe
                        }
                        pushState(q, Oe, pt, Gt) {
                            const nn = this.prepareExternalUrl(pt + Te(Gt));
                            this._platformLocation.pushState(q, Oe, nn)
                        }
                        replaceState(q, Oe, pt, Gt) {
                            const nn = this.prepareExternalUrl(pt + Te(Gt));
                            this._platformLocation.replaceState(q, Oe, nn)
                        }
                        forward() {
                            this._platformLocation.forward()
                        }
                        back() {
                            this._platformLocation.back()
                        }
                        getState() {
                            return this._platformLocation.getState()
                        }
                        historyGo(q = 0) {
                            this._platformLocation.historyGo ? .(q)
                        }
                    }
                    return j.\u0275fac = function(q) {
                        return new(q || j)(t.LFG($), t.LFG(ce, 8))
                    }, j.\u0275prov = t.Yz7({
                        token: j,
                        factory: j.\u0275fac,
                        providedIn: "root"
                    }), j
                })(),
                je = (() => {
                    class j extends Ae {
                        constructor(q, Oe) {
                            super(), this._platformLocation = q, this._baseHref = "", this._removeListenerFns = [], null != Oe && (this._baseHref = Oe)
                        }
                        ngOnDestroy() {
                            for (; this._removeListenerFns.length;) this._removeListenerFns.pop()()
                        }
                        onPopState(q) {
                            this._removeListenerFns.push(this._platformLocation.onPopState(q), this._platformLocation.onHashChange(q))
                        }
                        getBaseHref() {
                            return this._baseHref
                        }
                        path(q = !1) {
                            let Oe = this._platformLocation.hash;
                            return null == Oe && (Oe = "#"), Oe.length > 0 ? Oe.substring(1) : Oe
                        }
                        prepareExternalUrl(q) {
                            const Oe = le(this._baseHref, q);
                            return Oe.length > 0 ? "#" + Oe : Oe
                        }
                        pushState(q, Oe, pt, Gt) {
                            let nn = this.prepareExternalUrl(pt + Te(Gt));
                            0 == nn.length && (nn = this._platformLocation.pathname), this._platformLocation.pushState(q, Oe, nn)
                        }
                        replaceState(q, Oe, pt, Gt) {
                            let nn = this.prepareExternalUrl(pt + Te(Gt));
                            0 == nn.length && (nn = this._platformLocation.pathname), this._platformLocation.replaceState(q, Oe, nn)
                        }
                        forward() {
                            this._platformLocation.forward()
                        }
                        back() {
                            this._platformLocation.back()
                        }
                        getState() {
                            return this._platformLocation.getState()
                        }
                        historyGo(q = 0) {
                            this._platformLocation.historyGo ? .(q)
                        }
                    }
                    return j.\u0275fac = function(q) {
                        return new(q || j)(t.LFG($), t.LFG(ce, 8))
                    }, j.\u0275prov = t.Yz7({
                        token: j,
                        factory: j.\u0275fac
                    }), j
                })(),
                me = (() => {
                    class j {
                        constructor(q) {
                            this._subject = new t.vpe, this._urlChangeListeners = [], this._urlChangeSubscription = null, this._locationStrategy = q;
                            const Oe = this._locationStrategy.getBaseHref();
                            this._baseHref = oe(we(Oe)), this._locationStrategy.onPopState(pt => {
                                this._subject.emit({
                                    url: this.path(!0),
                                    pop: !0,
                                    state: pt.state,
                                    type: pt.type
                                })
                            })
                        }
                        ngOnDestroy() {
                            this._urlChangeSubscription ? .unsubscribe(), this._urlChangeListeners = []
                        }
                        path(q = !1) {
                            return this.normalize(this._locationStrategy.path(q))
                        }
                        getState() {
                            return this._locationStrategy.getState()
                        }
                        isCurrentPathEqualTo(q, Oe = "") {
                            return this.path() == this.normalize(q + Te(Oe))
                        }
                        normalize(q) {
                            return j.stripTrailingSlash(function _e(j, de) {
                                return j && de.startsWith(j) ? de.substring(j.length) : de
                            }(this._baseHref, we(q)))
                        }
                        prepareExternalUrl(q) {
                            return q && "/" !== q[0] && (q = "/" + q), this._locationStrategy.prepareExternalUrl(q)
                        }
                        go(q, Oe = "", pt = null) {
                            this._locationStrategy.pushState(pt, "", q, Oe), this._notifyUrlChangeListeners(this.prepareExternalUrl(q + Te(Oe)), pt)
                        }
                        replaceState(q, Oe = "", pt = null) {
                            this._locationStrategy.replaceState(pt, "", q, Oe), this._notifyUrlChangeListeners(this.prepareExternalUrl(q + Te(Oe)), pt)
                        }
                        forward() {
                            this._locationStrategy.forward()
                        }
                        back() {
                            this._locationStrategy.back()
                        }
                        historyGo(q = 0) {
                            this._locationStrategy.historyGo ? .(q)
                        }
                        onUrlChange(q) {
                            return this._urlChangeListeners.push(q), this._urlChangeSubscription || (this._urlChangeSubscription = this.subscribe(Oe => {
                                this._notifyUrlChangeListeners(Oe.url, Oe.state)
                            })), () => {
                                const Oe = this._urlChangeListeners.indexOf(q);
                                this._urlChangeListeners.splice(Oe, 1), 0 === this._urlChangeListeners.length && (this._urlChangeSubscription ? .unsubscribe(), this._urlChangeSubscription = null)
                            }
                        }
                        _notifyUrlChangeListeners(q = "", Oe) {
                            this._urlChangeListeners.forEach(pt => pt(q, Oe))
                        }
                        subscribe(q, Oe, pt) {
                            return this._subject.subscribe({
                                next: q,
                                error: Oe,
                                complete: pt
                            })
                        }
                    }
                    return j.normalizeQueryParams = Te, j.joinWithSlash = le, j.stripTrailingSlash = oe, j.\u0275fac = function(q) {
                        return new(q || j)(t.LFG(Ae))
                    }, j.\u0275prov = t.Yz7({
                        token: j,
                        factory: function() {
                            return function ge() {
                                return new me((0, t.LFG)(Ae))
                            }()
                        },
                        providedIn: "root"
                    }), j
                })();

            function we(j) {
                return j.replace(/\/index.html$/, "")
            }

            function Ht(j, de, q) {
                return (0, t.dwT)(j, de, q)
            }

            function an(j, de) {
                de = encodeURIComponent(de);
                for (const q of j.split(";")) {
                    const Oe = q.indexOf("="),
                        [pt, Gt] = -1 == Oe ? [q, ""] : [q.slice(0, Oe), q.slice(Oe + 1)];
                    if (pt.trim() === de) return decodeURIComponent(Gt)
                }
                return null
            }
            let Kt = (() => {
                class j {
                    constructor(q, Oe, pt, Gt) {
                        this._iterableDiffers = q, this._keyValueDiffers = Oe, this._ngEl = pt, this._renderer = Gt, this._iterableDiffer = null, this._keyValueDiffer = null, this._initialClasses = [], this._rawClass = null
                    }
                    set klass(q) {
                        this._removeClasses(this._initialClasses), this._initialClasses = "string" == typeof q ? q.split(/\s+/) : [], this._applyClasses(this._initialClasses), this._applyClasses(this._rawClass)
                    }
                    set ngClass(q) {
                        this._removeClasses(this._rawClass), this._applyClasses(this._initialClasses), this._iterableDiffer = null, this._keyValueDiffer = null, this._rawClass = "string" == typeof q ? q.split(/\s+/) : q, this._rawClass && ((0, t.sIi)(this._rawClass) ? this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create() : this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create())
                    }
                    ngDoCheck() {
                        if (this._iterableDiffer) {
                            const q = this._iterableDiffer.diff(this._rawClass);
                            q && this._applyIterableChanges(q)
                        } else if (this._keyValueDiffer) {
                            const q = this._keyValueDiffer.diff(this._rawClass);
                            q && this._applyKeyValueChanges(q)
                        }
                    }
                    _applyKeyValueChanges(q) {
                        q.forEachAddedItem(Oe => this._toggleClass(Oe.key, Oe.currentValue)), q.forEachChangedItem(Oe => this._toggleClass(Oe.key, Oe.currentValue)), q.forEachRemovedItem(Oe => {
                            Oe.previousValue && this._toggleClass(Oe.key, !1)
                        })
                    }
                    _applyIterableChanges(q) {
                        q.forEachAddedItem(Oe => {
                            if ("string" != typeof Oe.item) throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,t.AaK)(Oe.item)}`);
                            this._toggleClass(Oe.item, !0)
                        }), q.forEachRemovedItem(Oe => this._toggleClass(Oe.item, !1))
                    }
                    _applyClasses(q) {
                        q && (Array.isArray(q) || q instanceof Set ? q.forEach(Oe => this._toggleClass(Oe, !0)) : Object.keys(q).forEach(Oe => this._toggleClass(Oe, !!q[Oe])))
                    }
                    _removeClasses(q) {
                        q && (Array.isArray(q) || q instanceof Set ? q.forEach(Oe => this._toggleClass(Oe, !1)) : Object.keys(q).forEach(Oe => this._toggleClass(Oe, !1)))
                    }
                    _toggleClass(q, Oe) {
                        (q = q.trim()) && q.split(/\s+/g).forEach(pt => {
                            Oe ? this._renderer.addClass(this._ngEl.nativeElement, pt) : this._renderer.removeClass(this._ngEl.nativeElement, pt)
                        })
                    }
                }
                return j.\u0275fac = function(q) {
                    return new(q || j)(t.Y36(t.ZZ4), t.Y36(t.aQg), t.Y36(t.SBq), t.Y36(t.Qsj))
                }, j.\u0275dir = t.lG2({
                    type: j,
                    selectors: [
                        ["", "ngClass", ""]
                    ],
                    inputs: {
                        klass: ["class", "klass"],
                        ngClass: "ngClass"
                    },
                    standalone: !0
                }), j
            })();
            class Ur {
                constructor(de, q, Oe, pt) {
                    this.$implicit = de, this.ngForOf = q, this.index = Oe, this.count = pt
                }
                get first() {
                    return 0 === this.index
                }
                get last() {
                    return this.index === this.count - 1
                }
                get even() {
                    return this.index % 2 == 0
                }
                get odd() {
                    return !this.even
                }
            }
            let Dr = (() => {
                class j {
                    constructor(q, Oe, pt) {
                        this._viewContainer = q, this._template = Oe, this._differs = pt, this._ngForOf = null, this._ngForOfDirty = !0, this._differ = null
                    }
                    set ngForOf(q) {
                        this._ngForOf = q, this._ngForOfDirty = !0
                    }
                    set ngForTrackBy(q) {
                        this._trackByFn = q
                    }
                    get ngForTrackBy() {
                        return this._trackByFn
                    }
                    set ngForTemplate(q) {
                        q && (this._template = q)
                    }
                    ngDoCheck() {
                        if (this._ngForOfDirty) {
                            this._ngForOfDirty = !1;
                            const q = this._ngForOf;
                            !this._differ && q && (this._differ = this._differs.find(q).create(this.ngForTrackBy))
                        }
                        if (this._differ) {
                            const q = this._differ.diff(this._ngForOf);
                            q && this._applyChanges(q)
                        }
                    }
                    _applyChanges(q) {
                        const Oe = this._viewContainer;
                        q.forEachOperation((pt, Gt, nn) => {
                            if (null == pt.previousIndex) Oe.createEmbeddedView(this._template, new Ur(pt.item, this._ngForOf, -1, -1), null === nn ? void 0 : nn);
                            else if (null == nn) Oe.remove(null === Gt ? void 0 : Gt);
                            else if (null !== Gt) {
                                const Gn = Oe.get(Gt);
                                Oe.move(Gn, nn), mr(Gn, pt)
                            }
                        });
                        for (let pt = 0, Gt = Oe.length; pt < Gt; pt++) {
                            const Gn = Oe.get(pt).context;
                            Gn.index = pt, Gn.count = Gt, Gn.ngForOf = this._ngForOf
                        }
                        q.forEachIdentityChange(pt => {
                            mr(Oe.get(pt.currentIndex), pt)
                        })
                    }
                    static ngTemplateContextGuard(q, Oe) {
                        return !0
                    }
                }
                return j.\u0275fac = function(q) {
                    return new(q || j)(t.Y36(t.s_b), t.Y36(t.Rgc), t.Y36(t.ZZ4))
                }, j.\u0275dir = t.lG2({
                    type: j,
                    selectors: [
                        ["", "ngFor", "", "ngForOf", ""]
                    ],
                    inputs: {
                        ngForOf: "ngForOf",
                        ngForTrackBy: "ngForTrackBy",
                        ngForTemplate: "ngForTemplate"
                    },
                    standalone: !0
                }), j
            })();

            function mr(j, de) {
                j.context.$implicit = de.item
            }
            let Cr = (() => {
                class j {
                    constructor(q, Oe) {
                        this._viewContainer = q, this._context = new yo, this._thenTemplateRef = null, this._elseTemplateRef = null, this._thenViewRef = null, this._elseViewRef = null, this._thenTemplateRef = Oe
                    }
                    set ngIf(q) {
                        this._context.$implicit = this._context.ngIf = q, this._updateView()
                    }
                    set ngIfThen(q) {
                        $r("ngIfThen", q), this._thenTemplateRef = q, this._thenViewRef = null, this._updateView()
                    }
                    set ngIfElse(q) {
                        $r("ngIfElse", q), this._elseTemplateRef = q, this._elseViewRef = null, this._updateView()
                    }
                    _updateView() {
                        this._context.$implicit ? this._thenViewRef || (this._viewContainer.clear(), this._elseViewRef = null, this._thenTemplateRef && (this._thenViewRef = this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context))) : this._elseViewRef || (this._viewContainer.clear(), this._thenViewRef = null, this._elseTemplateRef && (this._elseViewRef = this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context)))
                    }
                    static ngTemplateContextGuard(q, Oe) {
                        return !0
                    }
                }
                return j.\u0275fac = function(q) {
                    return new(q || j)(t.Y36(t.s_b), t.Y36(t.Rgc))
                }, j.\u0275dir = t.lG2({
                    type: j,
                    selectors: [
                        ["", "ngIf", ""]
                    ],
                    inputs: {
                        ngIf: "ngIf",
                        ngIfThen: "ngIfThen",
                        ngIfElse: "ngIfElse"
                    },
                    standalone: !0
                }), j
            })();
            class yo {
                constructor() {
                    this.$implicit = null, this.ngIf = null
                }
            }

            function $r(j, de) {
                if (de && !de.createEmbeddedView) throw new Error(`${j} must be a TemplateRef, but received '${(0,t.AaK)(de)}'.`)
            }
            let $t = (() => {
                class j {
                    constructor(q) {
                        this._viewContainerRef = q, this._viewRef = null, this.ngTemplateOutletContext = null, this.ngTemplateOutlet = null, this.ngTemplateOutletInjector = null
                    }
                    ngOnChanges(q) {
                        if (q.ngTemplateOutlet || q.ngTemplateOutletInjector) {
                            const Oe = this._viewContainerRef;
                            if (this._viewRef && Oe.remove(Oe.indexOf(this._viewRef)), this.ngTemplateOutlet) {
                                const {
                                    ngTemplateOutlet: pt,
                                    ngTemplateOutletContext: Gt,
                                    ngTemplateOutletInjector: nn
                                } = this;
                                this._viewRef = Oe.createEmbeddedView(pt, Gt, nn ? {
                                    injector: nn
                                } : void 0)
                            } else this._viewRef = null
                        } else this._viewRef && q.ngTemplateOutletContext && this.ngTemplateOutletContext && (this._viewRef.context = this.ngTemplateOutletContext)
                    }
                }
                return j.\u0275fac = function(q) {
                    return new(q || j)(t.Y36(t.s_b))
                }, j.\u0275dir = t.lG2({
                    type: j,
                    selectors: [
                        ["", "ngTemplateOutlet", ""]
                    ],
                    inputs: {
                        ngTemplateOutletContext: "ngTemplateOutletContext",
                        ngTemplateOutlet: "ngTemplateOutlet",
                        ngTemplateOutletInjector: "ngTemplateOutletInjector"
                    },
                    standalone: !0,
                    features: [t.TTD]
                }), j
            })();

            function cn(j, de) {
                return new t.vHH(2100, !1)
            }
            class Tr {
                createSubscription(de, q) {
                    return de.subscribe({
                        next: q,
                        error: Oe => {
                            throw Oe
                        }
                    })
                }
                dispose(de) {
                    de.unsubscribe()
                }
            }
            class li {
                createSubscription(de, q) {
                    return de.then(q, Oe => {
                        throw Oe
                    })
                }
                dispose(de) {}
            }
            const mi = new li,
                Ki = new Tr;
            let Gr = (() => {
                    class j {
                        constructor(q) {
                            this._latestValue = null, this._subscription = null, this._obj = null, this._strategy = null, this._ref = q
                        }
                        ngOnDestroy() {
                            this._subscription && this._dispose(), this._ref = null
                        }
                        transform(q) {
                            return this._obj ? q !== this._obj ? (this._dispose(), this.transform(q)) : this._latestValue : (q && this._subscribe(q), this._latestValue)
                        }
                        _subscribe(q) {
                            this._obj = q, this._strategy = this._selectStrategy(q), this._subscription = this._strategy.createSubscription(q, Oe => this._updateLatestValue(q, Oe))
                        }
                        _selectStrategy(q) {
                            if ((0, t.QGY)(q)) return mi;
                            if ((0, t.F4k)(q)) return Ki;
                            throw cn()
                        }
                        _dispose() {
                            this._strategy.dispose(this._subscription), this._latestValue = null, this._subscription = null, this._obj = null
                        }
                        _updateLatestValue(q, Oe) {
                            q === this._obj && (this._latestValue = Oe, this._ref.markForCheck())
                        }
                    }
                    return j.\u0275fac = function(q) {
                        return new(q || j)(t.Y36(t.sBO, 16))
                    }, j.\u0275pipe = t.Yjl({
                        name: "async",
                        type: j,
                        pure: !1,
                        standalone: !0
                    }), j
                })(),
                Qo = (() => {
                    class j {
                        transform(q) {
                            if (null == q) return null;
                            if ("string" != typeof q) throw cn();
                            return q.toUpperCase()
                        }
                    }
                    return j.\u0275fac = function(q) {
                        return new(q || j)
                    }, j.\u0275pipe = t.Yjl({
                        name: "uppercase",
                        type: j,
                        pure: !0,
                        standalone: !0
                    }), j
                })(),
                Ls = (() => {
                    class j {}
                    return j.\u0275fac = function(q) {
                        return new(q || j)
                    }, j.\u0275mod = t.oAB({
                        type: j
                    }), j.\u0275inj = t.cJS({}), j
                })();
            const Ts = "browser";

            function oa(j) {
                return j === Ts
            }
            let Aa = (() => {
                class j {}
                return j.\u0275prov = (0, t.Yz7)({
                    token: j,
                    providedIn: "root",
                    factory: () => new xo((0, t.LFG)(P), window)
                }), j
            })();
            class xo {
                constructor(de, q) {
                    this.document = de, this.window = q, this.offset = () => [0, 0]
                }
                setOffset(de) {
                    this.offset = Array.isArray(de) ? () => de : de
                }
                getScrollPosition() {
                    return this.supportsScrolling() ? [this.window.pageXOffset, this.window.pageYOffset] : [0, 0]
                }
                scrollToPosition(de) {
                    this.supportsScrolling() && this.window.scrollTo(de[0], de[1])
                }
                scrollToAnchor(de) {
                    if (!this.supportsScrolling()) return;
                    const q = function so(j, de) {
                        const q = j.getElementById(de) || j.getElementsByName(de)[0];
                        if (q) return q;
                        if ("function" == typeof j.createTreeWalker && j.body && (j.body.createShadowRoot || j.body.attachShadow)) {
                            const Oe = j.createTreeWalker(j.body, NodeFilter.SHOW_ELEMENT);
                            let pt = Oe.currentNode;
                            for (; pt;) {
                                const Gt = pt.shadowRoot;
                                if (Gt) {
                                    const nn = Gt.getElementById(de) || Gt.querySelector(`[name="${de}"]`);
                                    if (nn) return nn
                                }
                                pt = Oe.nextNode()
                            }
                        }
                        return null
                    }(this.document, de);
                    q && (this.scrollToElement(q), q.focus())
                }
                setHistoryScrollRestoration(de) {
                    if (this.supportScrollRestoration()) {
                        const q = this.window.history;
                        q && q.scrollRestoration && (q.scrollRestoration = de)
                    }
                }
                scrollToElement(de) {
                    const q = de.getBoundingClientRect(),
                        Oe = q.left + this.window.pageXOffset,
                        pt = q.top + this.window.pageYOffset,
                        Gt = this.offset();
                    this.window.scrollTo(Oe - Gt[0], pt - Gt[1])
                }
                supportScrollRestoration() {
                    try {
                        if (!this.supportsScrolling()) return !1;
                        const de = $s(this.window.history) || $s(Object.getPrototypeOf(this.window.history));
                        return !(!de || !de.writable && !de.set)
                    } catch {
                        return !1
                    }
                }
                supportsScrolling() {
                    try {
                        return !!this.window && !!this.window.scrollTo && "pageXOffset" in this.window
                    } catch {
                        return !1
                    }
                }
            }

            function $s(j) {
                return Object.getOwnPropertyDescriptor(j, "scrollRestoration")
            }
            class Mo {}
        },
        529: (Re, he, _) => {
            "use strict";
            _.d(he, {
                JF: () => Qn,
                LE: () => ce,
                TP: () => Ct,
                UA: () => He,
                Zn: () => Be,
                eN: () => kt
            });
            var t = _(6895),
                r = _(4650),
                U = _(9646),
                C = _(9751),
                x = _(4351),
                V = _(9300),
                P = _(4004);
            class $ {}
            class K {}
            class G {
                constructor(dt) {
                    this.normalizedNames = new Map, this.lazyUpdate = null, dt ? this.lazyInit = "string" == typeof dt ? () => {
                        this.headers = new Map, dt.split("\n").forEach(et => {
                            const Pt = et.indexOf(":");
                            if (Pt > 0) {
                                const jt = et.slice(0, Pt),
                                    on = jt.toLowerCase(),
                                    $n = et.slice(Pt + 1).trim();
                                this.maybeSetNormalizedName(jt, on), this.headers.has(on) ? this.headers.get(on).push($n) : this.headers.set(on, [$n])
                            }
                        })
                    } : () => {
                        this.headers = new Map, Object.keys(dt).forEach(et => {
                            let Pt = dt[et];
                            const jt = et.toLowerCase();
                            "string" == typeof Pt && (Pt = [Pt]), Pt.length > 0 && (this.headers.set(jt, Pt), this.maybeSetNormalizedName(et, jt))
                        })
                    } : this.headers = new Map
                }
                has(dt) {
                    return this.init(), this.headers.has(dt.toLowerCase())
                }
                get(dt) {
                    this.init();
                    const et = this.headers.get(dt.toLowerCase());
                    return et && et.length > 0 ? et[0] : null
                }
                keys() {
                    return this.init(), Array.from(this.normalizedNames.values())
                }
                getAll(dt) {
                    return this.init(), this.headers.get(dt.toLowerCase()) || null
                }
                append(dt, et) {
                    return this.clone({
                        name: dt,
                        value: et,
                        op: "a"
                    })
                }
                set(dt, et) {
                    return this.clone({
                        name: dt,
                        value: et,
                        op: "s"
                    })
                }
                delete(dt, et) {
                    return this.clone({
                        name: dt,
                        value: et,
                        op: "d"
                    })
                }
                maybeSetNormalizedName(dt, et) {
                    this.normalizedNames.has(et) || this.normalizedNames.set(et, dt)
                }
                init() {
                    this.lazyInit && (this.lazyInit instanceof G ? this.copyFrom(this.lazyInit) : this.lazyInit(), this.lazyInit = null, this.lazyUpdate && (this.lazyUpdate.forEach(dt => this.applyUpdate(dt)), this.lazyUpdate = null))
                }
                copyFrom(dt) {
                    dt.init(), Array.from(dt.headers.keys()).forEach(et => {
                        this.headers.set(et, dt.headers.get(et)), this.normalizedNames.set(et, dt.normalizedNames.get(et))
                    })
                }
                clone(dt) {
                    const et = new G;
                    return et.lazyInit = this.lazyInit && this.lazyInit instanceof G ? this.lazyInit : this, et.lazyUpdate = (this.lazyUpdate || []).concat([dt]), et
                }
                applyUpdate(dt) {
                    const et = dt.name.toLowerCase();
                    switch (dt.op) {
                        case "a":
                        case "s":
                            let Pt = dt.value;
                            if ("string" == typeof Pt && (Pt = [Pt]), 0 === Pt.length) return;
                            this.maybeSetNormalizedName(dt.name, et);
                            const jt = ("a" === dt.op ? this.headers.get(et) : void 0) || [];
                            jt.push(...Pt), this.headers.set(et, jt);
                            break;
                        case "d":
                            const on = dt.value;
                            if (on) {
                                let $n = this.headers.get(et);
                                if (!$n) return;
                                $n = $n.filter(Xn => -1 === on.indexOf(Xn)), 0 === $n.length ? (this.headers.delete(et), this.normalizedNames.delete(et)) : this.headers.set(et, $n)
                            } else this.headers.delete(et), this.normalizedNames.delete(et)
                    }
                }
                forEach(dt) {
                    this.init(), Array.from(this.normalizedNames.keys()).forEach(et => dt(this.normalizedNames.get(et), this.headers.get(et)))
                }
            }
            class k {
                encodeKey(dt) {
                    return Te(dt)
                }
                encodeValue(dt) {
                    return Te(dt)
                }
                decodeKey(dt) {
                    return decodeURIComponent(dt)
                }
                decodeValue(dt) {
                    return decodeURIComponent(dt)
                }
            }
            const le = /%(\d[a-f0-9])/gi,
                oe = {
                    40: "@",
                    "3A": ":",
                    24: "$",
                    "2C": ",",
                    "3B": ";",
                    "3D": "=",
                    "3F": "?",
                    "2F": "/"
                };

            function Te(Ut) {
                return encodeURIComponent(Ut).replace(le, (dt, et) => oe[et] ? ? dt)
            }

            function Ae(Ut) {
                return `${Ut}`
            }
            class ce {
                constructor(dt = {}) {
                    if (this.updates = null, this.cloneFrom = null, this.encoder = dt.encoder || new k, dt.fromString) {
                        if (dt.fromObject) throw new Error("Cannot specify both fromString and fromObject.");
                        this.map = function B(Ut, dt) {
                            const et = new Map;
                            return Ut.length > 0 && Ut.replace(/^\?/, "").split("&").forEach(jt => {
                                const on = jt.indexOf("="),
                                    [$n, Xn] = -1 == on ? [dt.decodeKey(jt), ""] : [dt.decodeKey(jt.slice(0, on)), dt.decodeValue(jt.slice(on + 1))],
                                    sn = et.get($n) || [];
                                sn.push(Xn), et.set($n, sn)
                            }), et
                        }(dt.fromString, this.encoder)
                    } else dt.fromObject ? (this.map = new Map, Object.keys(dt.fromObject).forEach(et => {
                        const Pt = dt.fromObject[et],
                            jt = Array.isArray(Pt) ? Pt.map(Ae) : [Ae(Pt)];
                        this.map.set(et, jt)
                    })) : this.map = null
                }
                has(dt) {
                    return this.init(), this.map.has(dt)
                }
                get(dt) {
                    this.init();
                    const et = this.map.get(dt);
                    return et ? et[0] : null
                }
                getAll(dt) {
                    return this.init(), this.map.get(dt) || null
                }
                keys() {
                    return this.init(), Array.from(this.map.keys())
                }
                append(dt, et) {
                    return this.clone({
                        param: dt,
                        value: et,
                        op: "a"
                    })
                }
                appendAll(dt) {
                    const et = [];
                    return Object.keys(dt).forEach(Pt => {
                        const jt = dt[Pt];
                        Array.isArray(jt) ? jt.forEach(on => {
                            et.push({
                                param: Pt,
                                value: on,
                                op: "a"
                            })
                        }) : et.push({
                            param: Pt,
                            value: jt,
                            op: "a"
                        })
                    }), this.clone(et)
                }
                set(dt, et) {
                    return this.clone({
                        param: dt,
                        value: et,
                        op: "s"
                    })
                }
                delete(dt, et) {
                    return this.clone({
                        param: dt,
                        value: et,
                        op: "d"
                    })
                }
                toString() {
                    return this.init(), this.keys().map(dt => {
                        const et = this.encoder.encodeKey(dt);
                        return this.map.get(dt).map(Pt => et + "=" + this.encoder.encodeValue(Pt)).join("&")
                    }).filter(dt => "" !== dt).join("&")
                }
                clone(dt) {
                    const et = new ce({
                        encoder: this.encoder
                    });
                    return et.cloneFrom = this.cloneFrom || this, et.updates = (this.updates || []).concat(dt), et
                }
                init() {
                    null === this.map && (this.map = new Map), null !== this.cloneFrom && (this.cloneFrom.init(), this.cloneFrom.keys().forEach(dt => this.map.set(dt, this.cloneFrom.map.get(dt))), this.updates.forEach(dt => {
                        switch (dt.op) {
                            case "a":
                            case "s":
                                const et = ("a" === dt.op ? this.map.get(dt.param) : void 0) || [];
                                et.push(Ae(dt.value)), this.map.set(dt.param, et);
                                break;
                            case "d":
                                if (void 0 === dt.value) {
                                    this.map.delete(dt.param);
                                    break
                                } {
                                    let Pt = this.map.get(dt.param) || [];
                                    const jt = Pt.indexOf(Ae(dt.value)); - 1 !== jt && Pt.splice(jt, 1), Pt.length > 0 ? this.map.set(dt.param, Pt) : this.map.delete(dt.param)
                                }
                        }
                    }), this.cloneFrom = this.updates = null)
                }
            }
            class je {
                constructor() {
                    this.map = new Map
                }
                set(dt, et) {
                    return this.map.set(dt, et), this
                }
                get(dt) {
                    return this.map.has(dt) || this.map.set(dt, dt.defaultValue()), this.map.get(dt)
                }
                delete(dt) {
                    return this.map.delete(dt), this
                }
                has(dt) {
                    return this.map.has(dt)
                }
                keys() {
                    return this.map.keys()
                }
            }

            function ge(Ut) {
                return typeof ArrayBuffer < "u" && Ut instanceof ArrayBuffer
            }

            function _e(Ut) {
                return typeof Blob < "u" && Ut instanceof Blob
            }

            function we(Ut) {
                return typeof FormData < "u" && Ut instanceof FormData
            }
            class Je {
                constructor(dt, et, Pt, jt) {
                    let on;
                    if (this.url = et, this.body = null, this.reportProgress = !1, this.withCredentials = !1, this.responseType = "json", this.method = dt.toUpperCase(), function me(Ut) {
                            switch (Ut) {
                                case "DELETE":
                                case "GET":
                                case "HEAD":
                                case "OPTIONS":
                                case "JSONP":
                                    return !1;
                                default:
                                    return !0
                            }
                        }(this.method) || jt ? (this.body = void 0 !== Pt ? Pt : null, on = jt) : on = Pt, on && (this.reportProgress = !!on.reportProgress, this.withCredentials = !!on.withCredentials, on.responseType && (this.responseType = on.responseType), on.headers && (this.headers = on.headers), on.context && (this.context = on.context), on.params && (this.params = on.params)), this.headers || (this.headers = new G), this.context || (this.context = new je), this.params) {
                        const $n = this.params.toString();
                        if (0 === $n.length) this.urlWithParams = et;
                        else {
                            const Xn = et.indexOf("?");
                            this.urlWithParams = et + (-1 === Xn ? "?" : Xn < et.length - 1 ? "&" : "") + $n
                        }
                    } else this.params = new ce, this.urlWithParams = et
                }
                serializeBody() {
                    return null === this.body ? null : ge(this.body) || _e(this.body) || we(this.body) || function ke(Ut) {
                        return typeof URLSearchParams < "u" && Ut instanceof URLSearchParams
                    }(this.body) || "string" == typeof this.body ? this.body : this.body instanceof ce ? this.body.toString() : "object" == typeof this.body || "boolean" == typeof this.body || Array.isArray(this.body) ? JSON.stringify(this.body) : this.body.toString()
                }
                detectContentTypeHeader() {
                    return null === this.body || we(this.body) ? null : _e(this.body) ? this.body.type || null : ge(this.body) ? null : "string" == typeof this.body ? "text/plain" : this.body instanceof ce ? "application/x-www-form-urlencoded;charset=UTF-8" : "object" == typeof this.body || "number" == typeof this.body || "boolean" == typeof this.body ? "application/json" : null
                }
                clone(dt = {}) {
                    const et = dt.method || this.method,
                        Pt = dt.url || this.url,
                        jt = dt.responseType || this.responseType,
                        on = void 0 !== dt.body ? dt.body : this.body,
                        $n = void 0 !== dt.withCredentials ? dt.withCredentials : this.withCredentials,
                        Xn = void 0 !== dt.reportProgress ? dt.reportProgress : this.reportProgress;
                    let sn = dt.headers || this.headers,
                        cr = dt.params || this.params;
                    const Jn = dt.context ? ? this.context;
                    return void 0 !== dt.setHeaders && (sn = Object.keys(dt.setHeaders).reduce((wr, Yn) => wr.set(Yn, dt.setHeaders[Yn]), sn)), dt.setParams && (cr = Object.keys(dt.setParams).reduce((wr, Yn) => wr.set(Yn, dt.setParams[Yn]), cr)), new Je(et, Pt, on, {
                        params: cr,
                        headers: sn,
                        context: Jn,
                        reportProgress: Xn,
                        responseType: jt,
                        withCredentials: $n
                    })
                }
            }
            var ue = (() => ((ue = ue || {})[ue.Sent = 0] = "Sent", ue[ue.UploadProgress = 1] = "UploadProgress", ue[ue.ResponseHeader = 2] = "ResponseHeader", ue[ue.DownloadProgress = 3] = "DownloadProgress", ue[ue.Response = 4] = "Response", ue[ue.User = 5] = "User", ue))();
            class Me {
                constructor(dt, et = 200, Pt = "OK") {
                    this.headers = dt.headers || new G, this.status = void 0 !== dt.status ? dt.status : et, this.statusText = dt.statusText || Pt, this.url = dt.url || null, this.ok = this.status >= 200 && this.status < 300
                }
            }
            class Ke extends Me {
                constructor(dt = {}) {
                    super(dt), this.type = ue.ResponseHeader
                }
                clone(dt = {}) {
                    return new Ke({
                        headers: dt.headers || this.headers,
                        status: void 0 !== dt.status ? dt.status : this.status,
                        statusText: dt.statusText || this.statusText,
                        url: dt.url || this.url || void 0
                    })
                }
            }
            class Be extends Me {
                constructor(dt = {}) {
                    super(dt), this.type = ue.Response, this.body = void 0 !== dt.body ? dt.body : null
                }
                clone(dt = {}) {
                    return new Be({
                        body: void 0 !== dt.body ? dt.body : this.body,
                        headers: dt.headers || this.headers,
                        status: void 0 !== dt.status ? dt.status : this.status,
                        statusText: dt.statusText || this.statusText,
                        url: dt.url || this.url || void 0
                    })
                }
            }
            class He extends Me {
                constructor(dt) {
                    super(dt, 0, "Unknown Error"), this.name = "HttpErrorResponse", this.ok = !1, this.message = this.status >= 200 && this.status < 300 ? `Http failure during parsing for ${dt.url||"(unknown url)"}` : `Http failure response for ${dt.url||"(unknown url)"}: ${dt.status} ${dt.statusText}`, this.error = dt.error || null
                }
            }

            function xt(Ut, dt) {
                return {
                    body: dt,
                    headers: Ut.headers,
                    context: Ut.context,
                    observe: Ut.observe,
                    params: Ut.params,
                    reportProgress: Ut.reportProgress,
                    responseType: Ut.responseType,
                    withCredentials: Ut.withCredentials
                }
            }
            let kt = (() => {
                class Ut {
                    constructor(et) {
                        this.handler = et
                    }
                    request(et, Pt, jt = {}) {
                        let on;
                        if (et instanceof Je) on = et;
                        else {
                            let sn, cr;
                            sn = jt.headers instanceof G ? jt.headers : new G(jt.headers), jt.params && (cr = jt.params instanceof ce ? jt.params : new ce({
                                fromObject: jt.params
                            })), on = new Je(et, Pt, void 0 !== jt.body ? jt.body : null, {
                                headers: sn,
                                context: jt.context,
                                params: cr,
                                reportProgress: jt.reportProgress,
                                responseType: jt.responseType || "json",
                                withCredentials: jt.withCredentials
                            })
                        }
                        const $n = (0, U.of)(on).pipe((0, x.b)(sn => this.handler.handle(sn)));
                        if (et instanceof Je || "events" === jt.observe) return $n;
                        const Xn = $n.pipe((0, V.h)(sn => sn instanceof Be));
                        switch (jt.observe || "body") {
                            case "body":
                                switch (on.responseType) {
                                    case "arraybuffer":
                                        return Xn.pipe((0, P.U)(sn => {
                                            if (null !== sn.body && !(sn.body instanceof ArrayBuffer)) throw new Error("Response is not an ArrayBuffer.");
                                            return sn.body
                                        }));
                                    case "blob":
                                        return Xn.pipe((0, P.U)(sn => {
                                            if (null !== sn.body && !(sn.body instanceof Blob)) throw new Error("Response is not a Blob.");
                                            return sn.body
                                        }));
                                    case "text":
                                        return Xn.pipe((0, P.U)(sn => {
                                            if (null !== sn.body && "string" != typeof sn.body) throw new Error("Response is not a string.");
                                            return sn.body
                                        }));
                                    default:
                                        return Xn.pipe((0, P.U)(sn => sn.body))
                                }
                            case "response":
                                return Xn;
                            default:
                                throw new Error(`Unreachable: unhandled observe type ${jt.observe}}`)
                        }
                    }
                    delete(et, Pt = {}) {
                        return this.request("DELETE", et, Pt)
                    }
                    get(et, Pt = {}) {
                        return this.request("GET", et, Pt)
                    }
                    head(et, Pt = {}) {
                        return this.request("HEAD", et, Pt)
                    }
                    jsonp(et, Pt) {
                        return this.request("JSONP", et, {
                            params: (new ce).append(Pt, "JSONP_CALLBACK"),
                            observe: "body",
                            responseType: "json"
                        })
                    }
                    options(et, Pt = {}) {
                        return this.request("OPTIONS", et, Pt)
                    }
                    patch(et, Pt, jt = {}) {
                        return this.request("PATCH", et, xt(jt, Pt))
                    }
                    post(et, Pt, jt = {}) {
                        return this.request("POST", et, xt(jt, Pt))
                    }
                    put(et, Pt, jt = {}) {
                        return this.request("PUT", et, xt(jt, Pt))
                    }
                }
                return Ut.\u0275fac = function(et) {
                    return new(et || Ut)(r.LFG($))
                }, Ut.\u0275prov = r.Yz7({
                    token: Ut,
                    factory: Ut.\u0275fac
                }), Ut
            })();
            class St {
                constructor(dt, et) {
                    this.next = dt, this.interceptor = et
                }
                handle(dt) {
                    return this.interceptor.intercept(dt, this.next)
                }
            }
            const Ct = new r.OlP("HTTP_INTERCEPTORS");
            let ht = (() => {
                class Ut {
                    intercept(et, Pt) {
                        return Pt.handle(et)
                    }
                }
                return Ut.\u0275fac = function(et) {
                    return new(et || Ut)
                }, Ut.\u0275prov = r.Yz7({
                    token: Ut,
                    factory: Ut.\u0275fac
                }), Ut
            })();
            const Ge = /^\)\]\}',?\n/;
            let Lt = (() => {
                class Ut {
                    constructor(et) {
                        this.xhrFactory = et
                    }
                    handle(et) {
                        if ("JSONP" === et.method) throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");
                        return new C.y(Pt => {
                            const jt = this.xhrFactory.build();
                            if (jt.open(et.method, et.urlWithParams), et.withCredentials && (jt.withCredentials = !0), et.headers.forEach((In, Kn) => jt.setRequestHeader(In, Kn.join(","))), et.headers.has("Accept") || jt.setRequestHeader("Accept", "application/json, text/plain, */*"), !et.headers.has("Content-Type")) {
                                const In = et.detectContentTypeHeader();
                                null !== In && jt.setRequestHeader("Content-Type", In)
                            }
                            if (et.responseType) {
                                const In = et.responseType.toLowerCase();
                                jt.responseType = "json" !== In ? In : "text"
                            }
                            const on = et.serializeBody();
                            let $n = null;
                            const Xn = () => {
                                    if (null !== $n) return $n;
                                    const In = jt.statusText || "OK",
                                        Kn = new G(jt.getAllResponseHeaders()),
                                        si = function mt(Ut) {
                                            return "responseURL" in Ut && Ut.responseURL ? Ut.responseURL : /^X-Request-URL:/m.test(Ut.getAllResponseHeaders()) ? Ut.getResponseHeader("X-Request-URL") : null
                                        }(jt) || et.url;
                                    return $n = new Ke({
                                        headers: Kn,
                                        status: jt.status,
                                        statusText: In,
                                        url: si
                                    }), $n
                                },
                                sn = () => {
                                    let {
                                        headers: In,
                                        status: Kn,
                                        statusText: si,
                                        url: Jr
                                    } = Xn(), hr = null;
                                    204 !== Kn && (hr = typeof jt.response > "u" ? jt.responseText : jt.response), 0 === Kn && (Kn = hr ? 200 : 0);
                                    let ai = Kn >= 200 && Kn < 300;
                                    if ("json" === et.responseType && "string" == typeof hr) {
                                        const Si = hr;
                                        hr = hr.replace(Ge, "");
                                        try {
                                            hr = "" !== hr ? JSON.parse(hr) : null
                                        } catch (yi) {
                                            hr = Si, ai && (ai = !1, hr = {
                                                error: yi,
                                                text: hr
                                            })
                                        }
                                    }
                                    ai ? (Pt.next(new Be({
                                        body: hr,
                                        headers: In,
                                        status: Kn,
                                        statusText: si,
                                        url: Jr || void 0
                                    })), Pt.complete()) : Pt.error(new He({
                                        error: hr,
                                        headers: In,
                                        status: Kn,
                                        statusText: si,
                                        url: Jr || void 0
                                    }))
                                },
                                cr = In => {
                                    const {
                                        url: Kn
                                    } = Xn(), si = new He({
                                        error: In,
                                        status: jt.status || 0,
                                        statusText: jt.statusText || "Unknown Error",
                                        url: Kn || void 0
                                    });
                                    Pt.error(si)
                                };
                            let Jn = !1;
                            const wr = In => {
                                    Jn || (Pt.next(Xn()), Jn = !0);
                                    let Kn = {
                                        type: ue.DownloadProgress,
                                        loaded: In.loaded
                                    };
                                    In.lengthComputable && (Kn.total = In.total), "text" === et.responseType && !!jt.responseText && (Kn.partialText = jt.responseText), Pt.next(Kn)
                                },
                                Yn = In => {
                                    let Kn = {
                                        type: ue.UploadProgress,
                                        loaded: In.loaded
                                    };
                                    In.lengthComputable && (Kn.total = In.total), Pt.next(Kn)
                                };
                            return jt.addEventListener("load", sn), jt.addEventListener("error", cr), jt.addEventListener("timeout", cr), jt.addEventListener("abort", cr), et.reportProgress && (jt.addEventListener("progress", wr), null !== on && jt.upload && jt.upload.addEventListener("progress", Yn)), jt.send(on), Pt.next({
                                type: ue.Sent
                            }), () => {
                                jt.removeEventListener("error", cr), jt.removeEventListener("abort", cr), jt.removeEventListener("load", sn), jt.removeEventListener("timeout", cr), et.reportProgress && (jt.removeEventListener("progress", wr), null !== on && jt.upload && jt.upload.removeEventListener("progress", Yn)), jt.readyState !== jt.DONE && jt.abort()
                            }
                        })
                    }
                }
                return Ut.\u0275fac = function(et) {
                    return new(et || Ut)(r.LFG(t.JF))
                }, Ut.\u0275prov = r.Yz7({
                    token: Ut,
                    factory: Ut.\u0275fac
                }), Ut
            })();
            const _n = new r.OlP("XSRF_COOKIE_NAME"),
                Ln = new r.OlP("XSRF_HEADER_NAME");
            class Nn {}
            let kn = (() => {
                    class Ut {
                        constructor(et, Pt, jt) {
                            this.doc = et, this.platform = Pt, this.cookieName = jt, this.lastCookieString = "", this.lastToken = null, this.parseCount = 0
                        }
                        getToken() {
                            if ("server" === this.platform) return null;
                            const et = this.doc.cookie || "";
                            return et !== this.lastCookieString && (this.parseCount++, this.lastToken = (0, t.Mx)(et, this.cookieName), this.lastCookieString = et), this.lastToken
                        }
                    }
                    return Ut.\u0275fac = function(et) {
                        return new(et || Ut)(r.LFG(t.K0), r.LFG(r.Lbi), r.LFG(_n))
                    }, Ut.\u0275prov = r.Yz7({
                        token: Ut,
                        factory: Ut.\u0275fac
                    }), Ut
                })(),
                vn = (() => {
                    class Ut {
                        constructor(et, Pt) {
                            this.tokenService = et, this.headerName = Pt
                        }
                        intercept(et, Pt) {
                            const jt = et.url.toLowerCase();
                            if ("GET" === et.method || "HEAD" === et.method || jt.startsWith("http://") || jt.startsWith("https://")) return Pt.handle(et);
                            const on = this.tokenService.getToken();
                            return null !== on && !et.headers.has(this.headerName) && (et = et.clone({
                                headers: et.headers.set(this.headerName, on)
                            })), Pt.handle(et)
                        }
                    }
                    return Ut.\u0275fac = function(et) {
                        return new(et || Ut)(r.LFG(Nn), r.LFG(Ln))
                    }, Ut.\u0275prov = r.Yz7({
                        token: Ut,
                        factory: Ut.\u0275fac
                    }), Ut
                })(),
                tn = (() => {
                    class Ut {
                        constructor(et, Pt) {
                            this.backend = et, this.injector = Pt, this.chain = null
                        }
                        handle(et) {
                            if (null === this.chain) {
                                const Pt = this.injector.get(Ct, []);
                                this.chain = Pt.reduceRight((jt, on) => new St(jt, on), this.backend)
                            }
                            return this.chain.handle(et)
                        }
                    }
                    return Ut.\u0275fac = function(et) {
                        return new(et || Ut)(r.LFG(K), r.LFG(r.zs3))
                    }, Ut.\u0275prov = r.Yz7({
                        token: Ut,
                        factory: Ut.\u0275fac
                    }), Ut
                })(),
                Rn = (() => {
                    class Ut {
                        static disable() {
                            return {
                                ngModule: Ut,
                                providers: [{
                                    provide: vn,
                                    useClass: ht
                                }]
                            }
                        }
                        static withOptions(et = {}) {
                            return {
                                ngModule: Ut,
                                providers: [et.cookieName ? {
                                    provide: _n,
                                    useValue: et.cookieName
                                } : [], et.headerName ? {
                                    provide: Ln,
                                    useValue: et.headerName
                                } : []]
                            }
                        }
                    }
                    return Ut.\u0275fac = function(et) {
                        return new(et || Ut)
                    }, Ut.\u0275mod = r.oAB({
                        type: Ut
                    }), Ut.\u0275inj = r.cJS({
                        providers: [vn, {
                            provide: Ct,
                            useExisting: vn,
                            multi: !0
                        }, {
                            provide: Nn,
                            useClass: kn
                        }, {
                            provide: _n,
                            useValue: "XSRF-TOKEN"
                        }, {
                            provide: Ln,
                            useValue: "X-XSRF-TOKEN"
                        }]
                    }), Ut
                })(),
                Qn = (() => {
                    class Ut {}
                    return Ut.\u0275fac = function(et) {
                        return new(et || Ut)
                    }, Ut.\u0275mod = r.oAB({
                        type: Ut
                    }), Ut.\u0275inj = r.cJS({
                        providers: [kt, {
                            provide: $,
                            useClass: tn
                        }, Lt, {
                            provide: K,
                            useExisting: Lt
                        }],
                        imports: [Rn.withOptions({
                            cookieName: "XSRF-TOKEN",
                            headerName: "X-XSRF-TOKEN"
                        })]
                    }), Ut
                })()
        },
        4650: (Re, he, _) => {
            "use strict";
            _.d(he, {
                $8M: () => la,
                $Z: () => op,
                AFp: () => g1,
                ALo: () => Fv,
                AaK: () => $,
                AsE: () => $g,
                BQk: () => Km,
                CHM: () => gt,
                CRH: () => Zv,
                CZH: () => sg,
                CqO: () => Y0,
                D6c: () => Tx,
                DdM: () => Tv,
                EJc: () => VC,
                EiD: () => Rf,
                EpF: () => z0,
                F$t: () => t_,
                F4k: () => K0,
                FYo: () => xd,
                FiY: () => $o,
                G48: () => lx,
                Gf: () => jv,
                GfV: () => Fp,
                GkF: () => Sg,
                Gpc: () => F,
                Hsn: () => n_,
                Ikx: () => Ug,
                JOm: () => _l,
                JVY: () => _p,
                Jf7: () => _u,
                KtG: () => Wt,
                L6k: () => zd,
                LAX: () => Kd,
                LFG: () => mo,
                LMc: () => Ax,
                LSH: () => kf,
                Lbi: () => LC,
                Lck: () => Fb,
                MAs: () => W0,
                MGl: () => Ym,
                MMx: () => Jg,
                NdJ: () => Ig,
                OlP: () => Mi,
                Oqu: () => Lg,
                PXZ: () => nx,
                PiD: () => ml,
                Q6J: () => Og,
                QGY: () => Pg,
                QP$: () => jr,
                QbO: () => $C,
                Qsj: () => mu,
                QtT: () => hv,
                R0b: () => Cu,
                RDi: () => gp,
                Rgc: () => Em,
                SBq: () => Cd,
                SDv: () => pv,
                Sil: () => jC,
                Suo: () => Gv,
                TTD: () => jo,
                TgZ: () => Zm,
                Tol: () => v_,
                Udp: () => Rg,
                VKq: () => Ov,
                W1O: () => Yv,
                WLB: () => Av,
                X6Q: () => ax,
                XFs: () => tn,
                Xpm: () => Jr,
                Xts: () => Lf,
                Y36: () => Ad,
                YKP: () => _v,
                YNc: () => Z0,
                Yjl: () => To,
                Yz7: () => Fe,
                Z0I: () => Qt,
                ZZ4: () => w0,
                _Bn: () => gv,
                _UZ: () => Mg,
                _Vd: () => bd,
                _c5: () => Ex,
                _uU: () => D_,
                aQg: () => E0,
                c2e: () => BC,
                cJS: () => ct,
                cg1: () => Hg,
                d8E: () => Vg,
                dDg: () => QC,
                dqk: () => jt,
                dwT: () => $y,
                eBb: () => ku,
                eFA: () => M1,
                ekj: () => Fg,
                eoX: () => T1,
                evT: () => Ed,
                f3M: () => Qc,
                g9A: () => v1,
                h0i: () => Bh,
                hGG: () => Dx,
                hij: () => Jm,
                iGM: () => Hv,
                ifc: () => Pt,
                ip1: () => m1,
                jDz: () => yv,
                kEZ: () => Mv,
                kL8: () => V_,
                lG2: () => Pi,
                lcZ: () => kv,
                lnq: () => Bg,
                lqb: () => jc,
                lri: () => E1,
                mCW: () => pu,
                n5z: () => zo,
                oAB: () => yi,
                oJD: () => Cp,
                oxw: () => e_,
                pB0: () => cd,
                pQV: () => Zg,
                q3G: () => Yo,
                q4F: () => kp,
                qLn: () => gu,
                qOj: () => hm,
                qZA: () => Wm,
                qzn: () => uc,
                rWj: () => D1,
                s9C: () => Ng,
                sBO: () => cx,
                sIi: () => Mt,
                s_b: () => rg,
                soG: () => ag,
                tBr: () => ka,
                tb: () => y1,
                tp0: () => gl,
                uIk: () => El,
                vHH: () => oe,
                vpe: () => Fd,
                wAp: () => Rr,
                xp6: () => Nt,
                ynx: () => zm,
                z2F: () => lg,
                z3N: () => cc,
                zSh: () => Gf,
                zs3: () => Ll
            });
            var t = _(7579),
                r = _(727),
                U = _(9751),
                C = _(6451),
                x = _(3099);

            function V(e) {
                for (let n in e)
                    if (e[n] === V) return n;
                throw Error("Could not find renamed property on target object.")
            }

            function P(e, n) {
                for (const i in n) n.hasOwnProperty(i) && !e.hasOwnProperty(i) && (e[i] = n[i])
            }

            function $(e) {
                if ("string" == typeof e) return e;
                if (Array.isArray(e)) return "[" + e.map($).join(", ") + "]";
                if (null == e) return "" + e;
                if (e.overriddenName) return `${e.overriddenName}`;
                if (e.name) return `${e.name}`;
                const n = e.toString();
                if (null == n) return "" + n;
                const i = n.indexOf("\n");
                return -1 === i ? n : n.substring(0, i)
            }

            function K(e, n) {
                return null == e || "" === e ? null === n ? "" : n : null == n || "" === n ? e : e + " " + n
            }
            const G = V({
                __forward_ref__: V
            });

            function F(e) {
                return e.__forward_ref__ = F, e.toString = function() {
                    return $(this())
                }, e
            }

            function k(e) {
                return B(e) ? e() : e
            }

            function B(e) {
                return "function" == typeof e && e.hasOwnProperty(G) && e.__forward_ref__ === F
            }
            class oe extends Error {
                constructor(n, i) {
                    super(function Te(e, n) {
                        return `NG0${Math.abs(e)}${n?": "+n.trim():""}`
                    }(n, i)), this.code = n
                }
            }

            function Ae(e) {
                return "string" == typeof e ? e : null == e ? "" : String(e)
            }

            function ge(e, n) {
                throw new oe(-201, !1)
            }

            function Pe(e, n, i, a) {
                throw new Error(`ASSERTION ERROR: ${e}` + (null == a ? "" : ` [Expected=> ${i} ${a} ${n} <=Actual]`))
            }

            function Fe(e) {
                return {
                    token: e.token,
                    providedIn: e.providedIn || null,
                    factory: e.factory,
                    value: void 0
                }
            }

            function ct(e) {
                return {
                    providers: e.providers || [],
                    imports: e.imports || []
                }
            }

            function vt(e) {
                return Ge(e, Ln) || Ge(e, kn)
            }

            function Qt(e) {
                return null !== vt(e)
            }

            function Ge(e, n) {
                return e.hasOwnProperty(n) ? e[n] : null
            }

            function _n(e) {
                return e && (e.hasOwnProperty(Nn) || e.hasOwnProperty(vn)) ? e[Nn] : null
            }
            const Ln = V({\
                    u0275prov: V
                }),
                Nn = V({\
                    u0275inj: V
                }),
                kn = V({
                    ngInjectableDef: V
                }),
                vn = V({
                    ngInjectorDef: V
                });
            var tn = (() => ((tn = tn || {})[tn.Default = 0] = "Default", tn[tn.Host = 1] = "Host", tn[tn.Self = 2] = "Self", tn[tn.SkipSelf = 4] = "SkipSelf", tn[tn.Optional = 8] = "Optional", tn))();
            let Cn;

            function Rn(e) {
                const n = Cn;
                return Cn = e, n
            }

            function Qn(e, n, i) {
                const a = vt(e);
                return a && "root" == a.providedIn ? void 0 === a.value ? a.value = a.factory() : a.value : i & tn.Optional ? null : void 0 !== n ? n : void ge($(e))
            }

            function Mr(e) {
                return {
                    toString: e
                }.toString()
            }
            var Ut = (() => ((Ut = Ut || {})[Ut.OnPush = 0] = "OnPush", Ut[Ut.Default = 1] = "Default", Ut))(),
                Pt = (() => {
                    return (e = Pt || (Pt = {}))[e.Emulated = 0] = "Emulated", e[e.None = 2] = "None", e[e.ShadowDom = 3] = "ShadowDom", Pt;
                    var e
                })();
            const jt = (() => typeof globalThis < "u" && globalThis || typeof global < "u" && global || typeof window < "u" && window || typeof self < "u" && typeof WorkerGlobalScope < "u" && self instanceof WorkerGlobalScope && self)(),
                Xn = {},
                sn = [],
                cr = V({\
                    u0275cmp: V
                }),
                Jn = V({\
                    u0275dir: V
                }),
                wr = V({\
                    u0275pipe: V
                }),
                Yn = V({\
                    u0275mod: V
                }),
                In = V({\
                    u0275fac: V
                }),
                Kn = V({
                    __NG_ELEMENT_ID__: V
                });
            let si = 0;

            function Jr(e) {
                return Mr(() => {
                    const i = !0 === e.standalone,
                        a = {},
                        d = {
                            type: e.type,
                            providersResolver: null,
                            decls: e.decls,
                            vars: e.vars,
                            factory: null,
                            template: e.template || null,
                            consts: e.consts || null,
                            ngContentSelectors: e.ngContentSelectors,
                            hostBindings: e.hostBindings || null,
                            hostVars: e.hostVars || 0,
                            hostAttrs: e.hostAttrs || null,
                            contentQueries: e.contentQueries || null,
                            declaredInputs: a,
                            inputs: null,
                            outputs: null,
                            exportAs: e.exportAs || null,
                            onPush: e.changeDetection === Ut.OnPush,
                            directiveDefs: null,
                            pipeDefs: null,
                            standalone: i,
                            dependencies: i && e.dependencies || null,
                            getStandaloneInjector: null,
                            selectors: e.selectors || sn,
                            viewQuery: e.viewQuery || null,
                            features: e.features || null,
                            data: e.data || {},
                            encapsulation: e.encapsulation || Pt.Emulated,
                            id: "c" + si++,
                            styles: e.styles || sn,
                            _: null,
                            setInput: null,
                            schemas: e.schemas || null,
                            tView: null
                        },
                        v = e.dependencies,
                        E = e.features;
                    return d.inputs = Ji(e.inputs, a), d.outputs = Ji(e.outputs), E && E.forEach(N => N(d)), d.directiveDefs = v ? () => ("function" == typeof v ? v() : v).map(ai).filter(Si) : null, d.pipeDefs = v ? () => ("function" == typeof v ? v() : v).map(Er).filter(Si) : null, d
                })
            }

            function ai(e) {
                return lr(e) || br(e)
            }

            function Si(e) {
                return null !== e
            }

            function yi(e) {
                return Mr(() => ({
                    type: e.type,
                    bootstrap: e.bootstrap || sn,
                    declarations: e.declarations || sn,
                    imports: e.imports || sn,
                    exports: e.exports || sn,
                    transitiveCompileScopes: null,
                    schemas: e.schemas || null,
                    id: e.id || null
                }))
            }

            function Ji(e, n) {
                if (null == e) return Xn;
                const i = {};
                for (const a in e)
                    if (e.hasOwnProperty(a)) {
                        let d = e[a],
                            v = d;
                        Array.isArray(d) && (v = d[1], d = d[0]), i[d] = a, n && (n[d] = v)
                    }
                return i
            }
            const Pi = Jr;

            function To(e) {
                return {
                    type: e.type,
                    name: e.name,
                    factory: null,
                    pure: !1 !== e.pure,
                    standalone: !0 === e.standalone,
                    onDestroy: e.type.prototype.ngOnDestroy || null
                }
            }

            function lr(e) {
                return e[cr] || null
            }

            function br(e) {
                return e[Jn] || null
            }

            function Er(e) {
                return e[wr] || null
            }

            function jr(e) {
                const n = lr(e) || br(e) || Er(e);
                return null !== n && n.standalone
            }

            function zr(e, n) {
                const i = e[Yn] || null;
                if (!i && !0 === n) throw new Error(`Type ${$(e)} does not have '\u0275mod' property.`);
                return i
            }

            function $r(e) {
                return Array.isArray(e) && "object" == typeof e[1]
            }

            function hi(e) {
                return Array.isArray(e) && !0 === e[1]
            }

            function ls(e) {
                return 0 != (8 & e.flags)
            }

            function Ho(e) {
                return 2 == (2 & e.flags)
            }

            function Oo(e) {
                return 1 == (1 & e.flags)
            }

            function to(e) {
                return null !== e.template
            }

            function it(e) {
                return 0 != (256 & e[2])
            }

            function Co(e, n) {
                return e.hasOwnProperty(In) ? e[In] : null
            }
            class ds {
                constructor(n, i, a) {
                    this.previousValue = n, this.currentValue = i, this.firstChange = a
                }
                isFirstChange() {
                    return this.firstChange
                }
            }

            function jo() {
                return Ni
            }

            function Ni(e) {
                return e.type.prototype.ngOnChanges && (e.setInput = Vr), ii
            }

            function ii() {
                const e = fs(this),
                    n = e ? .current;
                if (n) {
                    const i = e.previous;
                    if (i === Xn) e.previous = n;
                    else
                        for (let a in n) i[a] = n[a];
                    e.current = null, this.ngOnChanges(n)
                }
            }

            function Vr(e, n, i, a) {
                const d = fs(e) || function Ls(e, n) {
                        return e[ks] = n
                    }(e, {
                        previous: Xn,
                        current: null
                    }),
                    v = d.current || (d.current = {}),
                    E = d.previous,
                    N = this.declaredInputs[i],
                    W = E[N];
                v[N] = new ds(W && W.currentValue, n, E === Xn), e[a] = n
            }
            jo.ngInherit = !0;
            const ks = "__ngSimpleChanges__";

            function fs(e) {
                return e[ks] || null
            }

            function xi(e) {
                for (; Array.isArray(e);) e = e[0];
                return e
            }

            function $s(e, n) {
                return xi(n[e])
            }

            function so(e, n) {
                return xi(n[e.index])
            }

            function Mo(e, n) {
                return e.data[n]
            }

            function hs(e, n) {
                return e[n]
            }

            function Ti(e, n) {
                const i = n[e];
                return $r(i) ? i : i[0]
            }

            function So(e) {
                return 64 == (64 & e[2])
            }

            function ao(e, n) {
                return null == n ? null : e[n]
            }

            function Oi(e) {
                e[18] = 0
            }

            function lo(e, n) {
                e[5] += n;
                let i = e,
                    a = e[3];
                for (; null !== a && (1 === n && 1 === i[5] || -1 === n && 0 === i[5]);) a[5] += n, i = a, a = a[3]
            }
            const qn = {
                lFrame: Wa(null),
                bindingsEnabled: !0
            };

            function L() {
                return qn.bindingsEnabled
            }

            function ie() {
                return qn.lFrame.lView
            }

            function rt() {
                return qn.lFrame.tView
            }

            function gt(e) {
                return qn.lFrame.contextLView = e, e[8]
            }

            function Wt(e) {
                return qn.lFrame.contextLView = null, e
            }

            function en() {
                let e = X();
                for (; null !== e && 64 === e.type;) e = e.parent;
                return e
            }

            function X() {
                return qn.lFrame.currentTNode
            }

            function Y() {
                const e = qn.lFrame,
                    n = e.currentTNode;
                return e.isParent ? n : n.parent
            }

            function H(e, n) {
                const i = qn.lFrame;
                i.currentTNode = e, i.isParent = n
            }

            function Ie() {
                return qn.lFrame.isParent
            }

            function It() {
                qn.lFrame.isParent = !1
            }

            function Gi() {
                const e = qn.lFrame;
                let n = e.bindingRootIndex;
                return -1 === n && (n = e.bindingRootIndex = e.tView.bindingStartIndex), n
            }

            function Fi() {
                return qn.lFrame.bindingIndex
            }

            function Ws() {
                return qn.lFrame.bindingIndex++
            }

            function zs(e) {
                const n = qn.lFrame,
                    i = n.bindingIndex;
                return n.bindingIndex = n.bindingIndex + e, i
            }

            function Yc(e) {
                qn.lFrame.inI18n = e
            }

            function Ku(e, n) {
                const i = qn.lFrame;
                i.bindingIndex = i.bindingRootIndex = e, vc(n)
            }

            function vc(e) {
                qn.lFrame.currentDirectiveIndex = e
            }

            function Sa(e) {
                const n = qn.lFrame.currentDirectiveIndex;
                return -1 === n ? null : e[n]
            }

            function Ks() {
                return qn.lFrame.currentQueryIndex
            }

            function es(e) {
                qn.lFrame.currentQueryIndex = e
            }

            function Za(e) {
                const n = e[1];
                return 2 === n.type ? n.declTNode : 1 === n.type ? e[6] : null
            }

            function Gl(e, n, i) {
                if (i & tn.SkipSelf) {
                    let d = n,
                        v = e;
                    for (; !(d = d.parent, null !== d || i & tn.Host || (d = Za(v), null === d || (v = v[15], 10 & d.type))););
                    if (null === d) return !1;
                    n = d, e = v
                }
                const a = qn.lFrame = Ys();
                return a.currentTNode = n, a.lView = e, !0
            }

            function rl(e) {
                const n = Ys(),
                    i = e[1];
                qn.lFrame = n, n.currentTNode = i.firstChild, n.lView = e, n.tView = i, n.contextLView = e, n.bindingIndex = i.bindingStartIndex, n.inI18n = !1
            }

            function Ys() {
                const e = qn.lFrame,
                    n = null === e ? null : e.child;
                return null === n ? Wa(e) : n
            }

            function Wa(e) {
                const n = {
                    currentTNode: null,
                    isParent: !0,
                    lView: null,
                    tView: null,
                    selectedIndex: -1,
                    contextLView: null,
                    elementDepthCount: 0,
                    currentNamespace: null,
                    currentDirectiveIndex: -1,
                    bindingRootIndex: -1,
                    bindingIndex: -1,
                    currentQueryIndex: 0,
                    parent: e,
                    child: null,
                    inI18n: !1
                };
                return null !== e && (e.child = n), n
            }

            function il() {
                const e = qn.lFrame;
                return qn.lFrame = e.parent, e.currentTNode = null, e.lView = null, e
            }
            const ol = il;

            function sl() {
                const e = il();
                e.isParent = !0, e.tView = null, e.selectedIndex = -1, e.contextLView = null, e.elementDepthCount = 0, e.currentDirectiveIndex = -1, e.currentNamespace = null, e.bindingRootIndex = -1, e.bindingIndex = -1, e.currentQueryIndex = 0
            }

            function ko() {
                return qn.lFrame.selectedIndex
            }

            function ms(e) {
                qn.lFrame.selectedIndex = e
            }

            function ui() {
                const e = qn.lFrame;
                return Mo(e.tView, e.selectedIndex)
            }

            function Vt(e, n) {
                for (let i = n.directiveStart, a = n.directiveEnd; i < a; i++) {
                    const v = e.data[i].type.prototype,
                        {
                            ngAfterContentInit: E,
                            ngAfterContentChecked: N,
                            ngAfterViewInit: W,
                            ngAfterViewChecked: pe,
                            ngOnDestroy: Ne
                        } = v;
                    E && (e.contentHooks || (e.contentHooks = [])).push(-i, E), N && ((e.contentHooks || (e.contentHooks = [])).push(i, N), (e.contentCheckHooks || (e.contentCheckHooks = [])).push(i, N)), W && (e.viewHooks || (e.viewHooks = [])).push(-i, W), pe && ((e.viewHooks || (e.viewHooks = [])).push(i, pe), (e.viewCheckHooks || (e.viewCheckHooks = [])).push(i, pe)), null != Ne && (e.destroyHooks || (e.destroyHooks = [])).push(i, Ne)
                }
            }

            function Sn(e, n, i) {
                Qi(e, n, 3, i)
            }

            function ir(e, n, i, a) {
                (3 & e[2]) === i && Qi(e, n, i, a)
            }

            function ni(e, n) {
                let i = e[2];
                (3 & i) === n && (i &= 2047, i += 1, e[2] = i)
            }

            function Qi(e, n, i, a) {
                const v = a ? ? -1,
                    E = n.length - 1;
                let N = 0;
                for (let W = void 0 !== a ? 65535 & e[18] : 0; W < E; W++)
                    if ("number" == typeof n[W + 1]) {
                        if (N = n[W], null != a && N >= a) break
                    } else n[W] < 0 && (e[18] += 65536), (N < v || -1 == v) && (wi(e, i, n, W), e[18] = (4294901760 & e[18]) + W + 2), W++
            }

            function wi(e, n, i, a) {
                const d = i[a] < 0,
                    v = i[a + 1],
                    N = e[d ? -i[a] : i[a]];
                if (d) {
                    if (e[2] >> 11 < e[18] >> 16 && (3 & e[2]) === n) {
                        e[2] += 2048;
                        try {
                            v.call(N)
                        } finally {}
                    }
                } else try {
                    v.call(N)
                } finally {}
            }
            class ll {
                constructor(n, i, a) {
                    this.factory = n, this.resolving = !1, this.canSeeViewProviders = i, this.injectImpl = a
                }
            }

            function Oe(e, n, i) {
                let a = 0;
                for (; a < i.length;) {
                    const d = i[a];
                    if ("number" == typeof d) {
                        if (0 !== d) break;
                        a++;
                        const v = i[a++],
                            E = i[a++],
                            N = i[a++];
                        e.setAttribute(n, E, N, v)
                    } else {
                        const v = d,
                            E = i[++a];
                        Gt(v) ? e.setProperty(n, v, E) : e.setAttribute(n, v, E), a++
                    }
                }
                return a
            }

            function pt(e) {
                return 3 === e || 4 === e || 6 === e
            }

            function Gt(e) {
                return 64 === e.charCodeAt(0)
            }

            function nn(e, n) {
                if (null !== n && 0 !== n.length)
                    if (null === e || 0 === e.length) e = n.slice();
                    else {
                        let i = -1;
                        for (let a = 0; a < n.length; a++) {
                            const d = n[a];
                            "number" == typeof d ? i = d : 0 === i || Gn(e, i, d, null, -1 === i || 2 === i ? n[++a] : null)
                        }
                    }
                return e
            }

            function Gn(e, n, i, a, d) {
                let v = 0,
                    E = e.length;
                if (-1 === n) E = -1;
                else
                    for (; v < e.length;) {
                        const N = e[v++];
                        if ("number" == typeof N) {
                            if (N === n) {
                                E = -1;
                                break
                            }
                            if (N > n) {
                                E = v - 1;
                                break
                            }
                        }
                    }
                for (; v < e.length;) {
                    const N = e[v];
                    if ("number" == typeof N) break;
                    if (N === i) {
                        if (null === a) return void(null !== d && (e[v + 1] = d));
                        if (a === e[v + 1]) return void(e[v + 2] = d)
                    }
                    v++, null !== a && v++, null !== d && v++
                } - 1 !== E && (e.splice(E, 0, n), v = E + 1), e.splice(v++, 0, i), null !== a && e.splice(v++, 0, a), null !== d && e.splice(v++, 0, d)
            }

            function Zr(e) {
                return -1 !== e
            }

            function dr(e) {
                return 32767 & e
            }

            function Sr(e, n) {
                let i = function Hr(e) {
                        return e >> 16
                    }(e),
                    a = n;
                for (; i > 0;) a = a[15], i--;
                return a
            }
            let Ai = !0;

            function ri(e) {
                const n = Ai;
                return Ai = e, n
            }
            let Wo = 0;
            const Ii = {};

            function Pa(e, n) {
                const i = cl(e, n);
                if (-1 !== i) return i;
                const a = n[1];
                a.firstCreatePass && (e.injectorIndex = n.length, Ol(a.data, e), Ol(n, null), Ol(a.blueprint, null));
                const d = Al(e, n),
                    v = e.injectorIndex;
                if (Zr(d)) {
                    const E = dr(d),
                        N = Sr(d, n),
                        W = N[1].data;
                    for (let pe = 0; pe < 8; pe++) n[v + pe] = N[E + pe] | W[E + pe]
                }
                return n[v + 8] = d, v
            }

            function Ol(e, n) {
                e.push(0, 0, 0, 0, 0, 0, 0, 0, n)
            }

            function cl(e, n) {
                return -1 === e.injectorIndex || e.parent && e.parent.injectorIndex === e.injectorIndex || null === n[e.injectorIndex + 8] ? -1 : e.injectorIndex
            }

            function Al(e, n) {
                if (e.parent && -1 !== e.parent.injectorIndex) return e.parent.injectorIndex;
                let i = 0,
                    a = null,
                    d = n;
                for (; null !== d;) {
                    if (a = Na(d), null === a) return -1;
                    if (i++, d = d[15], -1 !== a.injectorIndex) return a.injectorIndex | i << 16
                }
                return -1
            }

            function uo(e, n, i) {
                ! function Us(e, n, i) {
                    let a;
                    "string" == typeof i ? a = i.charCodeAt(0) || 0 : i.hasOwnProperty(Kn) && (a = i[Kn]), null == a && (a = i[Kn] = Wo++);
                    const d = 255 & a;
                    n.data[e + (d >> 5)] |= 1 << d
                }(e, n, i)
            }

            function Ia(e, n, i) {
                if (i & tn.Optional || void 0 !== e) return e;
                ge()
            }

            function bc(e, n, i, a) {
                if (i & tn.Optional && void 0 === a && (a = null), 0 == (i & (tn.Self | tn.Host))) {
                    const d = e[9],
                        v = Rn(void 0);
                    try {
                        return d ? d.get(n, a, i & tn.Optional) : Qn(n, a, i & tn.Optional)
                    } finally {
                        Rn(v)
                    }
                }
                return Ia(a, 0, i)
            }

            function Cc(e, n, i, a = tn.Default, d) {
                if (null !== e) {
                    if (1024 & n[2]) {
                        const E = function Ml(e, n, i, a, d) {
                            let v = e,
                                E = n;
                            for (; null !== v && null !== E && 1024 & E[2] && !(256 & E[2]);) {
                                const N = Po(v, E, i, a | tn.Self, Ii);
                                if (N !== Ii) return N;
                                let W = v.parent;
                                if (!W) {
                                    const pe = E[21];
                                    if (pe) {
                                        const Ne = pe.get(i, Ii, a);
                                        if (Ne !== Ii) return Ne
                                    }
                                    W = Na(E), E = E[15]
                                }
                                v = W
                            }
                            return d
                        }(e, n, i, a, Ii);
                        if (E !== Ii) return E
                    }
                    const v = Po(e, n, i, a, Ii);
                    if (v !== Ii) return v
                }
                return bc(n, i, a, d)
            }

            function Po(e, n, i, a, d) {
                const v = function dl(e) {
                    if ("string" == typeof e) return e.charCodeAt(0) || 0;
                    const n = e.hasOwnProperty(Kn) ? e[Kn] : void 0;
                    return "number" == typeof n ? n >= 0 ? 255 & n : ql : n
                }(i);
                if ("function" == typeof v) {
                    if (!Gl(n, e, a)) return a & tn.Host ? Ia(d, 0, a) : bc(n, i, a, d);
                    try {
                        const E = v(a);
                        if (null != E || a & tn.Optional) return E;
                        ge()
                    } finally {
                        ol()
                    }
                } else if ("number" == typeof v) {
                    let E = null,
                        N = cl(e, n),
                        W = -1,
                        pe = a & tn.Host ? n[16][6] : null;
                    for ((-1 === N || a & tn.SkipSelf) && (W = -1 === N ? Al(e, n) : n[N + 8], -1 !== W && qc(a, !1) ? (E = n[1], N = dr(W), n = Sr(W, n)) : N = -1); - 1 !== N;) {
                        const Ne = n[1];
                        if (Yl(v, N, Ne.data)) {
                            const Qe = wo(N, n, i, E, a, pe);
                            if (Qe !== Ii) return Qe
                        }
                        W = n[N + 8], -1 !== W && qc(a, n[1].data[N + 8] === pe) && Yl(v, N, n) ? (E = Ne, N = dr(W), n = Sr(W, n)) : N = -1
                    }
                }
                return d
            }

            function wo(e, n, i, a, d, v) {
                const E = n[1],
                    N = E.data[e + 8],
                    Ne = fo(N, E, i, null == a ? Ho(N) && Ai : a != E && 0 != (3 & N.type), d & tn.Host && v === N);
                return null !== Ne ? ul(n, E, Ne, N) : Ii
            }

            function fo(e, n, i, a, d) {
                const v = e.providerIndexes,
                    E = n.data,
                    N = 1048575 & v,
                    W = e.directiveStart,
                    Ne = v >> 20,
                    _t = d ? N + Ne : e.directiveEnd;
                for (let Ft = a ? N : N + Ne; Ft < _t; Ft++) {
                    const rn = E[Ft];
                    if (Ft < W && i === rn || Ft >= W && rn.type === i) return Ft
                }
                if (d) {
                    const Ft = E[W];
                    if (Ft && to(Ft) && Ft.type === i) return W
                }
                return null
            }

            function ul(e, n, i, a) {
                let d = e[i];
                const v = n.data;
                if (function As(e) {
                        return e instanceof ll
                    }(d)) {
                    const E = d;
                    E.resolving && function be(e, n) {
                        const i = n ? `. Dependency path: ${n.join(" > ")} > ${e}` : "";
                        throw new oe(-200, `Circular dependency in DI detected for ${e}${i}`)
                    }(function ce(e) {
                        return "function" == typeof e ? e.name || e.toString() : "object" == typeof e && null != e && "function" == typeof e.type ? e.type.name || e.type.toString() : Ae(e)
                    }(v[i]));
                    const N = ri(E.canSeeViewProviders);
                    E.resolving = !0;
                    const W = E.injectImpl ? Rn(E.injectImpl) : null;
                    Gl(e, a, tn.Default);
                    try {
                        d = e[i] = E.factory(void 0, v, e, a), n.firstCreatePass && i >= a.directiveStart && function Jt(e, n, i) {
                            const {
                                ngOnChanges: a,
                                ngOnInit: d,
                                ngDoCheck: v
                            } = n.type.prototype;
                            if (a) {
                                const E = Ni(n);
                                (i.preOrderHooks || (i.preOrderHooks = [])).push(e, E), (i.preOrderCheckHooks || (i.preOrderCheckHooks = [])).push(e, E)
                            }
                            d && (i.preOrderHooks || (i.preOrderHooks = [])).push(0 - e, d), v && ((i.preOrderHooks || (i.preOrderHooks = [])).push(e, v), (i.preOrderCheckHooks || (i.preOrderCheckHooks = [])).push(e, v))
                        }(i, v[i], n)
                    } finally {
                        null !== W && Rn(W), ri(N), E.resolving = !1, ol()
                    }
                }
                return d
            }

            function Yl(e, n, i) {
                return !!(i[n + (e >> 5)] & 1 << e)
            }

            function qc(e, n) {
                return !(e & tn.Self || e & tn.Host && n)
            }
            class aa {
                constructor(n, i) {
                    this._tNode = n, this._lView = i
                }
                get(n, i, a) {
                    return Cc(this._tNode, this._lView, n, a, i)
                }
            }

            function ql() {
                return new aa(en(), ie())
            }

            function zo(e) {
                return Mr(() => {
                    const n = e.prototype.constructor,
                        i = n[In] || Ms(n),
                        a = Object.prototype;
                    let d = Object.getPrototypeOf(e.prototype).constructor;
                    for (; d && d !== a;) {
                        const v = d[In] || Ms(d);
                        if (v && v !== i) return v;
                        d = Object.getPrototypeOf(d)
                    }
                    return v => new v
                })
            }

            function Ms(e) {
                return B(e) ? () => {
                    const n = Ms(k(e));
                    return n && n()
                } : Co(e)
            }

            function Na(e) {
                const n = e[1],
                    i = n.type;
                return 2 === i ? n.declTNode : 1 === i ? e[6] : null
            }

            function la(e) {
                return function Kl(e, n) {
                    if ("class" === n) return e.classes;
                    if ("style" === n) return e.styles;
                    const i = e.attrs;
                    if (i) {
                        const a = i.length;
                        let d = 0;
                        for (; d < a;) {
                            const v = i[d];
                            if (pt(v)) break;
                            if (0 === v) d += 2;
                            else if ("number" == typeof v)
                                for (d++; d < a && "string" == typeof i[d];) d++;
                            else {
                                if (v === n) return i[d + 1];
                                d += 2
                            }
                        }
                    }
                    return null
                }(en(), e)
            }
            const Ca = "__parameters__";

            function Ra(e, n, i) {
                return Mr(() => {
                    const a = function xc(e) {
                        return function(...i) {
                            if (e) {
                                const a = e(...i);
                                for (const d in a) this[d] = a[d]
                            }
                        }
                    }(n);

                    function d(...v) {
                        if (this instanceof d) return a.apply(this, v), this;
                        const E = new d(...v);
                        return N.annotation = E, N;

                        function N(W, pe, Ne) {
                            const Qe = W.hasOwnProperty(Ca) ? W[Ca] : Object.defineProperty(W, Ca, {
                                value: []
                            })[Ca];
                            for (; Qe.length <= Ne;) Qe.push(null);
                            return (Qe[Ne] = Qe[Ne] || []).push(E), W
                        }
                    }
                    return i && (d.prototype = Object.create(i.prototype)), d.prototype.ngMetadataName = e, d.annotationCls = d, d
                })
            }
            class Mi {
                constructor(n, i) {
                    this._desc = n, this.ngMetadataName = "InjectionToken", this.\u0275prov = void 0, "number" == typeof i ? this.__NG_ELEMENT_ID__ = i : void 0 !== i && (this.\u0275prov = Fe({
                        token: this,
                        providedIn: i.providedIn || "root",
                        factory: i.factory
                    }))
                }
                get multi() {
                    return this
                }
                toString() {
                    return `InjectionToken ${this._desc}`
                }
            }

            function rs(e, n) {
                void 0 === n && (n = e);
                for (let i = 0; i < e.length; i++) {
                    let a = e[i];
                    Array.isArray(a) ? (n === e && (n = e.slice(0, i)), rs(a, n)) : n !== e && n.push(a)
                }
                return n
            }

            function Vs(e, n) {
                e.forEach(i => Array.isArray(i) ? Vs(i, n) : n(i))
            }

            function Sl(e, n, i) {
                n >= e.length ? e.push(i) : e.splice(n, 0, i)
            }

            function po(e, n) {
                return n >= e.length - 1 ? e.pop() : e.splice(n, 1)[0]
            }

            function O(e, n) {
                const i = [];
                for (let a = 0; a < e; a++) i.push(n);
                return i
            }

            function st(e, n, i) {
                let a = bn(e, n);
                return a >= 0 ? e[1 | a] = i : (a = ~a, function z(e, n, i, a) {
                    let d = e.length;
                    if (d == n) e.push(i, a);
                    else if (1 === d) e.push(a, e[0]), e[0] = i;
                    else {
                        for (d--, e.push(e[d - 1], e[d]); d > n;) e[d] = e[d - 2], d--;
                        e[n] = i, e[n + 1] = a
                    }
                }(e, a, n, i)), a
            }

            function Yt(e, n) {
                const i = bn(e, n);
                if (i >= 0) return e[1 | i]
            }

            function bn(e, n) {
                return function On(e, n, i) {
                    let a = 0,
                        d = e.length >> i;
                    for (; d !== a;) {
                        const v = a + (d - a >> 1),
                            E = e[v << i];
                        if (n === E) return v << i;
                        E > n ? d = v : a = v + 1
                    }
                    return ~(d << i)
                }(e, n, 1)
            }
            const Hs = {},
                xa = "__NG_DI_FLAG__",
                hl = "ngTempTokenPath",
                xu = /\n/gm,
                qa = "__source";
            let Ja;

            function ho(e) {
                const n = Ja;
                return Ja = e, n
            }

            function kd(e, n = tn.Default) {
                if (void 0 === Ja) throw new oe(-203, !1);
                return null === Ja ? Qn(e, void 0, n) : Ja.get(e, n & tn.Optional ? null : void 0, n)
            }

            function mo(e, n = tn.Default) {
                return (function pn() {
                    return Cn
                }() || kd)(k(e), n)
            }

            function Qc(e, n = tn.Default) {
                return "number" != typeof n && (n = 0 | (n.optional && 8) | (n.host && 1) | (n.self && 2) | (n.skipSelf && 4)), mo(e, n)
            }

            function wa(e) {
                const n = [];
                for (let i = 0; i < e.length; i++) {
                    const a = k(e[i]);
                    if (Array.isArray(a)) {
                        if (0 === a.length) throw new oe(900, !1);
                        let d, v = tn.Default;
                        for (let E = 0; E < a.length; E++) {
                            const N = a[E],
                                W = gf(N);
                            "number" == typeof W ? -1 === W ? d = N.token : v |= W : d = N
                        }
                        n.push(mo(d, v))
                    } else n.push(mo(a))
                }
                return n
            }

            function vs(e, n) {
                return e[xa] = n, e.prototype[xa] = n, e
            }

            function gf(e) {
                return e[xa]
            }
            const ka = vs(Ra("Inject", e => ({
                    token: e
                })), -1),
                $o = vs(Ra("Optional"), 8),
                ml = vs(Ra("Self"), 2),
                gl = vs(Ra("SkipSelf"), 4);
            var _l = (() => ((_l = _l || {})[_l.Important = 1] = "Important", _l[_l.DashCase = 2] = "DashCase", _l))();
            const Mu = /^>|^->|<!--|-->|--!>|<!-$/g,
                Or = /(<|>)/;
            const Ea = new Map;
            let Pu = 0;
            const A = "__ngContext__";

            function y(e, n) {
                $r(n) ? (e[A] = n[20], function lu(e) {
                    Ea.set(e[20], e)
                }(n)) : e[A] = n
            }
            let vr;

            function Pn(e, n) {
                return vr(e, n)
            }

            function Ui(e) {
                const n = e[3];
                return hi(n) ? n[3] : n
            }

            function os(e) {
                return Bo(e[13])
            }

            function oi(e) {
                return Bo(e[4])
            }

            function Bo(e) {
                for (; null !== e && !hi(e);) e = e[4];
                return e
            }

            function qi(e, n, i, a, d) {
                if (null != a) {
                    let v, E = !1;
                    hi(a) ? v = a : $r(a) && (E = !0, a = a[0]);
                    const N = xi(a);
                    0 === e && null !== i ? null == d ? fa(n, i, N) : Xs(n, i, N, d || null, !0) : 1 === e && null !== i ? Xs(n, i, N, d || null, !0) : 2 === e ? Mc(n, N, E) : 3 === e && n.destroyNode(N), null != v && function Vc(e, n, i, a, d) {
                        const v = i[7];
                        v !== xi(i) && qi(n, e, a, v, d);
                        for (let N = 10; N < i.length; N++) {
                            const W = i[N];
                            vl(W[1], W, e, n, a, v)
                        }
                    }(n, e, v, i, d)
                }
            }

            function Ba(e, n) {
                return e.createText(n)
            }

            function Nu(e, n, i) {
                e.setValue(n, i)
            }

            function Qa(e, n) {
                return e.createComment(function Su(e) {
                    return e.replace(Mu, n => n.replace(Or, "\u200b$1\u200b"))
                }(n))
            }

            function da(e, n, i) {
                return e.createElement(n, i)
            }

            function Uo(e, n) {
                const i = e[9],
                    a = i.indexOf(n),
                    d = n[3];
                512 & n[2] && (n[2] &= -513, lo(d, -1)), i.splice(a, 1)
            }

            function ss(e, n) {
                if (e.length <= 10) return;
                const i = 10 + n,
                    a = e[i];
                if (a) {
                    const d = a[17];
                    null !== d && d !== e && Uo(d, a), n > 0 && (e[i - 1][4] = a[4]);
                    const v = po(e, 10 + n);
                    ! function oc(e, n) {
                        vl(e, n, n[11], 2, null, null), n[0] = null, n[6] = null
                    }(a[1], a);
                    const E = v[19];
                    null !== E && E.detachView(v[1]), a[3] = null, a[4] = null, a[2] &= -65
                }
                return a
            }

            function Io(e, n) {
                if (!(128 & n[2])) {
                    const i = n[11];
                    i.destroyNode && vl(e, n, i, 3, null, null),
                        function or(e) {
                            let n = e[13];
                            if (!n) return ws(e[1], e);
                            for (; n;) {
                                let i = null;
                                if ($r(n)) i = n[13];
                                else {
                                    const a = n[10];
                                    a && (i = a)
                                }
                                if (!i) {
                                    for (; n && !n[4] && n !== e;) $r(n) && ws(n[1], n), n = n[3];
                                    null === n && (n = e), $r(n) && ws(n[1], n), i = n && n[4]
                                }
                                n = i
                            }
                        }(n)
                }
            }

            function ws(e, n) {
                if (!(128 & n[2])) {
                    n[2] &= -65, n[2] |= 128,
                        function Ac(e, n) {
                            let i;
                            if (null != e && null != (i = e.destroyHooks))
                                for (let a = 0; a < i.length; a += 2) {
                                    const d = n[i[a]];
                                    if (!(d instanceof ll)) {
                                        const v = i[a + 1];
                                        if (Array.isArray(v))
                                            for (let E = 0; E < v.length; E += 2) {
                                                const N = d[v[E]],
                                                    W = v[E + 1];
                                                try {
                                                    W.call(N)
                                                } finally {}
                                            } else try {
                                                v.call(d)
                                            } finally {}
                                    }
                                }
                        }(e, n),
                        function Zi(e, n) {
                            const i = e.cleanup,
                                a = n[7];
                            let d = -1;
                            if (null !== i)
                                for (let v = 0; v < i.length - 1; v += 2)
                                    if ("string" == typeof i[v]) {
                                        const E = i[v + 1],
                                            N = "function" == typeof E ? E(n) : xi(n[E]),
                                            W = a[d = i[v + 2]],
                                            pe = i[v + 3];
                                        "boolean" == typeof pe ? N.removeEventListener(i[v], W, pe) : pe >= 0 ? a[d = pe]() : a[d = -pe].unsubscribe(), v += 2
                                    } else {
                                        const E = a[d = i[v + 1]];
                                        i[v].call(E)
                                    }
                            if (null !== a) {
                                for (let v = d + 1; v < a.length; v++)(0, a[v])();
                                n[7] = null
                            }
                        }(e, n), 1 === n[1].type && n[11].destroy();
                    const i = n[17];
                    if (null !== i && hi(n[3])) {
                        i !== n[3] && Uo(i, n);
                        const a = n[19];
                        null !== a && a.detachView(e)
                    }! function xf(e) {
                        Ea.delete(e[20])
                    }(n)
                }
            }

            function sc(e, n, i) {
                return Wi(e, n.parent, i)
            }

            function Wi(e, n, i) {
                let a = n;
                for (; null !== a && 40 & a.type;) a = (n = a).parent;
                if (null === a) return i[0];
                if (2 & a.flags) {
                    const d = e.data[a.directiveStart].encapsulation;
                    if (d === Pt.None || d === Pt.Emulated) return null
                }
                return so(a, i)
            }

            function Xs(e, n, i, a, d) {
                e.insertBefore(n, i, a, d)
            }

            function fa(e, n, i) {
                e.appendChild(n, i)
            }

            function ac(e, n, i, a, d) {
                null !== a ? Xs(e, n, i, a, d) : fa(e, n, i)
            }

            function Vd(e, n) {
                return e.parentNode(n)
            }

            function lc(e, n, i) {
                return Ef(e, n, i)
            }

            function wf(e, n, i) {
                return 40 & e.type ? so(e, i) : null
            }
            let Df, du, Fu, ad, Ef = wf;

            function Tf(e, n) {
                Ef = e, Df = n
            }

            function rd(e, n, i, a) {
                const d = sc(e, a, n),
                    v = n[11],
                    N = lc(a.parent || n[6], a, n);
                if (null != d)
                    if (Array.isArray(i))
                        for (let W = 0; W < i.length; W++) ac(v, d, i[W], N, !1);
                    else ac(v, d, i, N, !1);
                void 0 !== Df && Df(v, a, n, i, d)
            }

            function Hd(e, n) {
                if (null !== n) {
                    const i = n.type;
                    if (3 & i) return so(n, e);
                    if (4 & i) return id(-1, e[n.index]);
                    if (8 & i) {
                        const a = n.child;
                        if (null !== a) return Hd(e, a); {
                            const d = e[n.index];
                            return hi(d) ? id(-1, d) : xi(d)
                        }
                    }
                    if (32 & i) return Pn(n, e)() || xi(e[n.index]); {
                        const a = Il(e, n);
                        return null !== a ? Array.isArray(a) ? a[0] : Hd(Ui(e[16]), a) : Hd(e, n.next)
                    }
                }
                return null
            }

            function Il(e, n) {
                return null !== n ? e[16][6].projection[n.projection] : null
            }

            function id(e, n) {
                const i = 10 + e + 1;
                if (i < n.length) {
                    const a = n[i],
                        d = a[1].firstChild;
                    if (null !== d) return Hd(a, d)
                }
                return n[7]
            }

            function Mc(e, n, i) {
                const a = Vd(e, n);
                a && function Ru(e, n, i, a) {
                    e.removeChild(n, i, a)
                }(e, a, n, i)
            }

            function od(e, n, i, a, d, v, E) {
                for (; null != i;) {
                    const N = a[i.index],
                        W = i.type;
                    if (E && 0 === n && (N && y(xi(N), a), i.flags |= 4), 64 != (64 & i.flags))
                        if (8 & W) od(e, n, i.child, a, d, v, !1), qi(n, e, d, N, v);
                        else if (32 & W) {
                        const pe = Pn(i, a);
                        let Ne;
                        for (; Ne = pe();) qi(n, e, d, Ne, v);
                        qi(n, e, d, N, v)
                    } else 16 & W ? ur(e, n, a, i, d, v) : qi(n, e, d, N, v);
                    i = E ? i.projectionNext : i.next
                }
            }

            function vl(e, n, i, a, d, v) {
                od(i, a, e.firstChild, n, d, v, !1)
            }

            function ur(e, n, i, a, d, v) {
                const E = i[16],
                    W = E[6].projection[a.projection];
                if (Array.isArray(W))
                    for (let pe = 0; pe < W.length; pe++) qi(n, e, d, W[pe], v);
                else od(e, n, W, E[3], d, v, !0)
            }

            function Xa(e, n, i) {
                e.setAttribute(n, "style", i)
            }

            function jd(e, n, i) {
                "" === i ? e.removeAttribute(n, "class") : e.setAttribute(n, "class", i)
            }

            function Ko(e) {
                return function Nl() {
                    if (void 0 === du && (du = null, jt.trustedTypes)) try {
                        du = jt.trustedTypes.createPolicy("angular", {
                            createHTML: e => e,
                            createScript: e => e,
                            createScriptURL: e => e
                        })
                    } catch {}
                    return du
                }() ? .createHTML(e) || e
            }

            function gp(e) {
                Fu = e
            }

            function Af() {
                return void 0 !== Fu ? Fu : typeof document < "u" ? document : void 0
            }

            function pa(e) {
                return function Rl() {
                    if (void 0 === ad && (ad = null, jt.trustedTypes)) try {
                        ad = jt.trustedTypes.createPolicy("angular#unsafe-bypass", {
                            createHTML: e => e,
                            createScript: e => e,
                            createScriptURL: e => e
                        })
                    } catch {}
                    return ad
                }() ? .createHTML(e) || e
            }
            class kl {
                constructor(n) {
                    this.changingThisBreaksApplicationSecurity = n
                }
                toString() {
                    return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`
                }
            }
            class Gd extends kl {
                getTypeName() {
                    return "HTML"
                }
            }
            class Zd extends kl {
                getTypeName() {
                    return "Style"
                }
            }
            class Hc extends kl {
                getTypeName() {
                    return "Script"
                }
            }
            class Wd extends kl {
                getTypeName() {
                    return "URL"
                }
            }
            class Mf extends kl {
                getTypeName() {
                    return "ResourceURL"
                }
            }

            function cc(e) {
                return e instanceof kl ? e.changingThisBreaksApplicationSecurity : e
            }

            function uc(e, n) {
                const i = function ih(e) {
                    return e instanceof kl && e.getTypeName() || null
                }(e);
                if (null != i && i !== n) {
                    if ("ResourceURL" === i && "URL" === n) return !0;
                    throw new Error(`Required a safe ${n}, got a ${i} (see https://g.co/ng/security#xss)`)
                }
                return i === n
            }

            function _p(e) {
                return new Gd(e)
            }

            function zd(e) {
                return new Zd(e)
            }

            function ku(e) {
                return new Hc(e)
            }

            function Kd(e) {
                return new Wd(e)
            }

            function cd(e) {
                return new Mf(e)
            }

            function ud(e) {
                const n = new dd(e);
                return function Yd() {
                    try {
                        return !!(new window.DOMParser).parseFromString(Ko(""), "text/html")
                    } catch {
                        return !1
                    }
                }() ? new fu(n) : n
            }
            class fu {
                constructor(n) {
                    this.inertDocumentHelper = n
                }
                getInertBodyElement(n) {
                    n = "<body><remove></remove>" + n;
                    try {
                        const i = (new window.DOMParser).parseFromString(Ko(n), "text/html").body;
                        return null === i ? this.inertDocumentHelper.getInertBodyElement(n) : (i.removeChild(i.firstChild), i)
                    } catch {
                        return null
                    }
                }
            }
            class dd {
                constructor(n) {
                    if (this.defaultDoc = n, this.inertDocument = this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"), null == this.inertDocument.body) {
                        const i = this.inertDocument.createElement("html");
                        this.inertDocument.appendChild(i);
                        const a = this.inertDocument.createElement("body");
                        i.appendChild(a)
                    }
                }
                getInertBodyElement(n) {
                    const i = this.inertDocument.createElement("template");
                    if ("content" in i) return i.innerHTML = Ko(n), i;
                    const a = this.inertDocument.createElement("body");
                    return a.innerHTML = Ko(n), this.defaultDoc.documentMode && this.stripCustomNsAttrs(a), a
                }
                stripCustomNsAttrs(n) {
                    const i = n.attributes;
                    for (let d = i.length - 1; 0 < d; d--) {
                        const E = i.item(d).name;
                        ("xmlns:ns1" === E || 0 === E.indexOf("ns1:")) && n.removeAttribute(E)
                    }
                    let a = n.firstChild;
                    for (; a;) a.nodeType === Node.ELEMENT_NODE && this.stripCustomNsAttrs(a), a = a.nextSibling
                }
            }
            const qd = /^(?:(?:https?|mailto|data|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi;

            function pu(e) {
                return (e = String(e)).match(qd) ? e : "unsafe:" + e
            }

            function dc(e) {
                const n = {};
                for (const i of e.split(",")) n[i] = !0;
                return n
            }

            function Ta(...e) {
                const n = {};
                for (const i of e)
                    for (const a in i) i.hasOwnProperty(a) && (n[a] = !0);
                return n
            }
            const Sc = dc("area,br,col,hr,img,wbr"),
                Sf = dc("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),
                fd = dc("rp,rt"),
                Pf = Ta(Sc, Ta(Sf, dc("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")), Ta(fd, dc("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")), Ta(fd, Sf)),
                If = dc("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),
                sh = Ta(If, dc("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"), dc("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),
                ah = dc("script,style,template");
            class Gh {
                constructor() {
                    this.sanitizedSomething = !1, this.buf = []
                }
                sanitizeChildren(n) {
                    let i = n.firstChild,
                        a = !0;
                    for (; i;)
                        if (i.nodeType === Node.ELEMENT_NODE ? a = this.startElement(i) : i.nodeType === Node.TEXT_NODE ? this.chars(i.nodeValue) : this.sanitizedSomething = !0, a && i.firstChild) i = i.firstChild;
                        else
                            for (; i;) {
                                i.nodeType === Node.ELEMENT_NODE && this.endElement(i);
                                let d = this.checkClobberedElement(i, i.nextSibling);
                                if (d) {
                                    i = d;
                                    break
                                }
                                i = this.checkClobberedElement(i, i.parentNode)
                            }
                    return this.buf.join("")
                }
                startElement(n) {
                    const i = n.nodeName.toLowerCase();
                    if (!Pf.hasOwnProperty(i)) return this.sanitizedSomething = !0, !ah.hasOwnProperty(i);
                    this.buf.push("<"), this.buf.push(i);
                    const a = n.attributes;
                    for (let d = 0; d < a.length; d++) {
                        const v = a.item(d),
                            E = v.name,
                            N = E.toLowerCase();
                        if (!sh.hasOwnProperty(N)) {
                            this.sanitizedSomething = !0;
                            continue
                        }
                        let W = v.value;
                        If[N] && (W = pu(W)), this.buf.push(" ", E, '="', Nf(W), '"')
                    }
                    return this.buf.push(">"), !0
                }
                endElement(n) {
                    const i = n.nodeName.toLowerCase();
                    Pf.hasOwnProperty(i) && !Sc.hasOwnProperty(i) && (this.buf.push("</"), this.buf.push(i), this.buf.push(">"))
                }
                chars(n) {
                    this.buf.push(Nf(n))
                }
                checkClobberedElement(n, i) {
                    if (i && (n.compareDocumentPosition(i) & Node.DOCUMENT_POSITION_CONTAINED_BY) === Node.DOCUMENT_POSITION_CONTAINED_BY) throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);
                    return i
                }
            }
            const Zh = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
                bp = /([^\#-~ |!])/g;

            function Nf(e) {
                return e.replace(/&/g, "&amp;").replace(Zh, function(n) {
                    return "&#" + (1024 * (n.charCodeAt(0) - 55296) + (n.charCodeAt(1) - 56320) + 65536) + ";"
                }).replace(bp, function(n) {
                    return "&#" + n.charCodeAt(0) + ";"
                }).replace(/</g, "&lt;").replace(/>/g, "&gt;")
            }
            let pd;

            function Rf(e, n) {
                let i = null;
                try {
                    pd = pd || ud(e);
                    let a = n ? String(n) : "";
                    i = pd.getInertBodyElement(a);
                    let d = 5,
                        v = a;
                    do {
                        if (0 === d) throw new Error("Failed to sanitize html because the input is unstable");
                        d--, a = v, v = i.innerHTML, i = pd.getInertBodyElement(a)
                    } while (a !== v);
                    return Ko((new Gh).sanitizeChildren(Ff(i) || i))
                } finally {
                    if (i) {
                        const a = Ff(i) || i;
                        for (; a.firstChild;) a.removeChild(a.firstChild)
                    }
                }
            }

            function Ff(e) {
                return "content" in e && function lh(e) {
                    return e.nodeType === Node.ELEMENT_NODE && "TEMPLATE" === e.nodeName
                }(e) ? e.content : null
            }
            var Yo = (() => ((Yo = Yo || {})[Yo.NONE = 0] = "NONE", Yo[Yo.HTML = 1] = "HTML", Yo[Yo.STYLE = 2] = "STYLE", Yo[Yo.SCRIPT = 3] = "SCRIPT", Yo[Yo.URL = 4] = "URL", Yo[Yo.RESOURCE_URL = 5] = "RESOURCE_URL", Yo))();

            function Cp(e) {
                const n = md();
                return n ? pa(n.sanitize(Yo.HTML, e) || "") : uc(e, "HTML") ? pa(cc(e)) : Rf(Af(), Ae(e))
            }

            function kf(e) {
                const n = md();
                return n ? n.sanitize(Yo.URL, e) || "" : uc(e, "URL") ? cc(e) : pu(Ae(e))
            }

            function md() {
                const e = ie();
                return e && e[12]
            }
            const Lf = new Mi("ENVIRONMENT_INITIALIZER"),
                $f = new Mi("INJECTOR", -1),
                Tp = new Mi("INJECTOR_DEF_TYPES");
            class gd {
                get(n, i = Hs) {
                    if (i === Hs) {
                        const a = new Error(`NullInjectorError: No provider for ${$(n)}!`);
                        throw a.name = "NullInjectorError", a
                    }
                    return i
                }
            }

            function Op(...e) {
                return {\
                    u0275providers: Ap(0, e)
                }
            }

            function Ap(e, ...n) {
                const i = [],
                    a = new Set;
                let d;
                return Vs(n, v => {
                    const E = v;
                    Uf(E, i, [], a) && (d || (d = []), d.push(E))
                }), void 0 !== d && Bf(d, i), i
            }

            function Bf(e, n) {
                for (let i = 0; i < e.length; i++) {
                    const {
                        providers: d
                    } = e[i];
                    Vs(d, v => {
                        n.push(v)
                    })
                }
            }

            function Uf(e, n, i, a) {
                if (!(e = k(e))) return !1;
                let d = null,
                    v = _n(e);
                const E = !v && lr(e);
                if (v || E) {
                    if (E && !E.standalone) return !1;
                    d = e
                } else {
                    const W = e.ngModule;
                    if (v = _n(W), !v) return !1;
                    d = W
                }
                const N = a.has(d);
                if (E) {
                    if (N) return !1;
                    if (a.add(d), E.dependencies) {
                        const W = "function" == typeof E.dependencies ? E.dependencies() : E.dependencies;
                        for (const pe of W) Uf(pe, n, i, a)
                    }
                } else {
                    if (!v) return !1; {
                        if (null != v.imports && !N) {
                            let pe;
                            a.add(d);
                            try {
                                Vs(v.imports, Ne => {
                                    Uf(Ne, n, i, a) && (pe || (pe = []), pe.push(Ne))
                                })
                            } finally {}
                            void 0 !== pe && Bf(pe, n)
                        }
                        if (!N) {
                            const pe = Co(d) || (() => new d);
                            n.push({
                                provide: d,
                                useFactory: pe,
                                deps: sn
                            }, {
                                provide: Tp,
                                useValue: d,
                                multi: !0
                            }, {
                                provide: Lf,
                                useValue: () => mo(d),
                                multi: !0
                            })
                        }
                        const W = v.providers;
                        null == W || N || Vs(W, Ne => {
                            n.push(Ne)
                        })
                    }
                }
                return d !== e && void 0 !== e.providers
            }
            const dh = V({
                provide: String,
                useValue: V
            });

            function Hf(e) {
                return null !== e && "object" == typeof e && dh in e
            }

            function hu(e) {
                return "function" == typeof e
            }
            const Gf = new Mi("Set Injector scope."),
                el = {},
                qo = {};
            let _d;

            function js() {
                return void 0 === _d && (_d = new gd), _d
            }
            class jc {}
            class Sp extends jc {
                constructor(n, i, a, d) {
                    super(), this.parent = i, this.source = a, this.scopes = d, this.records = new Map, this._ngOnDestroyHooks = new Set, this._onDestroyHooks = [], this._destroyed = !1, Lu(n, E => this.processProvider(E)), this.records.set($f, fc(void 0, this)), d.has("environment") && this.records.set(jc, fc(void 0, this));
                    const v = this.records.get(Gf);
                    null != v && "string" == typeof v.value && this.scopes.add(v.value), this.injectorDefTypes = new Set(this.get(Tp.multi, sn, tn.Self))
                }
                get destroyed() {
                    return this._destroyed
                }
                destroy() {
                    this.assertNotDestroyed(), this._destroyed = !0;
                    try {
                        for (const n of this._ngOnDestroyHooks) n.ngOnDestroy();
                        for (const n of this._onDestroyHooks) n()
                    } finally {
                        this.records.clear(), this._ngOnDestroyHooks.clear(), this.injectorDefTypes.clear(), this._onDestroyHooks.length = 0
                    }
                }
                onDestroy(n) {
                    this._onDestroyHooks.push(n)
                }
                runInContext(n) {
                    this.assertNotDestroyed();
                    const i = ho(this),
                        a = Rn(void 0);
                    try {
                        return n()
                    } finally {
                        ho(i), Rn(a)
                    }
                }
                get(n, i = Hs, a = tn.Default) {
                    this.assertNotDestroyed();
                    const d = ho(this),
                        v = Rn(void 0);
                    try {
                        if (!(a & tn.SkipSelf)) {
                            let N = this.records.get(n);
                            if (void 0 === N) {
                                const W = function ef(e) {
                                    return "function" == typeof e || "object" == typeof e && e instanceof Mi
                                }(n) && vt(n);
                                N = W && this.injectableDefInScope(W) ? fc(Zf(n), el) : null, this.records.set(n, N)
                            }
                            if (null != N) return this.hydrate(n, N)
                        }
                        return (a & tn.Self ? js() : this.parent).get(n, i = a & tn.Optional && i === Hs ? null : i)
                    } catch (E) {
                        if ("NullInjectorError" === E.name) {
                            if ((E[hl] = E[hl] || []).unshift($(n)), d) throw E;
                            return function Xc(e, n, i, a) {
                                const d = e[hl];
                                throw n[qa] && d.unshift(n[qa]), e.message = function wu(e, n, i, a = null) {
                                    e = e && "\n" === e.charAt(0) && "\u0275" == e.charAt(1) ? e.slice(2) : e;
                                    let d = $(n);
                                    if (Array.isArray(n)) d = n.map($).join(" -> ");
                                    else if ("object" == typeof n) {
                                        let v = [];
                                        for (let E in n)
                                            if (n.hasOwnProperty(E)) {
                                                let N = n[E];
                                                v.push(E + ":" + ("string" == typeof N ? JSON.stringify(N) : $(N)))
                                            }
                                        d = `{${v.join(", ")}}`
                                    }
                                    return `${i}${a?"("+a+")":""}[${d}]: ${e.replace(xu,"\n  ")}`
                                }("\n" + e.message, d, i, a), e.ngTokenPath = d, e[hl] = null, e
                            }(E, n, "R3InjectorError", this.source)
                        }
                        throw E
                    } finally {
                        Rn(v), ho(d)
                    }
                }
                resolveInjectorInitializers() {
                    const n = ho(this),
                        i = Rn(void 0);
                    try {
                        const a = this.get(Lf.multi, sn, tn.Self);
                        for (const d of a) d()
                    } finally {
                        ho(n), Rn(i)
                    }
                }
                toString() {
                    const n = [],
                        i = this.records;
                    for (const a of i.keys()) n.push($(a));
                    return `R3Injector[${n.join(", ")}]`
                }
                assertNotDestroyed() {
                    if (this._destroyed) throw new oe(205, !1)
                }
                processProvider(n) {
                    let i = hu(n = k(n)) ? n : k(n && n.provide);
                    const a = function Wf(e) {
                        return Hf(e) ? fc(void 0, e.useValue) : fc(Qd(e), el)
                    }(n);
                    if (hu(n) || !0 !== n.multi) this.records.get(i);
                    else {
                        let d = this.records.get(i);
                        d || (d = fc(void 0, el, !0), d.factory = () => wa(d.multi), this.records.set(i, d)), i = n, d.multi.push(n)
                    }
                    this.records.set(i, a)
                }
                hydrate(n, i) {
                    return i.value === el && (i.value = qo, i.value = i.factory()), "object" == typeof i.value && i.value && function Xd(e) {
                        return null !== e && "object" == typeof e && "function" == typeof e.ngOnDestroy
                    }(i.value) && this._ngOnDestroyHooks.add(i.value), i.value
                }
                injectableDefInScope(n) {
                    if (!n.providedIn) return !1;
                    const i = k(n.providedIn);
                    return "string" == typeof i ? "any" === i || this.scopes.has(i) : this.injectorDefTypes.has(i)
                }
            }

            function Zf(e) {
                const n = vt(e),
                    i = null !== n ? n.factory : Co(e);
                if (null !== i) return i;
                if (e instanceof Mi) throw new oe(204, !1);
                if (e instanceof Function) return function ph(e) {
                    const n = e.length;
                    if (n > 0) throw O(n, "?"), new oe(204, !1);
                    const i = function mt(e) {
                        const n = e && (e[Ln] || e[kn]);
                        if (n) {
                            const i = function Lt(e) {
                                if (e.hasOwnProperty("name")) return e.name;
                                const n = ("" + e).match(/^function\s*([^\s(]+)/);
                                return null === n ? "" : n[1]
                            }(e);
                            return console.warn(`DEPRECATED: DI is instantiating a token "${i}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${i}" class.`), n
                        }
                        return null
                    }(e);
                    return null !== i ? () => i.factory(e) : () => new e
                }(e);
                throw new oe(204, !1)
            }

            function Qd(e, n, i) {
                let a;
                if (hu(e)) {
                    const d = k(e);
                    return Co(d) || Zf(d)
                }
                if (Hf(e)) a = () => k(e.useValue);
                else if (function Mp(e) {
                        return !(!e || !e.useFactory)
                    }(e)) a = () => e.useFactory(...wa(e.deps || []));
                else if (function jf(e) {
                        return !(!e || !e.useExisting)
                    }(e)) a = () => mo(k(e.useExisting));
                else {
                    const d = k(e && (e.useClass || e.provide));
                    if (! function vd(e) {
                            return !!e.deps
                        }(e)) return Co(d) || Zf(d);
                    a = () => new d(...wa(e.deps))
                }
                return a
            }

            function fc(e, n, i = !1) {
                return {
                    factory: e,
                    value: n,
                    multi: i ? [] : void 0
                }
            }

            function tf(e) {
                return !!e.\u0275providers
            }

            function Lu(e, n) {
                for (const i of e) Array.isArray(i) ? Lu(i, n) : tf(i) ? Lu(i.\u0275providers, n) : n(i)
            }
            class Ip {}
            class hh {
                resolveComponentFactory(n) {
                    throw function Np(e) {
                        const n = Error(`No component factory found for ${$(e)}. Did you add it to @NgModule.entryComponents?`);
                        return n.ngComponent = e, n
                    }(n)
                }
            }
            let bd = (() => {
                class e {}
                return e.NULL = new hh, e
            })();

            function Rp() {
                return Bu(en(), ie())
            }

            function Bu(e, n) {
                return new Cd(so(e, n))
            }
            let Cd = (() => {
                class e {
                    constructor(i) {
                        this.nativeElement = i
                    }
                }
                return e.__NG_ELEMENT_ID__ = Rp, e
            })();

            function Wh(e) {
                return e instanceof Cd ? e.nativeElement : e
            }
            class xd {}
            let mu = (() => {
                    class e {}
                    return e.__NG_ELEMENT_ID__ = () => function mh() {
                        const e = ie(),
                            i = Ti(en().index, e);
                        return ($r(i) ? i : e)[11]
                    }(), e
                })(),
                gh = (() => {
                    class e {}
                    return e.\u0275prov = Fe({
                        token: e,
                        providedIn: "root",
                        factory: () => null
                    }), e
                })();
            class Fp {
                constructor(n) {
                    this.full = n, this.major = n.split(".")[0], this.minor = n.split(".")[1], this.patch = n.split(".").slice(2).join(".")
                }
            }
            const kp = new Fp("14.3.0"),
                nf = {};

            function rf(e) {
                return e.ngOriginalError
            }
            class gu {
                constructor() {
                    this._console = console
                }
                handleError(n) {
                    const i = this._findOriginalError(n);
                    this._console.error("ERROR", n), i && this._console.error("ORIGINAL ERROR", i)
                }
                _findOriginalError(n) {
                    let i = n && rf(n);
                    for (; i && rf(i);) i = rf(i);
                    return i || null
                }
            }

            function _u(e) {
                return e.ownerDocument.defaultView
            }

            function Ed(e) {
                return e.ownerDocument
            }

            function pc(e) {
                return e instanceof Function ? e() : e
            }

            function Yf(e, n, i) {
                let a = e.length;
                for (;;) {
                    const d = e.indexOf(n, i);
                    if (-1 === d) return d;
                    if (0 === d || e.charCodeAt(d - 1) <= 32) {
                        const v = n.length;
                        if (d + v === a || e.charCodeAt(d + v) <= 32) return d
                    }
                    i = d + 1
                }
            }
            const qf = "ng-template";

            function Jf(e, n, i) {
                let a = 0;
                for (; a < e.length;) {
                    let d = e[a++];
                    if (i && "class" === d) {
                        if (d = e[a], -1 !== Yf(d.toLowerCase(), n, 0)) return !0
                    } else if (1 === d) {
                        for (; a < e.length && "string" == typeof(d = e[a++]);)
                            if (d.toLowerCase() === n) return !0;
                        return !1
                    }
                }
                return !1
            }

            function Qf(e) {
                return 4 === e.type && e.value !== qf
            }

            function Xf(e, n, i) {
                return n === (4 !== e.type || i ? e.value : qf)
            }

            function ep(e, n, i) {
                let a = 4;
                const d = e.attrs || [],
                    v = function I(e) {
                        for (let n = 0; n < e.length; n++)
                            if (pt(e[n])) return n;
                        return e.length
                    }(d);
                let E = !1;
                for (let N = 0; N < n.length; N++) {
                    const W = n[N];
                    if ("number" != typeof W) {
                        if (!E)
                            if (4 & a) {
                                if (a = 2 | 1 & a, "" !== W && !Xf(e, W, i) || "" === W && 1 === n.length) {
                                    if (u(a)) return !1;
                                    E = !0
                                }
                            } else {
                                const pe = 8 & a ? W : n[++N];
                                if (8 & a && null !== e.attrs) {
                                    if (!Jf(e.attrs, pe, i)) {
                                        if (u(a)) return !1;
                                        E = !0
                                    }
                                    continue
                                }
                                const Qe = c(8 & a ? "class" : W, d, Qf(e), i);
                                if (-1 === Qe) {
                                    if (u(a)) return !1;
                                    E = !0;
                                    continue
                                }
                                if ("" !== pe) {
                                    let _t;
                                    _t = Qe > v ? "" : d[Qe + 1].toLowerCase();
                                    const Ft = 8 & a ? _t : null;
                                    if (Ft && -1 !== Yf(Ft, pe, 0) || 2 & a && pe !== _t) {
                                        if (u(a)) return !1;
                                        E = !0
                                    }
                                }
                            }
                    } else {
                        if (!E && !u(a) && !u(W)) return !1;
                        if (E && u(W)) continue;
                        E = !1, a = W | 1 & a
                    }
                }
                return u(a) || E
            }

            function u(e) {
                return 0 == (1 & e)
            }

            function c(e, n, i, a) {
                if (null === n) return -1;
                let d = 0;
                if (a || !i) {
                    let v = !1;
                    for (; d < n.length;) {
                        const E = n[d];
                        if (E === e) return d;
                        if (3 === E || 6 === E) v = !0;
                        else {
                            if (1 === E || 2 === E) {
                                let N = n[++d];
                                for (;
                                    "string" == typeof N;) N = n[++d];
                                continue
                            }
                            if (4 === E) break;
                            if (0 === E) {
                                d += 4;
                                continue
                            }
                        }
                        d += v ? 1 : 2
                    }
                    return -1
                }
                return function Q(e, n) {
                    let i = e.indexOf(4);
                    if (i > -1)
                        for (i++; i < e.length;) {
                            const a = e[i];
                            if ("number" == typeof a) return -1;
                            if (a === n) return i;
                            i++
                        }
                    return -1
                }(n, e)
            }

            function p(e, n, i = !1) {
                for (let a = 0; a < n.length; a++)
                    if (ep(e, n[a], i)) return !0;
                return !1
            }

            function ve(e, n) {
                e: for (let i = 0; i < n.length; i++) {
                    const a = n[i];
                    if (e.length === a.length) {
                        for (let d = 0; d < e.length; d++)
                            if (e[d] !== a[d]) continue e;
                        return !0
                    }
                }
                return !1
            }

            function Ve(e, n) {
                return e ? ":not(" + n.trim() + ")" : n
            }

            function ze(e) {
                let n = e[0],
                    i = 1,
                    a = 2,
                    d = "",
                    v = !1;
                for (; i < e.length;) {
                    let E = e[i];
                    if ("string" == typeof E)
                        if (2 & a) {
                            const N = e[++i];
                            d += "[" + E + (N.length > 0 ? '="' + N + '"' : "") + "]"
                        } else 8 & a ? d += "." + E : 4 & a && (d += " " + E);
                    else "" !== d && !u(E) && (n += Ve(v, d), d = ""), a = E, v = v || !u(a);
                    i++
                }
                return "" !== d && (n += Ve(v, d)), n
            }
            const At = {};

            function Nt(e) {
                fn(rt(), ie(), ko() + e, !1)
            }

            function fn(e, n, i, a) {
                if (!a)
                    if (3 == (3 & n[2])) {
                        const v = e.preOrderCheckHooks;
                        null !== v && Sn(n, v, i)
                    } else {
                        const v = e.preOrderHooks;
                        null !== v && ir(n, v, 0, i)
                    }
                ms(i)
            }

            function mc(e, n = null, i = null, a) {
                const d = ea(e, n, i, a);
                return d.resolveInjectorInitializers(), d
            }

            function ea(e, n = null, i = null, a, d = new Set) {
                const v = [i || sn, Op(e)];
                return a = a || ("object" == typeof e ? void 0 : $(e)), new Sp(v, n || js(), a || null, d)
            }
            let Ll = (() => {
                class e {
                    static create(i, a) {
                        if (Array.isArray(i)) return mc({
                            name: ""
                        }, a, i, ""); {
                            const d = i.name ? ? "";
                            return mc({
                                name: d
                            }, i.parent, i.providers, d)
                        }
                    }
                }
                return e.THROW_IF_NOT_FOUND = Hs, e.NULL = new gd, e.\u0275prov = Fe({
                    token: e,
                    providedIn: "any",
                    factory: () => mo($f)
                }), e.__NG_ELEMENT_ID__ = -1, e
            })();

            function Ad(e, n = tn.Default) {
                const i = ie();
                return null === i ? mo(e, n) : Cc(en(), i, k(e), n)
            }

            function op() {
                throw new Error("invalid")
            }

            function gc(e, n) {
                return e << 17 | n << 2
            }

            function $l(e) {
                return e >> 17 & 32767
            }

            function wh(e) {
                return 2 | e
            }

            function tl(e) {
                return (131068 & e) >> 2
            }

            function Ds(e, n) {
                return -131069 & e | n << 2
            }

            function Xr(e) {
                return 1 | e
            }

            function D(e, n) {
                const i = e.contentQueries;
                if (null !== i)
                    for (let a = 0; a < i.length; a += 2) {
                        const d = i[a],
                            v = i[a + 1];
                        if (-1 !== v) {
                            const E = e.data[v];
                            es(d), E.contentQueries(2, n[v], v)
                        }
                    }
            }

            function ut(e, n, i, a, d, v, E, N, W, pe, Ne) {
                const Qe = n.blueprint.slice();
                return Qe[0] = d, Qe[2] = 76 | a, (null !== Ne || e && 1024 & e[2]) && (Qe[2] |= 1024), Oi(Qe), Qe[3] = Qe[15] = e, Qe[8] = i, Qe[10] = E || e && e[10], Qe[11] = N || e && e[11], Qe[12] = W || e && e[12] || null, Qe[9] = pe || e && e[9] || null, Qe[6] = v, Qe[20] = function td() {
                    return Pu++
                }(), Qe[21] = Ne, Qe[16] = 2 == n.type ? e[16] : Qe, Qe
            }

            function yt(e, n, i, a, d) {
                let v = e.data[n];
                if (null === v) v = Bt(e, n, i, a, d),
                    function Ic() {
                        return qn.lFrame.inI18n
                    }() && (v.flags |= 64);
                else if (64 & v.type) {
                    v.type = i, v.value = a, v.attrs = d;
                    const E = Y();
                    v.injectorIndex = null === E ? -1 : E.injectorIndex
                }
                return H(v, !0), v
            }

            function Bt(e, n, i, a, d) {
                const v = X(),
                    E = Ie(),
                    W = e.data[n] = function Fo(e, n, i, a, d, v) {
                        return {
                            type: i,
                            index: a,
                            insertBeforeIndex: null,
                            injectorIndex: n ? n.injectorIndex : -1,
                            directiveStart: -1,
                            directiveEnd: -1,
                            directiveStylingLast: -1,
                            propertyBindings: null,
                            flags: 0,
                            providerIndexes: 0,
                            value: d,
                            attrs: v,
                            mergedAttrs: null,
                            localNames: null,
                            initialInputs: void 0,
                            inputs: null,
                            outputs: null,
                            tViews: null,
                            next: null,
                            projectionNext: null,
                            child: null,
                            parent: n,
                            projection: null,
                            styles: null,
                            stylesWithoutHost: null,
                            residualStyles: void 0,
                            classes: null,
                            classesWithoutHost: null,
                            residualClasses: void 0,
                            classBindings: 0,
                            styleBindings: 0
                        }
                    }(0, E ? v : v && v.parent, i, n, a, d);
                return null === e.firstChild && (e.firstChild = W), null !== v && (E ? null == v.child && null !== W.parent && (v.child = W) : null === v.next && (v.next = W)), W
            }

            function qt(e, n, i, a) {
                if (0 === i) return -1;
                const d = n.length;
                for (let v = 0; v < i; v++) n.push(a), e.blueprint.push(a), e.data.push(null);
                return d
            }

            function Mn(e, n, i) {
                rl(n);
                try {
                    const a = e.viewQuery;
                    null !== a && up(1, a, i);
                    const d = e.template;
                    null !== d && Un(e, n, d, 1, i), e.firstCreatePass && (e.firstCreatePass = !1), e.staticContentQueries && D(e, n), e.staticViewQueries && up(2, e.viewQuery, i);
                    const v = e.components;
                    null !== v && function Ze(e, n) {
                        for (let i = 0; i < n.length; i++) dm(e, n[i])
                    }(n, v)
                } catch (a) {
                    throw e.firstCreatePass && (e.incompleteFirstPass = !0, e.firstCreatePass = !1), a
                } finally {
                    n[2] &= -5, sl()
                }
            }

            function Bn(e, n, i, a) {
                const d = n[2];
                if (128 != (128 & d)) {
                    rl(n);
                    try {
                        Oi(n),
                            function Ma(e) {
                                return qn.lFrame.bindingIndex = e
                            }(e.bindingStartIndex), null !== i && Un(e, n, i, 2, a);
                        const E = 3 == (3 & d);
                        if (E) {
                            const pe = e.preOrderCheckHooks;
                            null !== pe && Sn(n, pe, null)
                        } else {
                            const pe = e.preOrderHooks;
                            null !== pe && ir(n, pe, 0, null), ni(n, 0)
                        }
                        if (function Ah(e) {
                                for (let n = os(e); null !== n; n = oi(n)) {
                                    if (!n[2]) continue;
                                    const i = n[9];
                                    for (let a = 0; a < i.length; a++) {
                                        const d = i[a],
                                            v = d[3];
                                        0 == (512 & d[2]) && lo(v, 1), d[2] |= 512
                                    }
                                }
                            }(n), function Yp(e) {
                                for (let n = os(e); null !== n; n = oi(n))
                                    for (let i = 10; i < n.length; i++) {
                                        const a = n[i],
                                            d = a[1];
                                        So(a) && Bn(d, a, d.template, a[8])
                                    }
                            }(n), null !== e.contentQueries && D(e, n), E) {
                            const pe = e.contentCheckHooks;
                            null !== pe && Sn(n, pe)
                        } else {
                            const pe = e.contentHooks;
                            null !== pe && ir(n, pe, 1), ni(n, 1)
                        }! function h(e, n) {
                            const i = e.hostBindingOpCodes;
                            if (null !== i) try {
                                for (let a = 0; a < i.length; a++) {
                                    const d = i[a];
                                    if (d < 0) ms(~d);
                                    else {
                                        const v = d,
                                            E = i[++a],
                                            N = i[++a];
                                        Ku(E, v), N(2, n[v])
                                    }
                                }
                            } finally {
                                ms(-1)
                            }
                        }(e, n);
                        const N = e.components;
                        null !== N && function Z(e, n) {
                            for (let i = 0; i < n.length; i++) Mh(e, n[i])
                        }(n, N);
                        const W = e.viewQuery;
                        if (null !== W && up(2, W, a), E) {
                            const pe = e.viewCheckHooks;
                            null !== pe && Sn(n, pe)
                        } else {
                            const pe = e.viewHooks;
                            null !== pe && ir(n, pe, 2), ni(n, 2)
                        }!0 === e.firstUpdatePass && (e.firstUpdatePass = !1), n[2] &= -41, 512 & n[2] && (n[2] &= -513, lo(n[3], -1))
                    } finally {
                        sl()
                    }
                }
            }

            function Un(e, n, i, a, d) {
                const v = ko(),
                    E = 2 & a;
                try {
                    ms(-1), E && n.length > 22 && fn(e, n, 22, !1), i(a, d)
                } finally {
                    ms(v)
                }
            }

            function fi(e, n, i) {
                if (ls(n)) {
                    const d = n.directiveEnd;
                    for (let v = n.directiveStart; v < d; v++) {
                        const E = e.data[v];
                        E.contentQueries && E.contentQueries(1, i[v], v)
                    }
                }
            }

            function ar(e, n, i) {
                !L() || (function Vu(e, n, i, a) {
                    const d = i.directiveStart,
                        v = i.directiveEnd;
                    e.firstCreatePass || Pa(i, n), y(a, n);
                    const E = i.initialInputs;
                    for (let N = d; N < v; N++) {
                        const W = e.data[N],
                            pe = to(W);
                        pe && ju(n, i, W);
                        const Ne = ul(n, e, N, i);
                        y(Ne, n), null !== E && Kp(0, N - d, Ne, W, 0, E), pe && (Ti(i.index, n)[8] = Ne)
                    }
                }(e, n, i, so(i, n)), 128 == (128 & i.flags) && function lp(e, n, i) {
                    const a = i.directiveStart,
                        d = i.directiveEnd,
                        v = i.index,
                        E = function Ga() {
                            return qn.lFrame.currentDirectiveIndex
                        }();
                    try {
                        ms(v);
                        for (let N = a; N < d; N++) {
                            const W = e.data[N],
                                pe = n[N];
                            vc(N), (null !== W.hostBindings || 0 !== W.hostVars || null !== W.hostAttrs) && cp(W, pe)
                        }
                    } finally {
                        ms(-1), vc(E)
                    }
                }(e, n, i))
            }

            function kr(e, n, i = so) {
                const a = n.localNames;
                if (null !== a) {
                    let d = n.index + 1;
                    for (let v = 0; v < a.length; v += 2) {
                        const E = a[v + 1],
                            N = -1 === E ? i(n, e) : e[E];
                        e[d++] = N
                    }
                }
            }

            function Ei(e) {
                const n = e.tView;
                return null === n || n.incompleteFirstPass ? e.tView = pi(1, null, e.template, e.decls, e.vars, e.directiveDefs, e.pipeDefs, e.viewQuery, e.schemas, e.consts) : n
            }

            function pi(e, n, i, a, d, v, E, N, W, pe) {
                const Ne = 22 + a,
                    Qe = Ne + d,
                    _t = function Ro(e, n) {
                        const i = [];
                        for (let a = 0; a < n; a++) i.push(a < e ? null : At);
                        return i
                    }(Ne, Qe),
                    Ft = "function" == typeof pe ? pe() : pe;
                return _t[1] = {
                    type: e,
                    blueprint: _t,
                    template: i,
                    queries: null,
                    viewQuery: N,
                    declTNode: n,
                    data: _t.slice().fill(null, Ne),
                    bindingStartIndex: Ne,
                    expandoStartIndex: Qe,
                    hostBindingOpCodes: null,
                    firstCreatePass: !0,
                    firstUpdatePass: !0,
                    staticViewQueries: !1,
                    staticContentQueries: !1,
                    preOrderHooks: null,
                    preOrderCheckHooks: null,
                    contentHooks: null,
                    contentCheckHooks: null,
                    viewHooks: null,
                    viewCheckHooks: null,
                    destroyHooks: null,
                    cleanup: null,
                    contentQueries: null,
                    components: null,
                    directiveRegistry: "function" == typeof v ? v() : v,
                    pipeRegistry: "function" == typeof E ? E() : E,
                    firstChild: null,
                    schemas: W,
                    consts: Ft,
                    incompleteFirstPass: !1
                }
            }

            function Hi(e, n, i, a) {
                const d = dp(n);
                null === i ? d.push(a) : (d.push(i), e.firstCreatePass && Jp(e).push(a, d.length - 1))
            }

            function _o(e, n, i) {
                for (let a in e)
                    if (e.hasOwnProperty(a)) {
                        const d = e[a];
                        (i = null === i ? {} : i).hasOwnProperty(a) ? i[a].push(n, d) : i[a] = [n, d]
                    }
                return i
            }

            function Gs(e, n) {
                const a = n.directiveEnd,
                    d = e.data,
                    v = n.attrs,
                    E = [];
                let N = null,
                    W = null;
                for (let pe = n.directiveStart; pe < a; pe++) {
                    const Ne = d[pe],
                        Qe = Ne.inputs,
                        _t = null === v || Qf(n) ? null : cm(Qe, v);
                    E.push(_t), N = _o(Qe, pe, N), W = _o(Ne.outputs, pe, W)
                }
                null !== N && (N.hasOwnProperty("class") && (n.flags |= 16), N.hasOwnProperty("style") && (n.flags |= 32)), n.initialInputs = E, n.inputs = N, n.outputs = W
            }

            function io(e, n, i, a, d, v, E, N) {
                const W = so(n, i);
                let Ne, pe = n.inputs;
                !N && null != pe && (Ne = pe[a]) ? (Qp(e, i, Ne, a, d), Ho(n) && Ul(i, n.index)) : 3 & n.type && (a = function Zs(e) {
                    return "class" === e ? "className" : "for" === e ? "htmlFor" : "formaction" === e ? "formAction" : "innerHtml" === e ? "innerHTML" : "readonly" === e ? "readOnly" : "tabindex" === e ? "tabIndex" : e
                }(a), d = null != E ? E(d, n.value || "", a) : d, v.setProperty(W, a, d))
            }

            function Ul(e, n) {
                const i = Ti(n, e);
                16 & i[2] || (i[2] |= 32)
            }

            function Va(e, n, i, a) {
                let d = !1;
                if (L()) {
                    const v = function cf(e, n, i) {
                            const a = e.directiveRegistry;
                            let d = null;
                            if (a)
                                for (let v = 0; v < a.length; v++) {
                                    const E = a[v];
                                    p(i, E.selectors, !1) && (d || (d = []), uo(Pa(i, n), e, E.type), to(E) ? (uf(e, i), d.unshift(E)) : d.push(E))
                                }
                            return d
                        }(e, n, i),
                        E = null === a ? null : {
                            "": -1
                        };
                    if (null !== v) {
                        d = !0, Hu(i, e.data.length, v.length);
                        for (let Ne = 0; Ne < v.length; Ne++) {
                            const Qe = v[Ne];
                            Qe.providersResolver && Qe.providersResolver(Qe)
                        }
                        let N = !1,
                            W = !1,
                            pe = qt(e, n, v.length, null);
                        for (let Ne = 0; Ne < v.length; Ne++) {
                            const Qe = v[Ne];
                            i.mergedAttrs = nn(i.mergedAttrs, Qe.hostAttrs), df(e, i, n, pe, Qe), Wc(pe, Qe, E), null !== Qe.contentQueries && (i.flags |= 8), (null !== Qe.hostBindings || null !== Qe.hostAttrs || 0 !== Qe.hostVars) && (i.flags |= 128);
                            const _t = Qe.type.prototype;
                            !N && (_t.ngOnChanges || _t.ngOnInit || _t.ngDoCheck) && ((e.preOrderHooks || (e.preOrderHooks = [])).push(i.index), N = !0), !W && (_t.ngOnChanges || _t.ngDoCheck) && ((e.preOrderCheckHooks || (e.preOrderCheckHooks = [])).push(i.index), W = !0), pe++
                        }
                        Gs(e, i)
                    }
                    E && function bu(e, n, i) {
                        if (n) {
                            const a = e.localNames = [];
                            for (let d = 0; d < n.length; d += 2) {
                                const v = i[n[d + 1]];
                                if (null == v) throw new oe(-301, !1);
                                a.push(n[d], v)
                            }
                        }
                    }(i, a, E)
                }
                return i.mergedAttrs = nn(i.mergedAttrs, i.attrs), d
            }

            function Vl(e, n, i, a, d, v) {
                const E = v.hostBindings;
                if (E) {
                    let N = e.hostBindingOpCodes;
                    null === N && (N = e.hostBindingOpCodes = []);
                    const W = ~n.index;
                    (function ap(e) {
                        let n = e.length;
                        for (; n > 0;) {
                            const i = e[--n];
                            if ("number" == typeof i && i < 0) return i
                        }
                        return 0
                    })(N) != W && N.push(W), N.push(a, d, E)
                }
            }

            function cp(e, n) {
                null !== e.hostBindings && e.hostBindings(1, n)
            }

            function uf(e, n) {
                n.flags |= 2, (e.components || (e.components = [])).push(n.index)
            }

            function Wc(e, n, i) {
                if (i) {
                    if (n.exportAs)
                        for (let a = 0; a < n.exportAs.length; a++) i[n.exportAs[a]] = e;
                    to(n) && (i[""] = e)
                }
            }

            function Hu(e, n, i) {
                e.flags |= 1, e.directiveStart = n, e.directiveEnd = n + i, e.providerIndexes = n
            }

            function df(e, n, i, a, d) {
                e.data[a] = d;
                const v = d.factory || (d.factory = Co(d.type)),
                    E = new ll(v, to(d), Ad);
                e.blueprint[a] = E, i[a] = E, Vl(e, n, 0, a, qt(e, i, d.hostVars, At), d)
            }

            function ju(e, n, i) {
                const a = so(n, e),
                    d = Ei(i),
                    v = e[10],
                    E = Gu(e, ut(e, d, null, i.onPush ? 32 : 16, a, n, v, v.createRenderer(a, i), null, null, null));
                e[n.index] = E
            }

            function ff(e, n, i, a, d, v, E) {
                if (null == v) e.removeAttribute(n, d, i);
                else {
                    const N = null == E ? Ae(v) : E(v, a || "", d);
                    e.setAttribute(n, d, N, i)
                }
            }

            function Kp(e, n, i, a, d, v) {
                const E = v[n];
                if (null !== E) {
                    const N = a.setInput;
                    for (let W = 0; W < E.length;) {
                        const pe = E[W++],
                            Ne = E[W++],
                            Qe = E[W++];
                        null !== N ? a.setInput(i, Qe, pe, Ne) : i[Ne] = Qe
                    }
                }
            }

            function cm(e, n) {
                let i = null,
                    a = 0;
                for (; a < n.length;) {
                    const d = n[a];
                    if (0 !== d)
                        if (5 !== d) {
                            if ("number" == typeof d) break;
                            e.hasOwnProperty(d) && (null === i && (i = []), i.push(d, e[d], n[a + 1])), a += 2
                        } else a += 2;
                    else a += 4
                }
                return i
            }

            function Ha(e, n, i, a) {
                return new Array(e, !0, !1, n, null, 0, a, i, null, null)
            }

            function Mh(e, n) {
                const i = Ti(n, e);
                if (So(i)) {
                    const a = i[1];
                    48 & i[2] ? Bn(a, i, a.template, i[8]) : i[5] > 0 && qp(i)
                }
            }

            function qp(e) {
                for (let a = os(e); null !== a; a = oi(a))
                    for (let d = 10; d < a.length; d++) {
                        const v = a[d];
                        if (So(v))
                            if (512 & v[2]) {
                                const E = v[1];
                                Bn(E, v, E.template, v[8])
                            } else v[5] > 0 && qp(v)
                    }
                const i = e[1].components;
                if (null !== i)
                    for (let a = 0; a < i.length; a++) {
                        const d = Ti(i[a], e);
                        So(d) && d[5] > 0 && qp(d)
                    }
            }

            function dm(e, n) {
                const i = Ti(n, e),
                    a = i[1];
                (function zc(e, n) {
                    for (let i = n.length; i < e.blueprint.length; i++) n.push(e.blueprint[i])
                })(a, i), Mn(a, i, i[8])
            }

            function Gu(e, n) {
                return e[13] ? e[14][4] = n : e[13] = n, e[14] = n, n
            }

            function Id(e) {
                for (; e;) {
                    e[2] |= 32;
                    const n = Ui(e);
                    if (it(e) && !n) return e;
                    e = n
                }
                return null
            }

            function pf(e, n, i, a = !0) {
                const d = n[10];
                d.begin && d.begin();
                try {
                    Bn(e, n, e.template, i)
                } catch (E) {
                    throw a && Hm(n, E), E
                } finally {
                    d.end && d.end()
                }
            }

            function up(e, n, i) {
                es(0), n(e, i)
            }

            function dp(e) {
                return e[7] || (e[7] = [])
            }

            function Jp(e) {
                return e.cleanup || (e.cleanup = [])
            }

            function Hm(e, n) {
                const i = e[9],
                    a = i ? i.get(gu, null) : null;
                a && a.handleError(n)
            }

            function Qp(e, n, i, a, d) {
                for (let v = 0; v < i.length;) {
                    const E = i[v++],
                        N = i[v++],
                        W = n[E],
                        pe = e.data[E];
                    null !== pe.setInput ? pe.setInput(W, d, a, N) : W[N] = d
                }
            }

            function Kc(e, n, i) {
                const a = $s(n, e);
                Nu(e[11], a, i)
            }

            function Ph(e, n, i) {
                let a = i ? e.styles : null,
                    d = i ? e.classes : null,
                    v = 0;
                if (null !== n)
                    for (let E = 0; E < n.length; E++) {
                        const N = n[E];
                        "number" == typeof N ? v = N : 1 == v ? d = K(d, N) : 2 == v && (a = K(a, N + ": " + n[++E] + ";"))
                    }
                i ? e.styles = a : e.stylesWithoutHost = a, i ? e.classes = d : e.classesWithoutHost = d
            }

            function Ih(e, n, i, a, d = !1) {
                for (; null !== i;) {
                    const v = n[i.index];
                    if (null !== v && a.push(xi(v)), hi(v))
                        for (let N = 10; N < v.length; N++) {
                            const W = v[N],
                                pe = W[1].firstChild;
                            null !== pe && Ih(W[1], W, pe, a)
                        }
                    const E = i.type;
                    if (8 & E) Ih(e, n, i.child, a);
                    else if (32 & E) {
                        const N = Pn(i, n);
                        let W;
                        for (; W = N();) a.push(W)
                    } else if (16 & E) {
                        const N = Il(n, i);
                        if (Array.isArray(N)) a.push(...N);
                        else {
                            const W = Ui(n[16]);
                            Ih(W[1], W, N, a, !0)
                        }
                    }
                    i = d ? i.projectionNext : i.next
                }
                return a
            }
            class Xp {
                constructor(n, i) {
                    this._lView = n, this._cdRefInjectingView = i, this._appRef = null, this._attachedToViewContainer = !1
                }
                get rootNodes() {
                    const n = this._lView,
                        i = n[1];
                    return Ih(i, n, i.firstChild, [])
                }
                get context() {
                    return this._lView[8]
                }
                set context(n) {
                    this._lView[8] = n
                }
                get destroyed() {
                    return 128 == (128 & this._lView[2])
                }
                destroy() {
                    if (this._appRef) this._appRef.detachView(this);
                    else if (this._attachedToViewContainer) {
                        const n = this._lView[3];
                        if (hi(n)) {
                            const i = n[8],
                                a = i ? i.indexOf(this) : -1;
                            a > -1 && (ss(n, a), po(i, a))
                        }
                        this._attachedToViewContainer = !1
                    }
                    Io(this._lView[1], this._lView)
                }
                onDestroy(n) {
                    Hi(this._lView[1], this._lView, null, n)
                }
                markForCheck() {
                    Id(this._cdRefInjectingView || this._lView)
                }
                detach() {
                    this._lView[2] &= -65
                }
                reattach() {
                    this._lView[2] |= 64
                }
                detectChanges() {
                    pf(this._lView[1], this._lView, this.context)
                }
                checkNoChanges() {}
                attachToViewContainerRef() {
                    if (this._appRef) throw new oe(902, !1);
                    this._attachedToViewContainer = !0
                }
                detachFromAppRef() {
                    this._appRef = null,
                        function Wn(e, n) {
                            vl(e, n, n[11], 2, null, null)
                        }(this._lView[1], this._lView)
                }
                attachToAppRef(n) {
                    if (this._attachedToViewContainer) throw new oe(902, !1);
                    this._appRef = n
                }
            }
            class _g extends Xp {
                constructor(n) {
                    super(n), this._view = n
                }
                detectChanges() {
                    const n = this._view;
                    pf(n[1], n, n[8], !1)
                }
                checkNoChanges() {}
                get context() {
                    return null
                }
            }
            class pm extends bd {
                constructor(n) {
                    super(), this.ngModule = n
                }
                resolveComponentFactory(n) {
                    const i = lr(n);
                    return new eh(i, this.ngModule)
                }
            }

            function jm(e) {
                const n = [];
                for (let i in e) e.hasOwnProperty(i) && n.push({
                    propName: e[i],
                    templateName: i
                });
                return n
            }
            class yg {
                constructor(n, i) {
                    this.injector = n, this.parentInjector = i
                }
                get(n, i, a) {
                    const d = this.injector.get(n, nf, a);
                    return d !== nf || i === nf ? d : this.parentInjector.get(n, i, a)
                }
            }
            class eh extends Ip {
                constructor(n, i) {
                    super(), this.componentDef = n, this.ngModule = i, this.componentType = n.type, this.selector = function lt(e) {
                        return e.map(ze).join(",")
                    }(n.selectors), this.ngContentSelectors = n.ngContentSelectors ? n.ngContentSelectors : [], this.isBoundToModule = !!i
                }
                get inputs() {
                    return jm(this.componentDef.inputs)
                }
                get outputs() {
                    return jm(this.componentDef.outputs)
                }
                create(n, i, a, d) {
                    let v = (d = d || this.ngModule) instanceof jc ? d : d ? .injector;
                    v && null !== this.componentDef.getStandaloneInjector && (v = this.componentDef.getStandaloneInjector(v) || v);
                    const E = v ? new yg(n, v) : n,
                        N = E.get(xd, null);
                    if (null === N) throw new oe(407, !1);
                    const W = E.get(gh, null),
                        pe = N.createRenderer(null, this.componentDef),
                        Ne = this.componentDef.selectors[0][0] || "div",
                        Qe = a ? function Li(e, n, i) {
                            return e.selectRootElement(n, i === Pt.ShadowDom)
                        }(pe, a, this.componentDef.encapsulation) : da(pe, Ne, function vg(e) {
                            const n = e.toLowerCase();
                            return "svg" === n ? "svg" : "math" === n ? "math" : null
                        }(Ne)),
                        _t = this.componentDef.onPush ? 288 : 272,
                        Ft = pi(0, null, null, 1, 0, null, null, null, null, null),
                        rn = ut(null, Ft, null, _t, null, null, N, pe, W, E, null);
                    let wn, Fn;
                    rl(rn);
                    try {
                        const rr = function xg(e, n, i, a, d, v) {
                            const E = i[1];
                            i[22] = e;
                            const W = yt(E, 22, 2, "#host", null),
                                pe = W.mergedAttrs = n.hostAttrs;
                            null !== pe && (Ph(W, pe, !0), null !== e && (Oe(d, e, pe), null !== W.classes && jd(d, e, W.classes), null !== W.styles && Xa(d, e, W.styles)));
                            const Ne = a.createRenderer(e, n),
                                Qe = ut(i, Ei(n), null, n.onPush ? 32 : 16, i[22], W, a, Ne, v || null, null, null);
                            return E.firstCreatePass && (uo(Pa(W, i), E, n.type), uf(E, W), Hu(W, i.length, 1)), Gu(i, Qe), i[22] = Qe
                        }(Qe, this.componentDef, rn, N, pe);
                        if (Qe)
                            if (a) Oe(pe, Qe, ["ng-version", kp.full]);
                            else {
                                const {
                                    attrs: Pr,
                                    classes: hn
                                } = function Ot(e) {
                                    const n = [],
                                        i = [];
                                    let a = 1,
                                        d = 2;
                                    for (; a < e.length;) {
                                        let v = e[a];
                                        if ("string" == typeof v) 2 === d ? "" !== v && n.push(v, e[++a]) : 8 === d && i.push(v);
                                        else {
                                            if (!u(d)) break;
                                            d = v
                                        }
                                        a++
                                    }
                                    return {
                                        attrs: n,
                                        classes: i
                                    }
                                }(this.componentDef.selectors[0]);
                                Pr && Oe(pe, Qe, Pr), hn && hn.length > 0 && jd(pe, Qe, hn.join(" "))
                            }
                        if (Fn = Mo(Ft, 22), void 0 !== i) {
                            const Pr = Fn.projection = [];
                            for (let hn = 0; hn < this.ngContentSelectors.length; hn++) {
                                const Br = i[hn];
                                Pr.push(null != Br ? Array.from(Br) : null)
                            }
                        }
                        wn = function wg(e, n, i, a) {
                            const d = i[1],
                                v = function Uu(e, n, i) {
                                    const a = en();
                                    e.firstCreatePass && (i.providersResolver && i.providersResolver(i), df(e, a, n, qt(e, n, 1, null), i), Gs(e, a));
                                    const d = ul(n, e, a.directiveStart, a);
                                    y(d, n);
                                    const v = so(a, n);
                                    return v && y(v, n), d
                                }(d, i, n);
                            if (e[8] = i[8] = v, null !== a)
                                for (const N of a) N(v, n);
                            if (n.contentQueries) {
                                const N = en();
                                n.contentQueries(1, v, N.directiveStart)
                            }
                            const E = en();
                            return !d.firstCreatePass || null === n.hostBindings && null === n.hostAttrs || (ms(E.index), Vl(i[1], E, 0, E.directiveStart, E.directiveEnd, n), cp(n, v)), v
                        }(rr, this.componentDef, rn, [Eg]), Mn(Ft, rn, null)
                    } finally {
                        sl()
                    }
                    return new Cg(this.componentType, wn, Bu(Fn, rn), rn, Fn)
                }
            }
            class Cg extends class Pp {} {
                constructor(n, i, a, d, v) {
                    super(), this.location = a, this._rootLView = d, this._tNode = v, this.instance = i, this.hostView = this.changeDetectorRef = new _g(d), this.componentType = n
                }
                setInput(n, i) {
                    const a = this._tNode.inputs;
                    let d;
                    if (null !== a && (d = a[n])) {
                        const v = this._rootLView;
                        Qp(v[1], v, d, n, i), Ul(v, this._tNode.index)
                    }
                }
                get injector() {
                    return new aa(this._tNode, this._rootLView)
                }
                destroy() {
                    this.hostView.destroy()
                }
                onDestroy(n) {
                    this.hostView.onDestroy(n)
                }
            }

            function Eg() {
                const e = en();
                Vt(ie()[1], e)
            }

            function hm(e) {
                let n = function Gm(e) {
                        return Object.getPrototypeOf(e.prototype).constructor
                    }(e.type),
                    i = !0;
                const a = [e];
                for (; n;) {
                    let d;
                    if (to(e)) d = n.\u0275cmp || n.\u0275dir;
                    else {
                        if (n.\u0275cmp) throw new oe(903, !1);
                        d = n.\u0275dir
                    }
                    if (d) {
                        if (i) {
                            a.push(d);
                            const E = e;
                            E.inputs = mm(e.inputs), E.declaredInputs = mm(e.declaredInputs), E.outputs = mm(e.outputs);
                            const N = d.hostBindings;
                            N && f(e, N);
                            const W = d.viewQuery,
                                pe = d.contentQueries;
                            if (W && Tg(e, W), pe && s(e, pe), P(e.inputs, d.inputs), P(e.declaredInputs, d.declaredInputs), P(e.outputs, d.outputs), to(d) && d.data.animation) {
                                const Ne = e.data;
                                Ne.animation = (Ne.animation || []).concat(d.data.animation)
                            }
                        }
                        const v = d.features;
                        if (v)
                            for (let E = 0; E < v.length; E++) {
                                const N = v[E];
                                N && N.ngInherit && N(e), N === hm && (i = !1)
                            }
                    }
                    n = Object.getPrototypeOf(n)
                }! function Dg(e) {
                    let n = 0,
                        i = null;
                    for (let a = e.length - 1; a >= 0; a--) {
                        const d = e[a];
                        d.hostVars = n += d.hostVars, d.hostAttrs = nn(d.hostAttrs, i = nn(i, d.hostAttrs))
                    }
                }(a)
            }

            function mm(e) {
                return e === Xn ? {} : e === sn ? [] : e
            }

            function Tg(e, n) {
                const i = e.viewQuery;
                e.viewQuery = i ? (a, d) => {
                    n(a, d), i(a, d)
                } : n
            }

            function s(e, n) {
                const i = e.contentQueries;
                e.contentQueries = i ? (a, d, v) => {
                    n(a, d, v), i(a, d, v)
                } : n
            }

            function f(e, n) {
                const i = e.hostBindings;
                e.hostBindings = i ? (a, d) => {
                    n(a, d), i(a, d)
                } : n
            }
            let We = null;

            function ft() {
                if (!We) {
                    const e = jt.Symbol;
                    if (e && e.iterator) We = e.iterator;
                    else {
                        const n = Object.getOwnPropertyNames(Map.prototype);
                        for (let i = 0; i < n.length; ++i) {
                            const a = n[i];
                            "entries" !== a && "size" !== a && Map.prototype[a] === Map.prototype.entries && (We = a)
                        }
                    }
                }
                return We
            }

            function Mt(e) {
                return !!gn(e) && (Array.isArray(e) || !(e instanceof Map) && ft() in e)
            }

            function gn(e) {
                return null !== e && ("function" == typeof e || "object" == typeof e)
            }

            function zn(e, n, i) {
                return e[n] = i
            }

            function yr(e, n, i) {
                return !Object.is(e[n], i) && (e[n] = i, !0)
            }

            function gr(e, n, i, a) {
                const d = yr(e, n, i);
                return yr(e, n + 1, a) || d
            }

            function vi(e, n, i, a, d) {
                const v = gr(e, n, i, a);
                return yr(e, n + 2, d) || v
            }

            function El(e, n, i, a) {
                const d = ie();
                return yr(d, Ws(), n) && (rt(), function Hl(e, n, i, a, d, v) {
                    const E = so(e, n);
                    ff(n[11], E, v, e.value, i, a, d)
                }(ui(), d, e, n, i, a)), El
            }

            function Oa(e, n, i, a) {
                return yr(e, Ws(), i) ? n + Ae(i) + a : At
            }

            function Z0(e, n, i, a, d, v, E, N) {
                const W = ie(),
                    pe = rt(),
                    Ne = e + 22,
                    Qe = pe.firstCreatePass ? function Y1(e, n, i, a, d, v, E, N, W) {
                        const pe = n.consts,
                            Ne = yt(n, e, 4, E || null, ao(pe, N));
                        Va(n, i, Ne, ao(pe, W)), Vt(n, Ne);
                        const Qe = Ne.tViews = pi(2, Ne, a, d, v, n.directiveRegistry, n.pipeRegistry, null, n.schemas, pe);
                        return null !== n.queries && (n.queries.template(n, Ne), Qe.queries = n.queries.embeddedTView(Ne)), Ne
                    }(Ne, pe, W, n, i, a, d, v, E) : pe.data[Ne];
                H(Qe, !1);
                const _t = W[11].createComment("");
                rd(pe, W, _t, Qe), y(_t, W), Gu(W, W[Ne] = Ha(_t, W, _t, Qe)), Oo(Qe) && ar(pe, W, Qe), null != E && kr(W, Qe, N)
            }

            function W0(e) {
                return hs(function nr() {
                    return qn.lFrame.contextLView
                }(), 22 + e)
            }

            function Og(e, n, i) {
                const a = ie();
                return yr(a, Ws(), n) && io(rt(), ui(), a, e, n, a[11], i, !1), Og
            }

            function Ag(e, n, i, a, d) {
                const E = d ? "class" : "style";
                Qp(e, i, n.inputs[E], E, a)
            }

            function Zm(e, n, i, a) {
                const d = ie(),
                    v = rt(),
                    E = 22 + e,
                    N = d[11],
                    W = d[E] = da(N, n, function Et() {
                        return qn.lFrame.currentNamespace
                    }()),
                    pe = v.firstCreatePass ? function J1(e, n, i, a, d, v, E) {
                        const N = n.consts,
                            pe = yt(n, e, 2, d, ao(N, v));
                        return Va(n, i, pe, ao(N, E)), null !== pe.attrs && Ph(pe, pe.attrs, !1), null !== pe.mergedAttrs && Ph(pe, pe.mergedAttrs, !0), null !== n.queries && n.queries.elementStart(n, pe), pe
                    }(E, v, d, 0, n, i, a) : v.data[E];
                H(pe, !0);
                const Ne = pe.mergedAttrs;
                null !== Ne && Oe(N, W, Ne);
                const Qe = pe.classes;
                null !== Qe && jd(N, W, Qe);
                const _t = pe.styles;
                return null !== _t && Xa(N, W, _t), 64 != (64 & pe.flags) && rd(v, d, W, pe), 0 === function Go() {
                        return qn.lFrame.elementDepthCount
                    }() && y(W, d),
                    function ya() {
                        qn.lFrame.elementDepthCount++
                    }(), Oo(pe) && (ar(v, d, pe), fi(v, pe, d)), null !== a && kr(d, pe), Zm
            }

            function Wm() {
                let e = en();
                Ie() ? It() : (e = e.parent, H(e, !1));
                const n = e;
                ! function Zo() {
                    qn.lFrame.elementDepthCount--
                }();
                const i = rt();
                return i.firstCreatePass && (Vt(i, e), ls(e) && i.queries.elementEnd(e)), null != n.classesWithoutHost && function zl(e) {
                    return 0 != (16 & e.flags)
                }(n) && Ag(i, n, ie(), n.classesWithoutHost, !0), null != n.stylesWithoutHost && function j(e) {
                    return 0 != (32 & e.flags)
                }(n) && Ag(i, n, ie(), n.stylesWithoutHost, !1), Wm
            }

            function Mg(e, n, i, a) {
                return Zm(e, n, i, a), Wm(), Mg
            }

            function zm(e, n, i) {
                const a = ie(),
                    d = rt(),
                    v = e + 22,
                    E = d.firstCreatePass ? function Q1(e, n, i, a, d) {
                        const v = n.consts,
                            E = ao(v, a),
                            N = yt(n, e, 8, "ng-container", E);
                        return null !== E && Ph(N, E, !0), Va(n, i, N, ao(v, d)), null !== n.queries && n.queries.elementStart(n, N), N
                    }(v, d, a, n, i) : d.data[v];
                H(E, !0);
                const N = a[v] = a[11].createComment("");
                return rd(d, a, N, E), y(N, a), Oo(E) && (ar(d, a, E), fi(d, E, a)), null != i && kr(a, E), zm
            }

            function Km() {
                let e = en();
                const n = rt();
                return Ie() ? It() : (e = e.parent, H(e, !1)), n.firstCreatePass && (Vt(n, e), ls(e) && n.queries.elementEnd(e)), Km
            }

            function Sg(e, n, i) {
                return zm(e, n, i), Km(), Sg
            }

            function z0() {
                return ie()
            }

            function Pg(e) {
                return !!e && "function" == typeof e.then
            }

            function K0(e) {
                return !!e && "function" == typeof e.subscribe
            }
            const Y0 = K0;

            function Ig(e, n, i, a) {
                const d = ie(),
                    v = rt(),
                    E = en();
                return function J0(e, n, i, a, d, v, E, N) {
                    const W = Oo(a),
                        Ne = e.firstCreatePass && Jp(e),
                        Qe = n[8],
                        _t = dp(n);
                    let Ft = !0;
                    if (3 & a.type || N) {
                        const Fn = so(a, n),
                            rr = N ? N(Fn) : Fn,
                            Pr = _t.length,
                            hn = N ? vo => N(xi(vo[a.index])) : a.index;
                        let Br = null;
                        if (!N && W && (Br = function X1(e, n, i, a) {
                                const d = e.cleanup;
                                if (null != d)
                                    for (let v = 0; v < d.length - 1; v += 2) {
                                        const E = d[v];
                                        if (E === i && d[v + 1] === a) {
                                            const N = n[7],
                                                W = d[v + 2];
                                            return N.length > W ? N[W] : null
                                        }
                                        "string" == typeof E && (v += 2)
                                    }
                                return null
                            }(e, n, d, a.index)), null !== Br)(Br.__ngLastListenerFn__ || Br).__ngNextListenerFn__ = v, Br.__ngLastListenerFn__ = v, Ft = !1;
                        else {
                            v = X0(a, n, Qe, v, !1);
                            const vo = i.listen(rr, d, v);
                            _t.push(v, vo), Ne && Ne.push(d, hn, Pr, Pr + 1)
                        }
                    } else v = X0(a, n, Qe, v, !1);
                    const rn = a.outputs;
                    let wn;
                    if (Ft && null !== rn && (wn = rn[d])) {
                        const Fn = wn.length;
                        if (Fn)
                            for (let rr = 0; rr < Fn; rr += 2) {
                                const Ns = n[wn[rr]][wn[rr + 1]].subscribe(v),
                                    rh = _t.length;
                                _t.push(v, Ns), Ne && Ne.push(d, a.index, rh, -(rh + 1))
                            }
                    }
                }(v, d, d[11], E, e, n, 0, a), Ig
            }

            function Q0(e, n, i, a) {
                try {
                    return !1 !== i(a)
                } catch (d) {
                    return Hm(e, d), !1
                }
            }

            function X0(e, n, i, a, d) {
                return function v(E) {
                    if (E === Function) return a;
                    Id(2 & e.flags ? Ti(e.index, n) : n);
                    let W = Q0(n, 0, a, E),
                        pe = v.__ngNextListenerFn__;
                    for (; pe;) W = Q0(n, 0, pe, E) && W, pe = pe.__ngNextListenerFn__;
                    return d && !1 === W && (E.preventDefault(), E.returnValue = !1), W
                }
            }

            function e_(e = 1) {
                return function ba(e) {
                    return (qn.lFrame.contextLView = function ts(e, n) {
                        for (; e > 0;) n = n[15], e--;
                        return n
                    }(e, qn.lFrame.contextLView))[8]
                }(e)
            }

            function ey(e, n) {
                let i = null;
                const a = function b(e) {
                    const n = e.attrs;
                    if (null != n) {
                        const i = n.indexOf(5);
                        if (0 == (1 & i)) return n[i + 1]
                    }
                    return null
                }(e);
                for (let d = 0; d < n.length; d++) {
                    const v = n[d];
                    if ("*" !== v) {
                        if (null === a ? p(e, v, !0) : ve(a, v)) return d
                    } else i = d
                }
                return i
            }

            function t_(e) {
                const n = ie()[16][6];
                if (!n.projection) {
                    const a = n.projection = O(e ? e.length : 1, null),
                        d = a.slice();
                    let v = n.child;
                    for (; null !== v;) {
                        const E = e ? ey(v, e) : 0;
                        null !== E && (d[E] ? d[E].projectionNext = v : a[E] = v, d[E] = v), v = v.next
                    }
                }
            }

            function n_(e, n = 0, i) {
                const a = ie(),
                    d = rt(),
                    v = yt(d, 22 + e, 16, null, i || null);
                null === v.projection && (v.projection = n), It(), 64 != (64 & v.flags) && function uu(e, n, i) {
                    ur(n[11], 0, n, i, sc(e, i, n), lc(i.parent || n[6], i, n))
                }(d, a, v)
            }

            function Ng(e, n, i) {
                return Ym(e, "", n, "", i), Ng
            }

            function Ym(e, n, i, a, d) {
                const v = ie(),
                    E = Oa(v, n, i, a);
                return E !== At && io(rt(), ui(), v, e, E, v[11], d, !1), Ym
            }

            function d_(e, n, i, a, d) {
                const v = e[i + 1],
                    E = null === n;
                let N = a ? $l(v) : tl(v),
                    W = !1;
                for (; 0 !== N && (!1 === W || E);) {
                    const Ne = e[N + 1];
                    ry(e[N], n) && (W = !0, e[N + 1] = a ? Xr(Ne) : wh(Ne)), N = a ? $l(Ne) : tl(Ne)
                }
                W && (e[i + 1] = a ? wh(v) : Xr(v))
            }

            function ry(e, n) {
                return null === e || null == n || (Array.isArray(e) ? e[1] : e) === n || !(!Array.isArray(e) || "string" != typeof n) && bn(e, n) >= 0
            }
            const ja = {
                textEnd: 0,
                key: 0,
                keyEnd: 0,
                value: 0,
                valueEnd: 0
            };

            function f_(e) {
                return e.substring(ja.key, ja.keyEnd)
            }

            function p_(e, n) {
                const i = ja.textEnd;
                return i === n ? -1 : (n = ja.keyEnd = function ay(e, n, i) {
                    for (; n < i && e.charCodeAt(n) > 32;) n++;
                    return n
                }(e, ja.key = n, i), kh(e, n, i))
            }

            function kh(e, n, i) {
                for (; n < i && e.charCodeAt(n) <= 32;) n++;
                return n
            }

            function Rg(e, n, i) {
                return Zu(e, n, i, !1), Rg
            }

            function Fg(e, n) {
                return Zu(e, n, null, !0), Fg
            }

            function v_(e) {
                ! function Wu(e, n, i, a) {
                    const d = rt(),
                        v = zs(2);
                    d.firstUpdatePass && b_(d, null, v, a);
                    const E = ie();
                    if (i !== At && yr(E, v, i)) {
                        const N = d.data[ko()];
                        if (E_(N, a) && !y_(d, v)) {
                            let W = a ? N.classesWithoutHost : N.stylesWithoutHost;
                            null !== W && (i = K(W, i || "")), Ag(d, N, E, i, a)
                        } else ! function gy(e, n, i, a, d, v, E, N) {
                            d === At && (d = sn);
                            let W = 0,
                                pe = 0,
                                Ne = 0 < d.length ? d[0] : null,
                                Qe = 0 < v.length ? v[0] : null;
                            for (; null !== Ne || null !== Qe;) {
                                const _t = W < d.length ? d[W + 1] : void 0,
                                    Ft = pe < v.length ? v[pe + 1] : void 0;
                                let wn, rn = null;
                                Ne === Qe ? (W += 2, pe += 2, _t !== Ft && (rn = Qe, wn = Ft)) : null === Qe || null !== Ne && Ne < Qe ? (W += 2, rn = Ne) : (pe += 2, rn = Qe, wn = Ft), null !== rn && x_(e, n, i, a, rn, wn, E, N), Ne = W < d.length ? d[W] : null, Qe = pe < v.length ? v[pe] : null
                            }
                        }(d, N, E, E[11], E[v + 1], E[v + 1] = function my(e, n, i) {
                            if (null == i || "" === i) return sn;
                            const a = [],
                                d = cc(i);
                            if (Array.isArray(d))
                                for (let v = 0; v < d.length; v++) e(a, d[v], !0);
                            else if ("object" == typeof d)
                                for (const v in d) d.hasOwnProperty(v) && e(a, v, d[v]);
                            else "string" == typeof d && n(a, d);
                            return a
                        }(e, n, i), a, v)
                    }
                }(st, Rd, e, !0)
            }

            function Rd(e, n) {
                for (let i = function oy(e) {
                        return function m_(e) {
                            ja.key = 0, ja.keyEnd = 0, ja.value = 0, ja.valueEnd = 0, ja.textEnd = e.length
                        }(e), p_(e, kh(e, 0, ja.textEnd))
                    }(n); i >= 0; i = p_(n, i)) st(e, f_(n), !0)
            }

            function Zu(e, n, i, a) {
                const d = ie(),
                    v = rt(),
                    E = zs(2);
                v.firstUpdatePass && b_(v, e, E, a), n !== At && yr(d, E, n) && x_(v, v.data[ko()], d, d[11], e, d[E + 1] = function _y(e, n) {
                    return null == e || ("string" == typeof n ? e += n : "object" == typeof e && (e = $(cc(e)))), e
                }(n, i), a, E)
            }

            function y_(e, n) {
                return n >= e.expandoStartIndex
            }

            function b_(e, n, i, a) {
                const d = e.data;
                if (null === d[i + 1]) {
                    const v = d[ko()],
                        E = y_(e, i);
                    E_(v, a) && null === n && !E && (n = !1), n = function dy(e, n, i, a) {
                            const d = Sa(e);
                            let v = a ? n.residualClasses : n.residualStyles;
                            if (null === d) 0 === (a ? n.classBindings : n.styleBindings) && (i = gm(i = kg(null, e, n, i, a), n.attrs, a), v = null);
                            else {
                                const E = n.directiveStylingLast;
                                if (-1 === E || e[E] !== d)
                                    if (i = kg(d, e, n, i, a), null === v) {
                                        let W = function fy(e, n, i) {
                                            const a = i ? n.classBindings : n.styleBindings;
                                            if (0 !== tl(a)) return e[$l(a)]
                                        }(e, n, a);
                                        void 0 !== W && Array.isArray(W) && (W = kg(null, e, n, W[1], a), W = gm(W, n.attrs, a), function py(e, n, i, a) {
                                            e[$l(i ? n.classBindings : n.styleBindings)] = a
                                        }(e, n, a, W))
                                    } else v = function hy(e, n, i) {
                                        let a;
                                        const d = n.directiveEnd;
                                        for (let v = 1 + n.directiveStylingLast; v < d; v++) a = gm(a, e[v].hostAttrs, i);
                                        return gm(a, n.attrs, i)
                                    }(e, n, a)
                            }
                            return void 0 !== v && (a ? n.residualClasses = v : n.residualStyles = v), i
                        }(d, v, n, a),
                        function ty(e, n, i, a, d, v) {
                            let E = v ? n.classBindings : n.styleBindings,
                                N = $l(E),
                                W = tl(E);
                            e[a] = i;
                            let Ne, pe = !1;
                            if (Array.isArray(i)) {
                                const Qe = i;
                                Ne = Qe[1], (null === Ne || bn(Qe, Ne) > 0) && (pe = !0)
                            } else Ne = i;
                            if (d)
                                if (0 !== W) {
                                    const _t = $l(e[N + 1]);
                                    e[a + 1] = gc(_t, N), 0 !== _t && (e[_t + 1] = Ds(e[_t + 1], a)), e[N + 1] = function xh(e, n) {
                                        return 131071 & e | n << 17
                                    }(e[N + 1], a)
                                } else e[a + 1] = gc(N, 0), 0 !== N && (e[N + 1] = Ds(e[N + 1], a)), N = a;
                            else e[a + 1] = gc(W, 0), 0 === N ? N = a : e[W + 1] = Ds(e[W + 1], a), W = a;
                            pe && (e[a + 1] = wh(e[a + 1])), d_(e, Ne, a, !0), d_(e, Ne, a, !1),
                                function ny(e, n, i, a, d) {
                                    const v = d ? e.residualClasses : e.residualStyles;
                                    null != v && "string" == typeof n && bn(v, n) >= 0 && (i[a + 1] = Xr(i[a + 1]))
                                }(n, Ne, e, a, v), E = gc(N, W), v ? n.classBindings = E : n.styleBindings = E
                        }(d, v, n, i, E, a)
                }
            }

            function kg(e, n, i, a, d) {
                let v = null;
                const E = i.directiveEnd;
                let N = i.directiveStylingLast;
                for (-1 === N ? N = i.directiveStart : N++; N < E && (v = n[N], a = gm(a, v.hostAttrs, d), v !== e);) N++;
                return null !== e && (i.directiveStylingLast = N), a
            }

            function gm(e, n, i) {
                const a = i ? 1 : 2;
                let d = -1;
                if (null !== n)
                    for (let v = 0; v < n.length; v++) {
                        const E = n[v];
                        "number" == typeof E ? d = E : d === a && (Array.isArray(e) || (e = void 0 === e ? [] : ["", e]), st(e, E, !!i || n[++v]))
                    }
                return void 0 === e ? null : e
            }

            function x_(e, n, i, a, d, v, E, N) {
                if (!(3 & n.type)) return;
                const W = e.data,
                    pe = W[N + 1];
                qm(function Pc(e) {
                    return 1 == (1 & e)
                }(pe) ? w_(W, n, i, d, tl(pe), E) : void 0) || (qm(v) || function Md(e) {
                    return 2 == (2 & e)
                }(pe) && (v = w_(W, null, i, d, N, E)), function sd(e, n, i, a, d) {
                    if (n) d ? e.addClass(i, a) : e.removeClass(i, a);
                    else {
                        let v = -1 === a.indexOf("-") ? void 0 : _l.DashCase;
                        null == d ? e.removeStyle(i, a, v) : ("string" == typeof d && d.endsWith("!important") && (d = d.slice(0, -10), v |= _l.Important), e.setStyle(i, a, d, v))
                    }
                }(a, E, $s(ko(), i), d, v))
            }

            function w_(e, n, i, a, d, v) {
                const E = null === n;
                let N;
                for (; d > 0;) {
                    const W = e[d],
                        pe = Array.isArray(W),
                        Ne = pe ? W[1] : W,
                        Qe = null === Ne;
                    let _t = i[d + 1];
                    _t === At && (_t = Qe ? sn : void 0);
                    let Ft = Qe ? Yt(_t, a) : Ne === a ? _t : void 0;
                    if (pe && !qm(Ft) && (Ft = Yt(W, a)), qm(Ft) && (N = Ft, E)) return N;
                    const rn = e[d + 1];
                    d = E ? $l(rn) : tl(rn)
                }
                if (null !== n) {
                    let W = v ? n.residualClasses : n.residualStyles;
                    null != W && (N = Yt(W, a))
                }
                return N
            }

            function qm(e) {
                return void 0 !== e
            }

            function E_(e, n) {
                return 0 != (e.flags & (n ? 16 : 32))
            }

            function D_(e, n = "") {
                const i = ie(),
                    a = rt(),
                    d = e + 22,
                    v = a.firstCreatePass ? yt(a, d, 1, n, null) : a.data[d],
                    E = i[d] = Ba(i[11], n);
                rd(a, i, E, v), H(v, !1)
            }

            function Lg(e) {
                return Jm("", e, ""), Lg
            }

            function Jm(e, n, i) {
                const a = ie(),
                    d = Oa(a, e, n, i);
                return d !== At && Kc(a, ko(), d), Jm
            }

            function $g(e, n, i, a, d) {
                const v = ie(),
                    E = function Vo(e, n, i, a, d, v) {
                        const N = gr(e, Fi(), i, d);
                        return zs(2), N ? n + Ae(i) + a + Ae(d) + v : At
                    }(v, e, n, i, a, d);
                return E !== At && Kc(v, ko(), E), $g
            }

            function Bg(e, n, i, a, d, v, E) {
                const N = ie(),
                    W = function nl(e, n, i, a, d, v, E, N) {
                        const pe = vi(e, Fi(), i, d, E);
                        return zs(3), pe ? n + Ae(i) + a + Ae(d) + v + Ae(E) + N : At
                    }(N, e, n, i, a, d, v, E);
                return W !== At && Kc(N, ko(), W), Bg
            }

            function Ug(e, n, i) {
                const a = ie();
                return yr(a, Ws(), n) && io(rt(), ui(), a, e, n, a[11], i, !0), Ug
            }

            function Vg(e, n, i) {
                const a = ie();
                if (yr(a, Ws(), n)) {
                    const v = rt(),
                        E = ui();
                    io(v, E, a, e, n, function Vm(e, n, i) {
                        return (null === e || to(e)) && (i = function Aa(e) {
                            for (; Array.isArray(e);) {
                                if ("object" == typeof e[1]) return e;
                                e = e[0]
                            }
                            return null
                        }(i[n.index])), i[11]
                    }(Sa(v.data), E, a), i, !0)
                }
                return Vg
            }
            const th = void 0;
            var Ly = ["en", [
                    ["a", "p"],
                    ["AM", "PM"], th
                ],
                [
                    ["AM", "PM"], th, th
                ],
                [
                    ["S", "M", "T", "W", "T", "F", "S"],
                    ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
                    ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
                    ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
                ], th, [
                    ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
                    ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
                    ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
                ], th, [
                    ["B", "A"],
                    ["BC", "AD"],
                    ["Before Christ", "Anno Domini"]
                ], 0, [6, 0],
                ["M/d/yy", "MMM d, y", "MMMM d, y", "EEEE, MMMM d, y"],
                ["h:mm a", "h:mm:ss a", "h:mm:ss a z", "h:mm:ss a zzzz"],
                ["{1}, {0}", th, "{1} 'at' {0}", th],
                [".", ",", ";", "%", "+", "-", "E", "\xd7", "\u2030", "\u221e", "NaN", ":"],
                ["#,##0.###", "#,##0%", "\xa4#,##0.00", "#E0"], "USD", "$", "US Dollar", {}, "ltr",
                function ky(e) {
                    const i = Math.floor(Math.abs(e)),
                        a = e.toString().replace(/^[^.]*\.?/, "").length;
                    return 1 === i && 0 === a ? 1 : 5
                }
            ];
            let Lh = {};

            function $y(e, n, i) {
                "string" != typeof n && (i = n, n = e[Rr.LocaleId]), n = n.toLowerCase().replace(/_/g, "-"), Lh[n] = e, i && (Lh[n][Rr.ExtraData] = i)
            }

            function Hg(e) {
                const n = function By(e) {
                    return e.toLowerCase().replace(/_/g, "-")
                }(e);
                let i = H_(n);
                if (i) return i;
                const a = n.split("-")[0];
                if (i = H_(a), i) return i;
                if ("en" === a) return Ly;
                throw new oe(701, !1)
            }

            function V_(e) {
                return Hg(e)[Rr.PluralCase]
            }

            function H_(e) {
                return e in Lh || (Lh[e] = jt.ng && jt.ng.common && jt.ng.common.locales && jt.ng.common.locales[e]), Lh[e]
            }
            var Rr = (() => ((Rr = Rr || {})[Rr.LocaleId = 0] = "LocaleId", Rr[Rr.DayPeriodsFormat = 1] = "DayPeriodsFormat", Rr[Rr.DayPeriodsStandalone = 2] = "DayPeriodsStandalone", Rr[Rr.DaysFormat = 3] = "DaysFormat", Rr[Rr.DaysStandalone = 4] = "DaysStandalone", Rr[Rr.MonthsFormat = 5] = "MonthsFormat", Rr[Rr.MonthsStandalone = 6] = "MonthsStandalone", Rr[Rr.Eras = 7] = "Eras", Rr[Rr.FirstDayOfWeek = 8] = "FirstDayOfWeek", Rr[Rr.WeekendRange = 9] = "WeekendRange", Rr[Rr.DateFormat = 10] = "DateFormat", Rr[Rr.TimeFormat = 11] = "TimeFormat", Rr[Rr.DateTimeFormat = 12] = "DateTimeFormat", Rr[Rr.NumberSymbols = 13] = "NumberSymbols", Rr[Rr.NumberFormats = 14] = "NumberFormats", Rr[Rr.CurrencyCode = 15] = "CurrencyCode", Rr[Rr.CurrencySymbol = 16] = "CurrencySymbol", Rr[Rr.CurrencyName = 17] = "CurrencyName", Rr[Rr.Currencies = 18] = "Currencies", Rr[Rr.Directionality = 19] = "Directionality", Rr[Rr.PluralCase = 20] = "PluralCase", Rr[Rr.ExtraData = 21] = "ExtraData", Rr))();
            const Uy = ["zero", "one", "two", "few", "many"],
                $h = "en-US",
                Qm = {
                    marker: "element"
                },
                Xm = {
                    marker: "ICU"
                };
            var na = (() => ((na = na || {})[na.SHIFT = 2] = "SHIFT", na[na.APPEND_EAGERLY = 1] = "APPEND_EAGERLY", na[na.COMMENT = 2] = "COMMENT", na))();
            let j_ = $h;

            function G_(e) {
                (function ht(e, n) {
                    null == e && Pe(n, e, null, "!=")
                })(e, "Expected localeId to be defined"), "string" == typeof e && (j_ = e.toLowerCase().replace(/_/g, "-"))
            }

            function Z_(e, n, i) {
                const a = n.insertBeforeIndex,
                    d = Array.isArray(a) ? a[0] : a;
                return null === d ? wf(e, 0, i) : xi(i[d])
            }

            function W_(e, n, i, a, d) {
                const v = n.insertBeforeIndex;
                if (Array.isArray(v)) {
                    let E = a,
                        N = null;
                    if (3 & n.type || (N = E, E = d), null !== E && 0 == (2 & n.flags))
                        for (let W = 1; W < v.length; W++) Xs(e, E, i[v[W]], N, !1)
                }
            }

            function z_(e, n) {
                if (e.push(n), e.length > 1)
                    for (let i = e.length - 2; i >= 0; i--) {
                        const a = e[i];
                        K_(a) || Gy(a, n) && null === Zy(a) && Wy(a, n.index)
                    }
            }

            function K_(e) {
                return !(64 & e.type)
            }

            function Gy(e, n) {
                return K_(n) || e.index > n.index
            }

            function Zy(e) {
                const n = e.insertBeforeIndex;
                return Array.isArray(n) ? n[0] : n
            }

            function Wy(e, n) {
                const i = e.insertBeforeIndex;
                Array.isArray(i) ? i[0] = n : (Tf(Z_, W_), e.insertBeforeIndex = n)
            }

            function _m(e, n) {
                const i = e.data[n];
                return null === i || "string" == typeof i ? null : i.hasOwnProperty("currentCaseLViewIndex") ? i : i.value
            }

            function Yy(e, n, i) {
                const a = Bt(e, i, 64, null, null);
                return z_(n, a), a
            }

            function eg(e, n) {
                const i = n[e.currentCaseLViewIndex];
                return null === i ? i : i < 0 ? ~i : i
            }

            function Y_(e) {
                return e >>> 17
            }

            function q_(e) {
                return (131070 & e) >>> 1
            }
            let vm = 0,
                ym = 0;

            function Q_(e, n, i, a) {
                const d = i[11];
                let E, v = null;
                for (let N = 0; N < n.length; N++) {
                    const W = n[N];
                    if ("string" == typeof W) {
                        const pe = n[++N];
                        null === i[pe] && (i[pe] = Ba(d, W))
                    } else if ("number" == typeof W) switch (1 & W) {
                        case 0:
                            const pe = Y_(W);
                            let Ne, Qe;
                            if (null === v && (v = pe, E = Vd(d, a)), pe === v ? (Ne = a, Qe = E) : (Ne = null, Qe = xi(i[pe])), null !== Qe) {
                                const wn = q_(W);
                                Xs(d, Qe, i[wn], Ne, !1);
                                const rr = _m(e, wn);
                                if (null !== rr && "object" == typeof rr) {
                                    const Pr = eg(rr, i);
                                    null !== Pr && Q_(e, rr.create[Pr], i, i[rr.anchorIdx])
                                }
                            }
                            break;
                        case 1:
                            const Ft = n[++N],
                                rn = n[++N];
                            ff(d, $s(W >>> 1, i), null, null, Ft, rn, null)
                    } else switch (W) {
                        case Xm:
                            const pe = n[++N],
                                Ne = n[++N];
                            null === i[Ne] && y(i[Ne] = Qa(d, pe), i);
                            break;
                        case Qm:
                            const Qe = n[++N],
                                _t = n[++N];
                            null === i[_t] && y(i[_t] = da(d, Qe, null), i)
                    }
                }
            }

            function X_(e, n, i, a, d) {
                for (let v = 0; v < i.length; v++) {
                    const E = i[v],
                        N = i[++v];
                    if (E & d) {
                        let W = "";
                        for (let pe = v + 1; pe <= v + N; pe++) {
                            const Ne = i[pe];
                            if ("string" == typeof Ne) W += Ne;
                            else if ("number" == typeof Ne)
                                if (Ne < 0) W += Ae(n[a - Ne]);
                                else {
                                    const Qe = Ne >>> 2;
                                    switch (3 & Ne) {
                                        case 1:
                                            const _t = i[++pe],
                                                Ft = i[++pe],
                                                rn = e.data[Qe];
                                            "string" == typeof rn ? ff(n[11], n[Qe], null, rn, _t, W, Ft) : io(e, rn, n, _t, W, n[11], Ft, !1);
                                            break;
                                        case 0:
                                            const wn = n[Qe];
                                            null !== wn && Nu(n[11], wn, W);
                                            break;
                                        case 2:
                                            eb(e, _m(e, Qe), n, W);
                                            break;
                                        case 3:
                                            ev(e, _m(e, Qe), a, n)
                                    }
                                }
                        }
                    } else {
                        const W = i[v + 1];
                        if (W > 0 && 3 == (3 & W)) {
                            const Ne = _m(e, W >>> 2);
                            n[Ne.currentCaseLViewIndex] < 0 && ev(e, Ne, a, n)
                        }
                    }
                    v += N
                }
            }

            function ev(e, n, i, a) {
                let d = a[n.currentCaseLViewIndex];
                if (null !== d) {
                    let v = vm;
                    d < 0 && (d = a[n.currentCaseLViewIndex] = ~d, v = -1), X_(e, a, n.update[d], i, v)
                }
            }

            function eb(e, n, i, a) {
                const d = function tb(e, n) {
                    let i = e.cases.indexOf(n);
                    if (-1 === i) switch (e.type) {
                        case 1:
                            {
                                const a = function Vy(e, n) {
                                    const i = V_(n)(parseInt(e, 10)),
                                        a = Uy[i];
                                    return void 0 !== a ? a : "other"
                                }(n, function jy() {
                                    return j_
                                }());i = e.cases.indexOf(a),
                                -1 === i && "other" !== a && (i = e.cases.indexOf("other"));
                                break
                            }
                        case 0:
                            i = e.cases.indexOf("other")
                    }
                    return -1 === i ? null : i
                }(n, a);
                if (eg(n, i) !== d && (tv(e, n, i), i[n.currentCaseLViewIndex] = null === d ? null : ~d, null !== d)) {
                    const E = i[n.anchorIdx];
                    E && Q_(e, n.create[d], i, E)
                }
            }

            function tv(e, n, i) {
                let a = eg(n, i);
                if (null !== a) {
                    const d = n.remove[a];
                    for (let v = 0; v < d.length; v++) {
                        const E = d[v];
                        if (E > 0) {
                            const N = $s(E, i);
                            null !== N && Mc(i[11], N)
                        } else tv(e, _m(e, ~E), i)
                    }
                }
            }

            function nb() {
                const e = [];
                let i, a, n = -1;

                function v(N, W) {
                    n = 0;
                    const pe = eg(N, W);
                    a = null !== pe ? N.remove[pe] : sn
                }

                function E() {
                    if (n < a.length) {
                        const N = a[n++];
                        return N > 0 ? i[N] : (e.push(n, a), v(i[1].data[~N], i), E())
                    }
                    return 0 === e.length ? null : (a = e.pop(), n = e.pop(), E())
                }
                return function d(N, W) {
                    for (i = W; e.length;) e.pop();
                    return v(N.value, W), E
                }
            }
            const tg = /\ufffd(\d+):?\d*\ufffd/gi,
                ib = /\ufffd(\d+)\ufffd/,
                rv = /^\s*(\ufffd\d+:?\d*\ufffd)\s*,\s*(select|plural)\s*,/,
                ob = /\ufffd\/?\*(\d+:\d+)\ufffd/gi,
                sb = /\ufffd(\/?[#*]\d+):?\d*\ufffd/gi,
                ab = /\uE500/g;

            function iv(e, n, i, a, d, v, E) {
                const N = qt(e, a, 1, null);
                let W = N << na.SHIFT,
                    pe = Y();
                n === pe && (pe = null), null === pe && (W |= na.APPEND_EAGERLY), E && (W |= na.COMMENT, function tr(e) {
                    void 0 === vr && (vr = e())
                }(nb)), d.push(W, null === v ? "" : v);
                const Ne = Bt(e, N, E ? 32 : 1, null === v ? "" : v, null);
                z_(i, Ne);
                const Qe = Ne.index;
                return H(Ne, !1), null !== pe && n !== pe && function Ky(e, n) {
                    let i = e.insertBeforeIndex;
                    null === i ? (Tf(Z_, W_), i = e.insertBeforeIndex = [null, n]) : (function ue(e, n, i) {
                        e != n && Pe(i, e, n, "==")
                    }(Array.isArray(i), !0, "Expecting array here"), i.push(n))
                }(pe, Qe), Ne
            }

            function ub(e, n, i, a, d, v, E) {
                const N = E.match(tg),
                    W = iv(e, n, i, v, a, N ? null : E, !1);
                N && Cm(d, E, W.index, null, 0, null)
            }

            function Cm(e, n, i, a, d, v) {
                const E = e.length,
                    N = E + 1;
                e.push(null, null);
                const W = E + 2,
                    pe = n.split(tg);
                let Ne = 0;
                for (let Qe = 0; Qe < pe.length; Qe++) {
                    const _t = pe[Qe];
                    if (1 & Qe) {
                        const Ft = d + parseInt(_t, 10);
                        e.push(-1 - Ft), Ne |= ov(Ft)
                    } else "" !== _t && e.push(_t)
                }
                return e.push(i << 2 | (a ? 1 : 0)), a && e.push(a, v), e[E] = Ne, e[N] = e.length - W, Ne
            }

            function ov(e) {
                return 1 << Math.min(e, 31)
            }

            function sv(e) {
                let n, v, i = "",
                    a = 0,
                    d = !1;
                for (; null !== (n = ob.exec(e));) d ? n[0] === `\ufffd/*${v}\ufffd` && (a = n.index, d = !1) : (i += e.substring(a, n.index + n[0].length), v = n[1], d = !0);
                return i += e.slice(a), i
            }

            function av(e, n, i, a, d, v) {
                let E = 0;
                const N = {
                    type: d.type,
                    currentCaseLViewIndex: qt(e, n, 1, null),
                    anchorIdx: v,
                    cases: [],
                    create: [],
                    remove: [],
                    update: []
                };
                (function vb(e, n, i) {
                    e.push(ov(n.mainBinding), 2, -1 - n.mainBinding, i << 2 | 2)
                })(i, d, v),
                function zy(e, n, i) {
                    const a = e.data[n];
                    null === a ? e.data[n] = i : a.value = i
                }(e, v, N);
                const W = d.values;
                for (let pe = 0; pe < W.length; pe++) {
                    const Ne = W[pe],
                        Qe = [];
                    for (let _t = 0; _t < Ne.length; _t++) {
                        const Ft = Ne[_t];
                        if ("string" != typeof Ft) {
                            const rn = Qe.push(Ft) - 1;
                            Ne[_t] = `\x3c!--\ufffd${rn}\ufffd--\x3e`
                        }
                    }
                    E = gb(e, N, n, i, a, d.cases[pe], Ne.join(""), Qe) | E
                }
                E && function yb(e, n, i) {
                    e.push(n, 1, i << 2 | 3)
                }(i, E, v)
            }

            function mb(e) {
                const n = [],
                    i = [];
                let a = 1,
                    d = 0;
                const v = jg(e = e.replace(rv, function(E, N, W) {
                    return a = "select" === W ? 0 : 1, d = parseInt(N.slice(1), 10), ""
                }));
                for (let E = 0; E < v.length;) {
                    let N = v[E++].trim();
                    1 === a && (N = N.replace(/\s*(?:=)?(\w+)\s*/, "$1")), N.length && n.push(N);
                    const W = jg(v[E++]);
                    n.length > i.length && i.push(W)
                }
                return {
                    type: a,
                    mainBinding: d,
                    cases: n,
                    values: i
                }
            }

            function jg(e) {
                if (!e) return [];
                let n = 0;
                const i = [],
                    a = [],
                    d = /[{}]/g;
                let v;
                for (d.lastIndex = 0; v = d.exec(e);) {
                    const N = v.index;
                    if ("}" == v[0]) {
                        if (i.pop(), 0 == i.length) {
                            const W = e.substring(n, N);
                            rv.test(W) ? a.push(mb(W)) : a.push(W), n = N + 1
                        }
                    } else {
                        if (0 == i.length) {
                            const W = e.substring(n, N);
                            a.push(W), n = N + 1
                        }
                        i.push("{")
                    }
                }
                const E = e.substring(n);
                return a.push(E), a
            }

            function gb(e, n, i, a, d, v, E, N) {
                const W = [],
                    pe = [],
                    Ne = [];
                n.cases.push(v), n.create.push(W), n.remove.push(pe), n.update.push(Ne);
                const _t = ud(Af()).getInertBodyElement(E),
                    Ft = Ff(_t) || _t;
                return Ft ? lv(e, n, i, a, W, pe, Ne, Ft, d, N, 0) : 0
            }

            function lv(e, n, i, a, d, v, E, N, W, pe, Ne) {
                let Qe = 0,
                    _t = N.firstChild;
                for (; _t;) {
                    const Ft = qt(e, i, 1, null);
                    switch (_t.nodeType) {
                        case Node.ELEMENT_NODE:
                            const rn = _t,
                                wn = rn.tagName.toLowerCase();
                            if (Pf.hasOwnProperty(wn)) {
                                Gg(d, Qm, wn, W, Ft), e.data[Ft] = wn;
                                const hn = rn.attributes;
                                for (let Br = 0; Br < hn.length; Br++) {
                                    const vo = hn.item(Br),
                                        Ns = vo.name.toLowerCase();
                                    vo.value.match(tg) ? sh.hasOwnProperty(Ns) && Cm(E, vo.value, Ft, vo.name, 0, If[Ns] ? pu : null) : bb(d, Ft, vo)
                                }
                                Qe = lv(e, n, i, a, d, v, E, _t, Ft, pe, Ne + 1) | Qe, cv(v, Ft, Ne)
                            }
                            break;
                        case Node.TEXT_NODE:
                            const Fn = _t.textContent || "",
                                rr = Fn.match(tg);
                            Gg(d, null, rr ? "" : Fn, W, Ft), cv(v, Ft, Ne), rr && (Qe = Cm(E, Fn, Ft, null, 0, null) | Qe);
                            break;
                        case Node.COMMENT_NODE:
                            const Pr = ib.exec(_t.textContent || "");
                            if (Pr) {
                                const Br = pe[parseInt(Pr[1], 10)];
                                Gg(d, Xm, "", W, Ft), av(e, i, a, W, Br, Ft), _b(v, Ft, Ne)
                            }
                    }
                    _t = _t.nextSibling
                }
                return Qe
            }

            function cv(e, n, i) {
                0 === i && e.push(n)
            }

            function _b(e, n, i) {
                0 === i && (e.push(~n), e.push(n))
            }

            function Gg(e, n, i, a, d) {
                null !== n && e.push(n), e.push(i, d, function qy(e, n, i) {
                    return e | n << 17 | i << 1
                }(0, a, d))
            }

            function bb(e, n, i) {
                e.push(n << 1 | 1, i.name, i.value)
            }

            function dv(e, n, i = -1) {
                const a = rt(),
                    d = ie(),
                    v = 22 + e,
                    E = ao(a.consts, n),
                    N = Y();
                a.firstCreatePass && function cb(e, n, i, a, d, v) {
                    const E = Y(),
                        N = [],
                        W = [],
                        pe = [
                            []
                        ];
                    d = function hb(e, n) {
                        if (function pb(e) {
                                return -1 === e
                            }(n)) return sv(e); {
                            const i = e.indexOf(`:${n}\ufffd`) + 2 + n.toString().length,
                                a = e.search(new RegExp(`\ufffd\\/\\*\\d+:${n}\ufffd`));
                            return sv(e.substring(i, a))
                        }
                    }(d, v);
                    const Ne = function lb(e) {
                        return e.replace(ab, " ")
                    }(d).split(sb);
                    for (let Qe = 0; Qe < Ne.length; Qe++) {
                        let _t = Ne[Qe];
                        if (0 == (1 & Qe)) {
                            const Ft = jg(_t);
                            for (let rn = 0; rn < Ft.length; rn++) {
                                let wn = Ft[rn];
                                if (0 == (1 & rn)) {
                                    const Fn = wn;
                                    "" !== Fn && ub(e, E, pe[0], N, W, i, Fn)
                                } else {
                                    const Fn = wn;
                                    if ("object" != typeof Fn) throw new Error(`Unable to parse ICU expression in "${d}" message.`);
                                    av(e, i, W, n, Fn, iv(e, E, pe[0], i, N, "", !0).index)
                                }
                            }
                        } else {
                            const Ft = 47 === _t.charCodeAt(0),
                                wn = (_t.charCodeAt(Ft ? 1 : 0), 22 + Number.parseInt(_t.substring(Ft ? 2 : 1)));
                            if (Ft) pe.shift(), H(Y(), !1);
                            else {
                                const Fn = Yy(e, pe[0], wn);
                                pe.unshift([]), H(Fn, !0)
                            }
                        }
                    }
                    e.data[a] = {
                        create: N,
                        update: W
                    }
                }(a, null === N ? 0 : N.index, d, v, E, i);
                const W = a.data[v],
                    Ne = Wi(a, N === d[6] ? null : N, d);
                (function Xy(e, n, i, a) {
                    const d = e[11];
                    for (let v = 0; v < n.length; v++) {
                        const E = n[v++],
                            N = n[v],
                            W = (E & na.COMMENT) === na.COMMENT,
                            pe = (E & na.APPEND_EAGERLY) === na.APPEND_EAGERLY,
                            Ne = E >>> na.SHIFT;
                        let Qe = e[Ne];
                        null === Qe && (Qe = e[Ne] = W ? d.createComment(N) : Ba(d, N)), pe && null !== i && Xs(d, i, Qe, a, !1)
                    }
                })(d, W.create, Ne, N && 8 & N.type ? d[N.index] : null), Yc(!0)
            }

            function pv(e, n, i) {
                dv(e, n, i),
                    function fv() {
                        Yc(!1)
                    }()
            }

            function Zg(e) {
                return function Jy(e) {
                    e && (vm |= 1 << Math.min(ym, 31)), ym++
                }(yr(ie(), Ws(), e)), Zg
            }

            function hv(e) {
                ! function Qy(e, n, i) {
                    if (ym > 0) {
                        const a = e.data[i];
                        X_(e, n, Array.isArray(a) ? a : a.update, Fi() - ym - 1, vm)
                    }
                    vm = 0, ym = 0
                }(rt(), ie(), e + 22)
            }

            function Wg(e, n, i, a, d) {
                if (e = k(e), Array.isArray(e))
                    for (let v = 0; v < e.length; v++) Wg(e[v], n, i, a, d);
                else {
                    const v = rt(),
                        E = ie();
                    let N = hu(e) ? e : k(e.provide),
                        W = Qd(e);
                    const pe = en(),
                        Ne = 1048575 & pe.providerIndexes,
                        Qe = pe.directiveStart,
                        _t = pe.providerIndexes >> 20;
                    if (hu(e) || !e.multi) {
                        const Ft = new ll(W, d, Ad),
                            rn = Kg(N, n, d ? Ne : Ne + _t, Qe); - 1 === rn ? (uo(Pa(pe, E), v, N), zg(v, e, n.length), n.push(N), pe.directiveStart++, pe.directiveEnd++, d && (pe.providerIndexes += 1048576), i.push(Ft), E.push(Ft)) : (i[rn] = Ft, E[rn] = Ft)
                    } else {
                        const Ft = Kg(N, n, Ne + _t, Qe),
                            rn = Kg(N, n, Ne, Ne + _t),
                            wn = Ft >= 0 && i[Ft],
                            Fn = rn >= 0 && i[rn];
                        if (d && !Fn || !d && !wn) {
                            uo(Pa(pe, E), v, N);
                            const rr = function Rb(e, n, i, a, d) {
                                const v = new ll(e, i, Ad);
                                return v.multi = [], v.index = n, v.componentProviders = 0, mv(v, d, a && !i), v
                            }(d ? Nb : Ib, i.length, d, a, W);
                            !d && Fn && (i[rn].providerFactory = rr), zg(v, e, n.length, 0), n.push(N), pe.directiveStart++, pe.directiveEnd++, d && (pe.providerIndexes += 1048576), i.push(rr), E.push(rr)
                        } else zg(v, e, Ft > -1 ? Ft : rn, mv(i[d ? rn : Ft], W, !d && a));
                        !d && a && Fn && i[rn].componentProviders++
                    }
                }
            }

            function zg(e, n, i, a) {
                const d = hu(n),
                    v = function fh(e) {
                        return !!e.useClass
                    }(n);
                if (d || v) {
                    const W = (v ? k(n.useClass) : n).prototype.ngOnDestroy;
                    if (W) {
                        const pe = e.destroyHooks || (e.destroyHooks = []);
                        if (!d && n.multi) {
                            const Ne = pe.indexOf(i); - 1 === Ne ? pe.push(i, [a, W]) : pe[Ne + 1].push(a, W)
                        } else pe.push(i, W)
                    }
                }
            }

            function mv(e, n, i) {
                return i && e.componentProviders++, e.multi.push(n) - 1
            }

            function Kg(e, n, i, a) {
                for (let d = i; d < a; d++)
                    if (n[d] === e) return d;
                return -1
            }

            function Ib(e, n, i, a) {
                return Yg(this.multi, [])
            }

            function Nb(e, n, i, a) {
                const d = this.multi;
                let v;
                if (this.providerFactory) {
                    const E = this.providerFactory.componentProviders,
                        N = ul(i, i[1], this.providerFactory.index, a);
                    v = N.slice(0, E), Yg(d, v);
                    for (let W = E; W < N.length; W++) v.push(N[W])
                } else v = [], Yg(d, v);
                return v
            }

            function Yg(e, n) {
                for (let i = 0; i < e.length; i++) n.push((0, e[i])());
                return n
            }

            function gv(e, n = []) {
                return i => {
                    i.providersResolver = (a, d) => function Pb(e, n, i) {
                        const a = rt();
                        if (a.firstCreatePass) {
                            const d = to(e);
                            Wg(i, a.data, a.blueprint, d, !0), Wg(n, a.data, a.blueprint, d, !1)
                        }
                    }(a, d ? d(e) : e, n)
                }
            }
            class Bh {}
            class _v {}

            function Fb(e, n) {
                return new vv(e, n ? ? null)
            }
            class vv extends Bh {
                constructor(n, i) {
                    super(), this._parent = i, this._bootstrapComponents = [], this.destroyCbs = [], this.componentFactoryResolver = new pm(this);
                    const a = zr(n);
                    this._bootstrapComponents = pc(a.bootstrap), this._r3Injector = ea(n, i, [{
                        provide: Bh,
                        useValue: this
                    }, {
                        provide: bd,
                        useValue: this.componentFactoryResolver
                    }], $(n), new Set(["environment"])), this._r3Injector.resolveInjectorInitializers(), this.instance = this._r3Injector.get(n)
                }
                get injector() {
                    return this._r3Injector
                }
                destroy() {
                    const n = this._r3Injector;
                    !n.destroyed && n.destroy(), this.destroyCbs.forEach(i => i()), this.destroyCbs = null
                }
                onDestroy(n) {
                    this.destroyCbs.push(n)
                }
            }
            class qg extends _v {
                constructor(n) {
                    super(), this.moduleType = n
                }
                create(n) {
                    return new vv(this.moduleType, n)
                }
            }
            class kb extends Bh {
                constructor(n, i, a) {
                    super(), this.componentFactoryResolver = new pm(this), this.instance = null;
                    const d = new Sp([...n, {
                        provide: Bh,
                        useValue: this
                    }, {
                        provide: bd,
                        useValue: this.componentFactoryResolver
                    }], i || js(), a, new Set(["environment"]));
                    this.injector = d, d.resolveInjectorInitializers()
                }
                destroy() {
                    this.injector.destroy()
                }
                onDestroy(n) {
                    this.injector.onDestroy(n)
                }
            }

            function Jg(e, n, i = null) {
                return new kb(e, n, i).injector
            }
            let Lb = (() => {
                class e {
                    constructor(i) {
                        this._injector = i, this.cachedInjectors = new Map
                    }
                    getOrCreateStandaloneInjector(i) {
                        if (!i.standalone) return null;
                        if (!this.cachedInjectors.has(i.id)) {
                            const a = Ap(0, i.type),
                                d = a.length > 0 ? Jg([a], this._injector, `Standalone[${i.type.name}]`) : null;
                            this.cachedInjectors.set(i.id, d)
                        }
                        return this.cachedInjectors.get(i.id)
                    }
                    ngOnDestroy() {
                        try {
                            for (const i of this.cachedInjectors.values()) null !== i && i.destroy()
                        } finally {
                            this.cachedInjectors.clear()
                        }
                    }
                }
                return e.\u0275prov = Fe({
                    token: e,
                    providedIn: "environment",
                    factory: () => new e(mo(jc))
                }), e
            })();

            function yv(e) {
                e.getStandaloneInjector = n => n.get(Lb).getOrCreateStandaloneInjector(e)
            }

            function Tv(e, n, i) {
                const a = Gi() + e,
                    d = ie();
                return d[a] === At ? zn(d, a, i ? n.call(i) : n()) : function xr(e, n) {
                    return e[n]
                }(d, a)
            }

            function Ov(e, n, i, a) {
                return Sv(ie(), Gi(), e, n, i, a)
            }

            function Av(e, n, i, a, d) {
                return function Pv(e, n, i, a, d, v, E) {
                    const N = n + i;
                    return gr(e, N, d, v) ? zn(e, N + 2, E ? a.call(E, d, v) : a(d, v)) : xm(e, N + 2)
                }(ie(), Gi(), e, n, i, a, d)
            }

            function Mv(e, n, i, a, d, v) {
                return function Iv(e, n, i, a, d, v, E, N) {
                    const W = n + i;
                    return vi(e, W, d, v, E) ? zn(e, W + 3, N ? a.call(N, d, v, E) : a(d, v, E)) : xm(e, W + 3)
                }(ie(), Gi(), e, n, i, a, d, v)
            }

            function xm(e, n) {
                const i = e[n];
                return i === At ? void 0 : i
            }

            function Sv(e, n, i, a, d, v) {
                const E = n + i;
                return yr(e, E, d) ? zn(e, E + 1, v ? a.call(v, d) : a(d)) : xm(e, E + 1)
            }

            function Fv(e, n) {
                const i = rt();
                let a;
                const d = e + 22;
                i.firstCreatePass ? (a = function Qb(e, n) {
                    if (n)
                        for (let i = n.length - 1; i >= 0; i--) {
                            const a = n[i];
                            if (e === a.name) return a
                        }
                }(n, i.pipeRegistry), i.data[d] = a, a.onDestroy && (i.destroyHooks || (i.destroyHooks = [])).push(d, a.onDestroy)) : a = i.data[d];
                const v = a.factory || (a.factory = Co(a.type)),
                    E = Rn(Ad);
                try {
                    const N = ri(!1),
                        W = v();
                    return ri(N),
                        function q1(e, n, i, a) {
                            i >= e.data.length && (e.data[i] = null, e.blueprint[i] = null), n[i] = a
                        }(i, ie(), d, W), W
                } finally {
                    Rn(E)
                }
            }

            function kv(e, n, i) {
                const a = e + 22,
                    d = ie(),
                    v = hs(d, a);
                return function wm(e, n) {
                    return e[1].data[n].pure
                }(d, a) ? Sv(d, Gi(), n, v.transform, i, v) : v.transform(i)
            }

            function Xg(e) {
                return n => {
                    setTimeout(e, void 0, n)
                }
            }
            const Fd = class rC extends t.x {
                constructor(n = !1) {
                    super(), this.__isAsync = n
                }
                emit(n) {
                    super.next(n)
                }
                subscribe(n, i, a) {
                    let d = n,
                        v = i || (() => null),
                        E = a;
                    if (n && "object" == typeof n) {
                        const W = n;
                        d = W.next ? .bind(W), v = W.error ? .bind(W), E = W.complete ? .bind(W)
                    }
                    this.__isAsync && (v = Xg(v), d && (d = Xg(d)), E && (E = Xg(E)));
                    const N = super.subscribe({
                        next: d,
                        error: v,
                        complete: E
                    });
                    return n instanceof r.w0 && n.add(N), N
                }
            };

            function iC() {
                return this._results[ft()]()
            }
            class e0 {
                constructor(n = !1) {
                    this._emitDistinctChangesOnly = n, this.dirty = !0, this._results = [], this._changesDetected = !1, this._changes = null, this.length = 0, this.first = void 0, this.last = void 0;
                    const i = ft(),
                        a = e0.prototype;
                    a[i] || (a[i] = iC)
                }
                get changes() {
                    return this._changes || (this._changes = new Fd)
                }
                get(n) {
                    return this._results[n]
                }
                map(n) {
                    return this._results.map(n)
                }
                filter(n) {
                    return this._results.filter(n)
                }
                find(n) {
                    return this._results.find(n)
                }
                reduce(n, i) {
                    return this._results.reduce(n, i)
                }
                forEach(n) {
                    this._results.forEach(n)
                }
                some(n) {
                    return this._results.some(n)
                }
                toArray() {
                    return this._results.slice()
                }
                toString() {
                    return this._results.toString()
                }
                reset(n, i) {
                    const a = this;
                    a.dirty = !1;
                    const d = rs(n);
                    (this._changesDetected = ! function ca(e, n, i) {
                        if (e.length !== n.length) return !1;
                        for (let a = 0; a < e.length; a++) {
                            let d = e[a],
                                v = n[a];
                            if (i && (d = i(d), v = i(v)), v !== d) return !1
                        }
                        return !0
                    }(a._results, d, i)) && (a._results = d, a.length = d.length, a.last = d[this.length - 1], a.first = d[0])
                }
                notifyOnChanges() {
                    this._changes && (this._changesDetected || !this._emitDistinctChangesOnly) && this._changes.emit(this)
                }
                setDirty() {
                    this.dirty = !0
                }
                destroy() {
                    this.changes.complete(), this.changes.unsubscribe()
                }
            }
            let Em = (() => {
                class e {}
                return e.__NG_ELEMENT_ID__ = aC, e
            })();
            const oC = Em,
                sC = class extends oC {
                    constructor(n, i, a) {
                        super(), this._declarationLView = n, this._declarationTContainer = i, this.elementRef = a
                    }
                    createEmbeddedView(n, i) {
                        const a = this._declarationTContainer.tViews,
                            d = ut(this._declarationLView, a, n, 16, null, a.declTNode, null, null, null, null, i || null);
                        d[17] = this._declarationLView[this._declarationTContainer.index];
                        const E = this._declarationLView[19];
                        return null !== E && (d[19] = E.createEmbeddedView(a)), Mn(a, d, n), new Xp(d)
                    }
                };

            function aC() {
                return ng(en(), ie())
            }

            function ng(e, n) {
                return 4 & e.type ? new sC(n, e, Bu(e, n)) : null
            }
            let rg = (() => {
                class e {}
                return e.__NG_ELEMENT_ID__ = lC, e
            })();

            function lC() {
                return Bv(en(), ie())
            }
            const cC = rg,
                Lv = class extends cC {
                    constructor(n, i, a) {
                        super(), this._lContainer = n, this._hostTNode = i, this._hostLView = a
                    }
                    get element() {
                        return Bu(this._hostTNode, this._hostLView)
                    }
                    get injector() {
                        return new aa(this._hostTNode, this._hostLView)
                    }
                    get parentInjector() {
                        const n = Al(this._hostTNode, this._hostLView);
                        if (Zr(n)) {
                            const i = Sr(n, this._hostLView),
                                a = dr(n);
                            return new aa(i[1].data[a + 8], i)
                        }
                        return new aa(null, this._hostLView)
                    }
                    clear() {
                        for (; this.length > 0;) this.remove(this.length - 1)
                    }
                    get(n) {
                        const i = $v(this._lContainer);
                        return null !== i && i[n] || null
                    }
                    get length() {
                        return this._lContainer.length - 10
                    }
                    createEmbeddedView(n, i, a) {
                        let d, v;
                        "number" == typeof a ? d = a : null != a && (d = a.index, v = a.injector);
                        const E = n.createEmbeddedView(i || {}, v);
                        return this.insert(E, d), E
                    }
                    createComponent(n, i, a, d, v) {
                        const E = n && ! function fl(e) {
                            return "function" == typeof e
                        }(n);
                        let N;
                        if (E) N = i;
                        else {
                            const Qe = i || {};
                            N = Qe.index, a = Qe.injector, d = Qe.projectableNodes, v = Qe.environmentInjector || Qe.ngModuleRef
                        }
                        const W = E ? n : new eh(lr(n)),
                            pe = a || this.parentInjector;
                        if (!v && null == W.ngModule) {
                            const _t = (E ? pe : this.parentInjector).get(jc, null);
                            _t && (v = _t)
                        }
                        const Ne = W.create(pe, d, void 0, v);
                        return this.insert(Ne.hostView, N), Ne
                    }
                    insert(n, i) {
                        const a = n._lView,
                            d = a[1];
                        if (function ci(e) {
                                return hi(e[3])
                            }(a)) {
                            const Ne = this.indexOf(n);
                            if (-1 !== Ne) this.detach(Ne);
                            else {
                                const Qe = a[3],
                                    _t = new Lv(Qe, Qe[6], Qe[3]);
                                _t.detach(_t.indexOf(n))
                            }
                        }
                        const v = this._adjustIndex(i),
                            E = this._lContainer;
                        ! function sr(e, n, i, a) {
                            const d = 10 + a,
                                v = i.length;
                            a > 0 && (i[d - 1][4] = n), a < v - 10 ? (n[4] = i[d], Sl(i, 10 + a, n)) : (i.push(n), n[4] = null), n[3] = i;
                            const E = n[17];
                            null !== E && i !== E && function Qr(e, n) {
                                const i = e[9];
                                n[16] !== n[3][3][16] && (e[2] = !0), null === i ? e[9] = [n] : i.push(n)
                            }(E, n);
                            const N = n[19];
                            null !== N && N.insertView(e), n[2] |= 64
                        }(d, a, E, v);
                        const N = id(v, E),
                            W = a[11],
                            pe = Vd(W, E[7]);
                        return null !== pe && function Oc(e, n, i, a, d, v) {
                            a[0] = d, a[6] = n, vl(e, a, i, 1, d, v)
                        }(d, E[6], W, a, pe, N), n.attachToViewContainerRef(), Sl(t0(E), v, n), n
                    }
                    move(n, i) {
                        return this.insert(n, i)
                    }
                    indexOf(n) {
                        const i = $v(this._lContainer);
                        return null !== i ? i.indexOf(n) : -1
                    }
                    remove(n) {
                        const i = this._adjustIndex(n, -1),
                            a = ss(this._lContainer, i);
                        a && (po(t0(this._lContainer), i), Io(a[1], a))
                    }
                    detach(n) {
                        const i = this._adjustIndex(n, -1),
                            a = ss(this._lContainer, i);
                        return a && null != po(t0(this._lContainer), i) ? new Xp(a) : null
                    }
                    _adjustIndex(n, i = 0) {
                        return n ? ? this.length + i
                    }
                };

            function $v(e) {
                return e[8]
            }

            function t0(e) {
                return e[8] || (e[8] = [])
            }

            function Bv(e, n) {
                let i;
                const a = n[e.index];
                if (hi(a)) i = a;
                else {
                    let d;
                    if (8 & e.type) d = xi(a);
                    else {
                        const v = n[11];
                        d = v.createComment("");
                        const E = so(e, n);
                        Xs(v, Vd(v, E), d, function pp(e, n) {
                            return e.nextSibling(n)
                        }(v, E), !1)
                    }
                    n[e.index] = i = Ha(a, n, d, e), Gu(n, i)
                }
                return new Lv(i, e, n)
            }
            class n0 {
                constructor(n) {
                    this.queryList = n, this.matches = null
                }
                clone() {
                    return new n0(this.queryList)
                }
                setDirty() {
                    this.queryList.setDirty()
                }
            }
            class r0 {
                constructor(n = []) {
                    this.queries = n
                }
                createEmbeddedView(n) {
                    const i = n.queries;
                    if (null !== i) {
                        const a = null !== n.contentQueries ? n.contentQueries[0] : i.length,
                            d = [];
                        for (let v = 0; v < a; v++) {
                            const E = i.getByIndex(v);
                            d.push(this.queries[E.indexInDeclarationView].clone())
                        }
                        return new r0(d)
                    }
                    return null
                }
                insertView(n) {
                    this.dirtyQueriesWithMatches(n)
                }
                detachView(n) {
                    this.dirtyQueriesWithMatches(n)
                }
                dirtyQueriesWithMatches(n) {
                    for (let i = 0; i < this.queries.length; i++) null !== Kv(n, i).matches && this.queries[i].setDirty()
                }
            }
            class Uv {
                constructor(n, i, a = null) {
                    this.predicate = n, this.flags = i, this.read = a
                }
            }
            class o0 {
                constructor(n = []) {
                    this.queries = n
                }
                elementStart(n, i) {
                    for (let a = 0; a < this.queries.length; a++) this.queries[a].elementStart(n, i)
                }
                elementEnd(n) {
                    for (let i = 0; i < this.queries.length; i++) this.queries[i].elementEnd(n)
                }
                embeddedTView(n) {
                    let i = null;
                    for (let a = 0; a < this.length; a++) {
                        const d = null !== i ? i.length : 0,
                            v = this.getByIndex(a).embeddedTView(n, d);
                        v && (v.indexInDeclarationView = a, null !== i ? i.push(v) : i = [v])
                    }
                    return null !== i ? new o0(i) : null
                }
                template(n, i) {
                    for (let a = 0; a < this.queries.length; a++) this.queries[a].template(n, i)
                }
                getByIndex(n) {
                    return this.queries[n]
                }
                get length() {
                    return this.queries.length
                }
                track(n) {
                    this.queries.push(n)
                }
            }
            class s0 {
                constructor(n, i = -1) {
                    this.metadata = n, this.matches = null, this.indexInDeclarationView = -1, this.crossesNgTemplate = !1, this._appliesToNextNode = !0, this._declarationNodeIndex = i
                }
                elementStart(n, i) {
                    this.isApplyingToNode(i) && this.matchTNode(n, i)
                }
                elementEnd(n) {
                    this._declarationNodeIndex === n.index && (this._appliesToNextNode = !1)
                }
                template(n, i) {
                    this.elementStart(n, i)
                }
                embeddedTView(n, i) {
                    return this.isApplyingToNode(n) ? (this.crossesNgTemplate = !0, this.addMatch(-n.index, i), new s0(this.metadata)) : null
                }
                isApplyingToNode(n) {
                    if (this._appliesToNextNode && 1 != (1 & this.metadata.flags)) {
                        const i = this._declarationNodeIndex;
                        let a = n.parent;
                        for (; null !== a && 8 & a.type && a.index !== i;) a = a.parent;
                        return i === (null !== a ? a.index : -1)
                    }
                    return this._appliesToNextNode
                }
                matchTNode(n, i) {
                    const a = this.metadata.predicate;
                    if (Array.isArray(a))
                        for (let d = 0; d < a.length; d++) {
                            const v = a[d];
                            this.matchTNodeWithReadOption(n, i, fC(i, v)), this.matchTNodeWithReadOption(n, i, fo(i, n, v, !1, !1))
                        } else a === Em ? 4 & i.type && this.matchTNodeWithReadOption(n, i, -1) : this.matchTNodeWithReadOption(n, i, fo(i, n, a, !1, !1))
                }
                matchTNodeWithReadOption(n, i, a) {
                    if (null !== a) {
                        const d = this.metadata.read;
                        if (null !== d)
                            if (d === Cd || d === rg || d === Em && 4 & i.type) this.addMatch(i.index, -2);
                            else {
                                const v = fo(i, n, d, !1, !1);
                                null !== v && this.addMatch(i.index, v)
                            }
                        else this.addMatch(i.index, a)
                    }
                }
                addMatch(n, i) {
                    null === this.matches ? this.matches = [n, i] : this.matches.push(n, i)
                }
            }

            function fC(e, n) {
                const i = e.localNames;
                if (null !== i)
                    for (let a = 0; a < i.length; a += 2)
                        if (i[a] === n) return i[a + 1];
                return null
            }

            function hC(e, n, i, a) {
                return -1 === i ? function pC(e, n) {
                    return 11 & e.type ? Bu(e, n) : 4 & e.type ? ng(e, n) : null
                }(n, e) : -2 === i ? function mC(e, n, i) {
                    return i === Cd ? Bu(n, e) : i === Em ? ng(n, e) : i === rg ? Bv(n, e) : void 0
                }(e, n, a) : ul(e, e[1], i, n)
            }

            function Vv(e, n, i, a) {
                const d = n[19].queries[a];
                if (null === d.matches) {
                    const v = e.data,
                        E = i.matches,
                        N = [];
                    for (let W = 0; W < E.length; W += 2) {
                        const pe = E[W];
                        N.push(pe < 0 ? null : hC(n, v[pe], E[W + 1], i.metadata.read))
                    }
                    d.matches = N
                }
                return d.matches
            }

            function a0(e, n, i, a) {
                const d = e.queries.getByIndex(i),
                    v = d.matches;
                if (null !== v) {
                    const E = Vv(e, n, d, i);
                    for (let N = 0; N < v.length; N += 2) {
                        const W = v[N];
                        if (W > 0) a.push(E[N / 2]);
                        else {
                            const pe = v[N + 1],
                                Ne = n[-W];
                            for (let Qe = 10; Qe < Ne.length; Qe++) {
                                const _t = Ne[Qe];
                                _t[17] === _t[3] && a0(_t[1], _t, pe, a)
                            }
                            if (null !== Ne[9]) {
                                const Qe = Ne[9];
                                for (let _t = 0; _t < Qe.length; _t++) {
                                    const Ft = Qe[_t];
                                    a0(Ft[1], Ft, pe, a)
                                }
                            }
                        }
                    }
                }
                return a
            }

            function Hv(e) {
                const n = ie(),
                    i = rt(),
                    a = Ks();
                es(a + 1);
                const d = Kv(i, a);
                if (e.dirty && function Ri(e) {
                        return 4 == (4 & e[2])
                    }(n) === (2 == (2 & d.metadata.flags))) {
                    if (null === d.matches) e.reset([]);
                    else {
                        const v = d.crossesNgTemplate ? a0(i, n, a, []) : Vv(i, n, d, a);
                        e.reset(v, Wh), e.notifyOnChanges()
                    }
                    return !0
                }
                return !1
            }

            function jv(e, n, i) {
                const a = rt();
                a.firstCreatePass && (zv(a, new Uv(e, n, i), -1), 2 == (2 & n) && (a.staticViewQueries = !0)), Wv(a, ie(), n)
            }

            function Gv(e, n, i, a) {
                const d = rt();
                if (d.firstCreatePass) {
                    const v = en();
                    zv(d, new Uv(n, i, a), v.index),
                        function _C(e, n) {
                            const i = e.contentQueries || (e.contentQueries = []);
                            n !== (i.length ? i[i.length - 1] : -1) && i.push(e.queries.length - 1, n)
                        }(d, e), 2 == (2 & i) && (d.staticContentQueries = !0)
                }
                Wv(d, ie(), i)
            }

            function Zv() {
                return function gC(e, n) {
                    return e[19].queries[n].queryList
                }(ie(), Ks())
            }

            function Wv(e, n, i) {
                const a = new e0(4 == (4 & i));
                Hi(e, n, a, a.destroy), null === n[19] && (n[19] = new r0), n[19].queries.push(new n0(a))
            }

            function zv(e, n, i) {
                null === e.queries && (e.queries = new o0), e.queries.track(new s0(n, i))
            }

            function Kv(e, n) {
                return e.queries.getByIndex(n)
            }

            function Yv(e, n) {
                return ng(e, n)
            }

            function og(...e) {}
            const m1 = new Mi("Application Initializer");
            let sg = (() => {
                class e {
                    constructor(i) {
                        this.appInits = i, this.resolve = og, this.reject = og, this.initialized = !1, this.done = !1, this.donePromise = new Promise((a, d) => {
                            this.resolve = a, this.reject = d
                        })
                    }
                    runInitializers() {
                        if (this.initialized) return;
                        const i = [],
                            a = () => {
                                this.done = !0, this.resolve()
                            };
                        if (this.appInits)
                            for (let d = 0; d < this.appInits.length; d++) {
                                const v = this.appInits[d]();
                                if (Pg(v)) i.push(v);
                                else if (Y0(v)) {
                                    const E = new Promise((N, W) => {
                                        v.subscribe({
                                            complete: N,
                                            error: W
                                        })
                                    });
                                    i.push(E)
                                }
                            }
                        Promise.all(i).then(() => {
                            a()
                        }).catch(d => {
                            this.reject(d)
                        }), 0 === i.length && a(), this.initialized = !0
                    }
                }
                return e.\u0275fac = function(i) {
                    return new(i || e)(mo(m1, 8))
                }, e.\u0275prov = Fe({
                    token: e,
                    factory: e.\u0275fac,
                    providedIn: "root"
                }), e
            })();
            const g1 = new Mi("AppId", {
                providedIn: "root",
                factory: function _1() {
                    return `${f0()}${f0()}${f0()}`
                }
            });

            function f0() {
                return String.fromCharCode(97 + Math.floor(25 * Math.random()))
            }
            const v1 = new Mi("Platform Initializer"),
                LC = new Mi("Platform ID", {
                    providedIn: "platform",
                    factory: () => "unknown"
                }),
                y1 = new Mi("appBootstrapListener"),
                $C = new Mi("AnimationModuleType");
            let BC = (() => {
                class e {
                    log(i) {
                        console.log(i)
                    }
                    warn(i) {
                        console.warn(i)
                    }
                }
                return e.\u0275fac = function(i) {
                    return new(i || e)
                }, e.\u0275prov = Fe({
                    token: e,
                    factory: e.\u0275fac,
                    providedIn: "platform"
                }), e
            })();
            const ag = new Mi("LocaleId", {
                    providedIn: "root",
                    factory: () => Qc(ag, tn.Optional | tn.SkipSelf) || function UC() {
                        return typeof $localize < "u" && $localize.locale || $h
                    }()
                }),
                VC = new Mi("DefaultCurrencyCode", {
                    providedIn: "root",
                    factory: () => "USD"
                });
            class HC {
                constructor(n, i) {
                    this.ngModuleFactory = n, this.componentFactories = i
                }
            }
            let jC = (() => {
                class e {
                    compileModuleSync(i) {
                        return new qg(i)
                    }
                    compileModuleAsync(i) {
                        return Promise.resolve(this.compileModuleSync(i))
                    }
                    compileModuleAndAllComponentsSync(i) {
                        const a = this.compileModuleSync(i),
                            v = pc(zr(i).declarations).reduce((E, N) => {
                                const W = lr(N);
                                return W && E.push(new eh(W)), E
                            }, []);
                        return new HC(a, v)
                    }
                    compileModuleAndAllComponentsAsync(i) {
                        return Promise.resolve(this.compileModuleAndAllComponentsSync(i))
                    }
                    clearCache() {}
                    clearCacheFor(i) {}
                    getModuleId(i) {}
                }
                return e.\u0275fac = function(i) {
                    return new(i || e)
                }, e.\u0275prov = Fe({
                    token: e,
                    factory: e.\u0275fac,
                    providedIn: "root"
                }), e
            })();
            const WC = (() => Promise.resolve(0))();

            function p0(e) {
                typeof Zone > "u" ? WC.then(() => {
                    e && e.apply(null, null)
                }) : Zone.current.scheduleMicroTask("scheduleMicrotask", e)
            }
            class Cu {
                constructor({
                    enableLongStackTrace: n = !1,
                    shouldCoalesceEventChangeDetection: i = !1,
                    shouldCoalesceRunChangeDetection: a = !1
                }) {
                    if (this.hasPendingMacrotasks = !1, this.hasPendingMicrotasks = !1, this.isStable = !0, this.onUnstable = new Fd(!1), this.onMicrotaskEmpty = new Fd(!1), this.onStable = new Fd(!1), this.onError = new Fd(!1), typeof Zone > "u") throw new oe(908, !1);
                    Zone.assertZonePatched();
                    const d = this;
                    if (d._nesting = 0, d._outer = d._inner = Zone.current, Zone.AsyncStackTaggingZoneSpec) {
                        const v = Zone.AsyncStackTaggingZoneSpec;
                        d._inner = d._inner.fork(new v("Angular"))
                    }
                    Zone.TaskTrackingZoneSpec && (d._inner = d._inner.fork(new Zone.TaskTrackingZoneSpec)), n && Zone.longStackTraceZoneSpec && (d._inner = d._inner.fork(Zone.longStackTraceZoneSpec)), d.shouldCoalesceEventChangeDetection = !a && i, d.shouldCoalesceRunChangeDetection = a, d.lastRequestAnimationFrameId = -1, d.nativeRequestAnimationFrame = function zC() {
                            let e = jt.requestAnimationFrame,
                                n = jt.cancelAnimationFrame;
                            if (typeof Zone < "u" && e && n) {
                                const i = e[Zone.__symbol__("OriginalDelegate")];
                                i && (e = i);
                                const a = n[Zone.__symbol__("OriginalDelegate")];
                                a && (n = a)
                            }
                            return {
                                nativeRequestAnimationFrame: e,
                                nativeCancelAnimationFrame: n
                            }
                        }().nativeRequestAnimationFrame,
                        function qC(e) {
                            const n = () => {
                                ! function YC(e) {
                                    e.isCheckStableRunning || -1 !== e.lastRequestAnimationFrameId || (e.lastRequestAnimationFrameId = e.nativeRequestAnimationFrame.call(jt, () => {
                                        e.fakeTopEventTask || (e.fakeTopEventTask = Zone.root.scheduleEventTask("fakeTopEventTask", () => {
                                            e.lastRequestAnimationFrameId = -1, m0(e), e.isCheckStableRunning = !0, h0(e), e.isCheckStableRunning = !1
                                        }, void 0, () => {}, () => {})), e.fakeTopEventTask.invoke()
                                    }), m0(e))
                                }(e)
                            };
                            e._inner = e._inner.fork({
                                name: "angular",
                                properties: {
                                    isAngularZone: !0
                                },
                                onInvokeTask: (i, a, d, v, E, N) => {
                                    try {
                                        return x1(e), i.invokeTask(d, v, E, N)
                                    } finally {
                                        (e.shouldCoalesceEventChangeDetection && "eventTask" === v.type || e.shouldCoalesceRunChangeDetection) && n(), w1(e)
                                    }
                                },
                                onInvoke: (i, a, d, v, E, N, W) => {
                                    try {
                                        return x1(e), i.invoke(d, v, E, N, W)
                                    } finally {
                                        e.shouldCoalesceRunChangeDetection && n(), w1(e)
                                    }
                                },
                                onHasTask: (i, a, d, v) => {
                                    i.hasTask(d, v), a === d && ("microTask" == v.change ? (e._hasPendingMicrotasks = v.microTask, m0(e), h0(e)) : "macroTask" == v.change && (e.hasPendingMacrotasks = v.macroTask))
                                },
                                onHandleError: (i, a, d, v) => (i.handleError(d, v), e.runOutsideAngular(() => e.onError.emit(v)), !1)
                            })
                        }(d)
                }
                static isInAngularZone() {
                    return typeof Zone < "u" && !0 === Zone.current.get("isAngularZone")
                }
                static assertInAngularZone() {
                    if (!Cu.isInAngularZone()) throw new oe(909, !1)
                }
                static assertNotInAngularZone() {
                    if (Cu.isInAngularZone()) throw new oe(909, !1)
                }
                run(n, i, a) {
                    return this._inner.run(n, i, a)
                }
                runTask(n, i, a, d) {
                    const v = this._inner,
                        E = v.scheduleEventTask("NgZoneEvent: " + d, n, KC, og, og);
                    try {
                        return v.runTask(E, i, a)
                    } finally {
                        v.cancelTask(E)
                    }
                }
                runGuarded(n, i, a) {
                    return this._inner.runGuarded(n, i, a)
                }
                runOutsideAngular(n) {
                    return this._outer.run(n)
                }
            }
            const KC = {};

            function h0(e) {
                if (0 == e._nesting && !e.hasPendingMicrotasks && !e.isStable) try {
                    e._nesting++, e.onMicrotaskEmpty.emit(null)
                } finally {
                    if (e._nesting--, !e.hasPendingMicrotasks) try {
                        e.runOutsideAngular(() => e.onStable.emit(null))
                    } finally {
                        e.isStable = !0
                    }
                }
            }

            function m0(e) {
                e.hasPendingMicrotasks = !!(e._hasPendingMicrotasks || (e.shouldCoalesceEventChangeDetection || e.shouldCoalesceRunChangeDetection) && -1 !== e.lastRequestAnimationFrameId)
            }

            function x1(e) {
                e._nesting++, e.isStable && (e.isStable = !1, e.onUnstable.emit(null))
            }

            function w1(e) {
                e._nesting--, h0(e)
            }
            class JC {
                constructor() {
                    this.hasPendingMicrotasks = !1, this.hasPendingMacrotasks = !1, this.isStable = !0, this.onUnstable = new Fd, this.onMicrotaskEmpty = new Fd, this.onStable = new Fd, this.onError = new Fd
                }
                run(n, i, a) {
                    return n.apply(i, a)
                }
                runGuarded(n, i, a) {
                    return n.apply(i, a)
                }
                runOutsideAngular(n) {
                    return n()
                }
                runTask(n, i, a, d) {
                    return n.apply(i, a)
                }
            }
            const E1 = new Mi(""),
                D1 = new Mi("");
            let g0, QC = (() => {
                    class e {
                        constructor(i, a, d) {
                            this._ngZone = i, this.registry = a, this._pendingCount = 0, this._isZoneStable = !0, this._didWork = !1, this._callbacks = [], this.taskTrackingZone = null, g0 || (function XC(e) {
                                g0 = e
                            }(d), d.addToWindow(a)), this._watchAngularEvents(), i.run(() => {
                                this.taskTrackingZone = typeof Zone > "u" ? null : Zone.current.get("TaskTrackingZone")
                            })
                        }
                        _watchAngularEvents() {
                            this._ngZone.onUnstable.subscribe({
                                next: () => {
                                    this._didWork = !0, this._isZoneStable = !1
                                }
                            }), this._ngZone.runOutsideAngular(() => {
                                this._ngZone.onStable.subscribe({
                                    next: () => {
                                        Cu.assertNotInAngularZone(), p0(() => {
                                            this._isZoneStable = !0, this._runCallbacksIfReady()
                                        })
                                    }
                                })
                            })
                        }
                        increasePendingRequestCount() {
                            return this._pendingCount += 1, this._didWork = !0, this._pendingCount
                        }
                        decreasePendingRequestCount() {
                            if (this._pendingCount -= 1, this._pendingCount < 0) throw new Error("pending async requests below zero");
                            return this._runCallbacksIfReady(), this._pendingCount
                        }
                        isStable() {
                            return this._isZoneStable && 0 === this._pendingCount && !this._ngZone.hasPendingMacrotasks
                        }
                        _runCallbacksIfReady() {
                            if (this.isStable()) p0(() => {
                                for (; 0 !== this._callbacks.length;) {
                                    let i = this._callbacks.pop();
                                    clearTimeout(i.timeoutId), i.doneCb(this._didWork)
                                }
                                this._didWork = !1
                            });
                            else {
                                let i = this.getPendingTasks();
                                this._callbacks = this._callbacks.filter(a => !a.updateCb || !a.updateCb(i) || (clearTimeout(a.timeoutId), !1)), this._didWork = !0
                            }
                        }
                        getPendingTasks() {
                            return this.taskTrackingZone ? this.taskTrackingZone.macroTasks.map(i => ({
                                source: i.source,
                                creationLocation: i.creationLocation,
                                data: i.data
                            })) : []
                        }
                        addCallback(i, a, d) {
                            let v = -1;
                            a && a > 0 && (v = setTimeout(() => {
                                this._callbacks = this._callbacks.filter(E => E.timeoutId !== v), i(this._didWork, this.getPendingTasks())
                            }, a)), this._callbacks.push({
                                doneCb: i,
                                timeoutId: v,
                                updateCb: d
                            })
                        }
                        whenStable(i, a, d) {
                            if (d && !this.taskTrackingZone) throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');
                            this.addCallback(i, a, d), this._runCallbacksIfReady()
                        }
                        getPendingRequestCount() {
                            return this._pendingCount
                        }
                        registerApplication(i) {
                            this.registry.registerApplication(i, this)
                        }
                        unregisterApplication(i) {
                            this.registry.unregisterApplication(i)
                        }
                        findProviders(i, a, d) {
                            return []
                        }
                    }
                    return e.\u0275fac = function(i) {
                        return new(i || e)(mo(Cu), mo(T1), mo(D1))
                    }, e.\u0275prov = Fe({
                        token: e,
                        factory: e.\u0275fac
                    }), e
                })(),
                T1 = (() => {
                    class e {
                        constructor() {
                            this._applications = new Map
                        }
                        registerApplication(i, a) {
                            this._applications.set(i, a)
                        }
                        unregisterApplication(i) {
                            this._applications.delete(i)
                        }
                        unregisterAllApplications() {
                            this._applications.clear()
                        }
                        getTestability(i) {
                            return this._applications.get(i) || null
                        }
                        getAllTestabilities() {
                            return Array.from(this._applications.values())
                        }
                        getAllRootElements() {
                            return Array.from(this._applications.keys())
                        }
                        findTestabilityInTree(i, a = !0) {
                            return g0 ? .findTestabilityInTree(this, i, a) ? ? null
                        }
                    }
                    return e.\u0275fac = function(i) {
                        return new(i || e)
                    }, e.\u0275prov = Fe({
                        token: e,
                        factory: e.\u0275fac,
                        providedIn: "platform"
                    }), e
                })(),
                fp = null;
            const O1 = new Mi("AllowMultipleToken"),
                _0 = new Mi("PlatformDestroyListeners");
            class nx {
                constructor(n, i) {
                    this.name = n, this.token = i
                }
            }

            function M1(e, n, i = []) {
                const a = `Platform: ${n}`,
                    d = new Mi(a);
                return (v = []) => {
                    let E = v0();
                    if (!E || E.injector.get(O1, !1)) {
                        const N = [...i, ...v, {
                            provide: d,
                            useValue: !0
                        }];
                        e ? e(N) : function rx(e) {
                            if (fp && !fp.get(O1, !1)) throw new oe(400, !1);
                            fp = e;
                            const n = e.get(P1);
                            (function A1(e) {
                                const n = e.get(v1, null);
                                n && n.forEach(i => i())
                            })(e)
                        }(function S1(e = [], n) {
                            return Ll.create({
                                name: n,
                                providers: [{
                                    provide: Gf,
                                    useValue: "platform"
                                }, {
                                    provide: _0,
                                    useValue: new Set([() => fp = null])
                                }, ...e]
                            })
                        }(N, a))
                    }
                    return function ox(e) {
                        const n = v0();
                        if (!n) throw new oe(401, !1);
                        return n
                    }()
                }
            }

            function v0() {
                return fp ? .get(P1) ? ? null
            }
            let P1 = (() => {
                class e {
                    constructor(i) {
                        this._injector = i, this._modules = [], this._destroyListeners = [], this._destroyed = !1
                    }
                    bootstrapModuleFactory(i, a) {
                        const d = function N1(e, n) {
                                let i;
                                return i = "noop" === e ? new JC : ("zone.js" === e ? void 0 : e) || new Cu(n), i
                            }(a ? .ngZone, function I1(e) {
                                return {
                                    enableLongStackTrace: !1,
                                    shouldCoalesceEventChangeDetection: !(!e || !e.ngZoneEventCoalescing) || !1,
                                    shouldCoalesceRunChangeDetection: !(!e || !e.ngZoneRunCoalescing) || !1
                                }
                            }(a)),
                            v = [{
                                provide: Cu,
                                useValue: d
                            }];
                        return d.run(() => {
                            const E = Ll.create({
                                    providers: v,
                                    parent: this.injector,
                                    name: i.moduleType.name
                                }),
                                N = i.create(E),
                                W = N.injector.get(gu, null);
                            if (!W) throw new oe(402, !1);
                            return d.runOutsideAngular(() => {
                                    const pe = d.onError.subscribe({
                                        next: Ne => {
                                            W.handleError(Ne)
                                        }
                                    });
                                    N.onDestroy(() => {
                                        cg(this._modules, N), pe.unsubscribe()
                                    })
                                }),
                                function R1(e, n, i) {
                                    try {
                                        const a = i();
                                        return Pg(a) ? a.catch(d => {
                                            throw n.runOutsideAngular(() => e.handleError(d)), d
                                        }) : a
                                    } catch (a) {
                                        throw n.runOutsideAngular(() => e.handleError(a)), a
                                    }
                                }(W, d, () => {
                                    const pe = N.injector.get(sg);
                                    return pe.runInitializers(), pe.donePromise.then(() => (G_(N.injector.get(ag, $h) || $h), this._moduleDoBootstrap(N), N))
                                })
                        })
                    }
                    bootstrapModule(i, a = []) {
                        const d = F1({}, a);
                        return function ex(e, n, i) {
                            const a = new qg(i);
                            return Promise.resolve(a)
                        }(0, 0, i).then(v => this.bootstrapModuleFactory(v, d))
                    }
                    _moduleDoBootstrap(i) {
                        const a = i.injector.get(lg);
                        if (i._bootstrapComponents.length > 0) i._bootstrapComponents.forEach(d => a.bootstrap(d));
                        else {
                            if (!i.instance.ngDoBootstrap) throw new oe(403, !1);
                            i.instance.ngDoBootstrap(a)
                        }
                        this._modules.push(i)
                    }
                    onDestroy(i) {
                        this._destroyListeners.push(i)
                    }
                    get injector() {
                        return this._injector
                    }
                    destroy() {
                        if (this._destroyed) throw new oe(404, !1);
                        this._modules.slice().forEach(a => a.destroy()), this._destroyListeners.forEach(a => a());
                        const i = this._injector.get(_0, null);
                        i && (i.forEach(a => a()), i.clear()), this._destroyed = !0
                    }
                    get destroyed() {
                        return this._destroyed
                    }
                }
                return e.\u0275fac = function(i) {
                    return new(i || e)(mo(Ll))
                }, e.\u0275prov = Fe({
                    token: e,
                    factory: e.\u0275fac,
                    providedIn: "platform"
                }), e
            })();

            function F1(e, n) {
                return Array.isArray(n) ? n.reduce(F1, e) : { ...e,
                    ...n
                }
            }
            let lg = (() => {
                class e {
                    constructor(i, a, d) {
                        this._zone = i, this._injector = a, this._exceptionHandler = d, this._bootstrapListeners = [], this._views = [], this._runningTick = !1, this._stable = !0, this._destroyed = !1, this._destroyListeners = [], this.componentTypes = [], this.components = [], this._onMicrotaskEmptySubscription = this._zone.onMicrotaskEmpty.subscribe({
                            next: () => {
                                this._zone.run(() => {
                                    this.tick()
                                })
                            }
                        });
                        const v = new U.y(N => {
                                this._stable = this._zone.isStable && !this._zone.hasPendingMacrotasks && !this._zone.hasPendingMicrotasks, this._zone.runOutsideAngular(() => {
                                    N.next(this._stable), N.complete()
                                })
                            }),
                            E = new U.y(N => {
                                let W;
                                this._zone.runOutsideAngular(() => {
                                    W = this._zone.onStable.subscribe(() => {
                                        Cu.assertNotInAngularZone(), p0(() => {
                                            !this._stable && !this._zone.hasPendingMacrotasks && !this._zone.hasPendingMicrotasks && (this._stable = !0, N.next(!0))
                                        })
                                    })
                                });
                                const pe = this._zone.onUnstable.subscribe(() => {
                                    Cu.assertInAngularZone(), this._stable && (this._stable = !1, this._zone.runOutsideAngular(() => {
                                        N.next(!1)
                                    }))
                                });
                                return () => {
                                    W.unsubscribe(), pe.unsubscribe()
                                }
                            });
                        this.isStable = (0, C.T)(v, E.pipe((0, x.B)()))
                    }
                    get destroyed() {
                        return this._destroyed
                    }
                    get injector() {
                        return this._injector
                    }
                    bootstrap(i, a) {
                        const d = i instanceof Ip;
                        if (!this._injector.get(sg).done) throw !d && jr(i), new oe(405, false);
                        let E;
                        E = d ? i : this._injector.get(bd).resolveComponentFactory(i), this.componentTypes.push(E.componentType);
                        const N = function tx(e) {
                                return e.isBoundToModule
                            }(E) ? void 0 : this._injector.get(Bh),
                            pe = E.create(Ll.NULL, [], a || E.selector, N),
                            Ne = pe.location.nativeElement,
                            Qe = pe.injector.get(E1, null);
                        return Qe ? .registerApplication(Ne), pe.onDestroy(() => {
                            this.detachView(pe.hostView), cg(this.components, pe), Qe ? .unregisterApplication(Ne)
                        }), this._loadComponent(pe), pe
                    }
                    tick() {
                        if (this._runningTick) throw new oe(101, !1);
                        try {
                            this._runningTick = !0;
                            for (let i of this._views) i.detectChanges()
                        } catch (i) {
                            this._zone.runOutsideAngular(() => this._exceptionHandler.handleError(i))
                        } finally {
                            this._runningTick = !1
                        }
                    }
                    attachView(i) {
                        const a = i;
                        this._views.push(a), a.attachToAppRef(this)
                    }
                    detachView(i) {
                        const a = i;
                        cg(this._views, a), a.detachFromAppRef()
                    }
                    _loadComponent(i) {
                        this.attachView(i.hostView), this.tick(), this.components.push(i), this._injector.get(y1, []).concat(this._bootstrapListeners).forEach(d => d(i))
                    }
                    ngOnDestroy() {
                        if (!this._destroyed) try {
                            this._destroyListeners.forEach(i => i()), this._views.slice().forEach(i => i.destroy()), this._onMicrotaskEmptySubscription.unsubscribe()
                        } finally {
                            this._destroyed = !0, this._views = [], this._bootstrapListeners = [], this._destroyListeners = []
                        }
                    }
                    onDestroy(i) {
                        return this._destroyListeners.push(i), () => cg(this._destroyListeners, i)
                    }
                    destroy() {
                        if (this._destroyed) throw new oe(406, !1);
                        const i = this._injector;
                        i.destroy && !i.destroyed && i.destroy()
                    }
                    get viewCount() {
                        return this._views.length
                    }
                    warnIfDestroyed() {}
                }
                return e.\u0275fac = function(i) {
                    return new(i || e)(mo(Cu), mo(jc), mo(gu))
                }, e.\u0275prov = Fe({
                    token: e,
                    factory: e.\u0275fac,
                    providedIn: "root"
                }), e
            })();

            function cg(e, n) {
                const i = e.indexOf(n);
                i > -1 && e.splice(i, 1)
            }
            let L1 = !0,
                $1 = !1;

            function ax() {
                return $1 = !0, L1
            }

            function lx() {
                if ($1) throw new Error("Cannot enable prod mode after platform setup.");
                L1 = !1
            }
            let cx = (() => {
                class e {}
                return e.__NG_ELEMENT_ID__ = ux, e
            })();

            function ux(e) {
                return function dx(e, n, i) {
                    if (Ho(e) && !i) {
                        const a = Ti(e.index, n);
                        return new Xp(a, a)
                    }
                    return 47 & e.type ? new Xp(n[16], n) : null
                }(en(), ie(), 16 == (16 & e))
            }
            class H1 {
                constructor() {}
                supports(n) {
                    return Mt(n)
                }
                create(n) {
                    return new _x(n)
                }
            }
            const gx = (e, n) => n;
            class _x {
                constructor(n) {
                    this.length = 0, this._linkedRecords = null, this._unlinkedRecords = null, this._previousItHead = null, this._itHead = null, this._itTail = null, this._additionsHead = null, this._additionsTail = null, this._movesHead = null, this._movesTail = null, this._removalsHead = null, this._removalsTail = null, this._identityChangesHead = null, this._identityChangesTail = null, this._trackByFn = n || gx
                }
                forEachItem(n) {
                    let i;
                    for (i = this._itHead; null !== i; i = i._next) n(i)
                }
                forEachOperation(n) {
                    let i = this._itHead,
                        a = this._removalsHead,
                        d = 0,
                        v = null;
                    for (; i || a;) {
                        const E = !a || i && i.currentIndex < G1(a, d, v) ? i : a,
                            N = G1(E, d, v),
                            W = E.currentIndex;
                        if (E === a) d--, a = a._nextRemoved;
                        else if (i = i._next, null == E.previousIndex) d++;
                        else {
                            v || (v = []);
                            const pe = N - d,
                                Ne = W - d;
                            if (pe != Ne) {
                                for (let _t = 0; _t < pe; _t++) {
                                    const Ft = _t < v.length ? v[_t] : v[_t] = 0,
                                        rn = Ft + _t;
                                    Ne <= rn && rn < pe && (v[_t] = Ft + 1)
                                }
                                v[E.previousIndex] = Ne - pe
                            }
                        }
                        N !== W && n(E, N, W)
                    }
                }
                forEachPreviousItem(n) {
                    let i;
                    for (i = this._previousItHead; null !== i; i = i._nextPrevious) n(i)
                }
                forEachAddedItem(n) {
                    let i;
                    for (i = this._additionsHead; null !== i; i = i._nextAdded) n(i)
                }
                forEachMovedItem(n) {
                    let i;
                    for (i = this._movesHead; null !== i; i = i._nextMoved) n(i)
                }
                forEachRemovedItem(n) {
                    let i;
                    for (i = this._removalsHead; null !== i; i = i._nextRemoved) n(i)
                }
                forEachIdentityChange(n) {
                    let i;
                    for (i = this._identityChangesHead; null !== i; i = i._nextIdentityChange) n(i)
                }
                diff(n) {
                    if (null == n && (n = []), !Mt(n)) throw new oe(900, !1);
                    return this.check(n) ? this : null
                }
                onDestroy() {}
                check(n) {
                    this._reset();
                    let d, v, E, i = this._itHead,
                        a = !1;
                    if (Array.isArray(n)) {
                        this.length = n.length;
                        for (let N = 0; N < this.length; N++) v = n[N], E = this._trackByFn(N, v), null !== i && Object.is(i.trackById, E) ? (a && (i = this._verifyReinsertion(i, v, E, N)), Object.is(i.item, v) || this._addIdentityChange(i, v)) : (i = this._mismatch(i, v, E, N), a = !0), i = i._next
                    } else d = 0,
                        function un(e, n) {
                            if (Array.isArray(e))
                                for (let i = 0; i < e.length; i++) n(e[i]);
                            else {
                                const i = e[ft()]();
                                let a;
                                for (; !(a = i.next()).done;) n(a.value)
                            }
                        }(n, N => {
                            E = this._trackByFn(d, N), null !== i && Object.is(i.trackById, E) ? (a && (i = this._verifyReinsertion(i, N, E, d)), Object.is(i.item, N) || this._addIdentityChange(i, N)) : (i = this._mismatch(i, N, E, d), a = !0), i = i._next, d++
                        }), this.length = d;
                    return this._truncate(i), this.collection = n, this.isDirty
                }
                get isDirty() {
                    return null !== this._additionsHead || null !== this._movesHead || null !== this._removalsHead || null !== this._identityChangesHead
                }
                _reset() {
                    if (this.isDirty) {
                        let n;
                        for (n = this._previousItHead = this._itHead; null !== n; n = n._next) n._nextPrevious = n._next;
                        for (n = this._additionsHead; null !== n; n = n._nextAdded) n.previousIndex = n.currentIndex;
                        for (this._additionsHead = this._additionsTail = null, n = this._movesHead; null !== n; n = n._nextMoved) n.previousIndex = n.currentIndex;
                        this._movesHead = this._movesTail = null, this._removalsHead = this._removalsTail = null, this._identityChangesHead = this._identityChangesTail = null
                    }
                }
                _mismatch(n, i, a, d) {
                    let v;
                    return null === n ? v = this._itTail : (v = n._prev, this._remove(n)), null !== (n = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(a, null)) ? (Object.is(n.item, i) || this._addIdentityChange(n, i), this._reinsertAfter(n, v, d)) : null !== (n = null === this._linkedRecords ? null : this._linkedRecords.get(a, d)) ? (Object.is(n.item, i) || this._addIdentityChange(n, i), this._moveAfter(n, v, d)) : n = this._addAfter(new vx(i, a), v, d), n
                }
                _verifyReinsertion(n, i, a, d) {
                    let v = null === this._unlinkedRecords ? null : this._unlinkedRecords.get(a, null);
                    return null !== v ? n = this._reinsertAfter(v, n._prev, d) : n.currentIndex != d && (n.currentIndex = d, this._addToMoves(n, d)), n
                }
                _truncate(n) {
                    for (; null !== n;) {
                        const i = n._next;
                        this._addToRemovals(this._unlink(n)), n = i
                    }
                    null !== this._unlinkedRecords && this._unlinkedRecords.clear(), null !== this._additionsTail && (this._additionsTail._nextAdded = null), null !== this._movesTail && (this._movesTail._nextMoved = null), null !== this._itTail && (this._itTail._next = null), null !== this._removalsTail && (this._removalsTail._nextRemoved = null), null !== this._identityChangesTail && (this._identityChangesTail._nextIdentityChange = null)
                }
                _reinsertAfter(n, i, a) {
                    null !== this._unlinkedRecords && this._unlinkedRecords.remove(n);
                    const d = n._prevRemoved,
                        v = n._nextRemoved;
                    return null === d ? this._removalsHead = v : d._nextRemoved = v, null === v ? this._removalsTail = d : v._prevRemoved = d, this._insertAfter(n, i, a), this._addToMoves(n, a), n
                }
                _moveAfter(n, i, a) {
                    return this._unlink(n), this._insertAfter(n, i, a), this._addToMoves(n, a), n
                }
                _addAfter(n, i, a) {
                    return this._insertAfter(n, i, a), this._additionsTail = null === this._additionsTail ? this._additionsHead = n : this._additionsTail._nextAdded = n, n
                }
                _insertAfter(n, i, a) {
                    const d = null === i ? this._itHead : i._next;
                    return n._next = d, n._prev = i, null === d ? this._itTail = n : d._prev = n, null === i ? this._itHead = n : i._next = n, null === this._linkedRecords && (this._linkedRecords = new j1), this._linkedRecords.put(n), n.currentIndex = a, n
                }
                _remove(n) {
                    return this._addToRemovals(this._unlink(n))
                }
                _unlink(n) {
                    null !== this._linkedRecords && this._linkedRecords.remove(n);
                    const i = n._prev,
                        a = n._next;
                    return null === i ? this._itHead = a : i._next = a, null === a ? this._itTail = i : a._prev = i, n
                }
                _addToMoves(n, i) {
                    return n.previousIndex === i || (this._movesTail = null === this._movesTail ? this._movesHead = n : this._movesTail._nextMoved = n), n
                }
                _addToRemovals(n) {
                    return null === this._unlinkedRecords && (this._unlinkedRecords = new j1), this._unlinkedRecords.put(n), n.currentIndex = null, n._nextRemoved = null, null === this._removalsTail ? (this._removalsTail = this._removalsHead = n, n._prevRemoved = null) : (n._prevRemoved = this._removalsTail, this._removalsTail = this._removalsTail._nextRemoved = n), n
                }
                _addIdentityChange(n, i) {
                    return n.item = i, this._identityChangesTail = null === this._identityChangesTail ? this._identityChangesHead = n : this._identityChangesTail._nextIdentityChange = n, n
                }
            }
            class vx {
                constructor(n, i) {
                    this.item = n, this.trackById = i, this.currentIndex = null, this.previousIndex = null, this._nextPrevious = null, this._prev = null, this._next = null, this._prevDup = null, this._nextDup = null, this._prevRemoved = null, this._nextRemoved = null, this._nextAdded = null, this._nextMoved = null, this._nextIdentityChange = null
                }
            }
            class yx {
                constructor() {
                    this._head = null, this._tail = null
                }
                add(n) {
                    null === this._head ? (this._head = this._tail = n, n._nextDup = null, n._prevDup = null) : (this._tail._nextDup = n, n._prevDup = this._tail, n._nextDup = null, this._tail = n)
                }
                get(n, i) {
                    let a;
                    for (a = this._head; null !== a; a = a._nextDup)
                        if ((null === i || i <= a.currentIndex) && Object.is(a.trackById, n)) return a;
                    return null
                }
                remove(n) {
                    const i = n._prevDup,
                        a = n._nextDup;
                    return null === i ? this._head = a : i._nextDup = a, null === a ? this._tail = i : a._prevDup = i, null === this._head
                }
            }
            class j1 {
                constructor() {
                    this.map = new Map
                }
                put(n) {
                    const i = n.trackById;
                    let a = this.map.get(i);
                    a || (a = new yx, this.map.set(i, a)), a.add(n)
                }
                get(n, i) {
                    const d = this.map.get(n);
                    return d ? d.get(n, i) : null
                }
                remove(n) {
                    const i = n.trackById;
                    return this.map.get(i).remove(n) && this.map.delete(i), n
                }
                get isEmpty() {
                    return 0 === this.map.size
                }
                clear() {
                    this.map.clear()
                }
            }

            function G1(e, n, i) {
                const a = e.previousIndex;
                if (null === a) return a;
                let d = 0;
                return i && a < i.length && (d = i[a]), a + n + d
            }
            class Z1 {
                constructor() {}
                supports(n) {
                    return n instanceof Map || gn(n)
                }
                create() {
                    return new bx
                }
            }
            class bx {
                constructor() {
                    this._records = new Map, this._mapHead = null, this._appendAfter = null, this._previousMapHead = null, this._changesHead = null, this._changesTail = null, this._additionsHead = null, this._additionsTail = null, this._removalsHead = null, this._removalsTail = null
                }
                get isDirty() {
                    return null !== this._additionsHead || null !== this._changesHead || null !== this._removalsHead
                }
                forEachItem(n) {
                    let i;
                    for (i = this._mapHead; null !== i; i = i._next) n(i)
                }
                forEachPreviousItem(n) {
                    let i;
                    for (i = this._previousMapHead; null !== i; i = i._nextPrevious) n(i)
                }
                forEachChangedItem(n) {
                    let i;
                    for (i = this._changesHead; null !== i; i = i._nextChanged) n(i)
                }
                forEachAddedItem(n) {
                    let i;
                    for (i = this._additionsHead; null !== i; i = i._nextAdded) n(i)
                }
                forEachRemovedItem(n) {
                    let i;
                    for (i = this._removalsHead; null !== i; i = i._nextRemoved) n(i)
                }
                diff(n) {
                    if (n) {
                        if (!(n instanceof Map || gn(n))) throw new oe(900, !1)
                    } else n = new Map;
                    return this.check(n) ? this : null
                }
                onDestroy() {}
                check(n) {
                    this._reset();
                    let i = this._mapHead;
                    if (this._appendAfter = null, this._forEach(n, (a, d) => {
                            if (i && i.key === d) this._maybeAddToChanges(i, a), this._appendAfter = i, i = i._next;
                            else {
                                const v = this._getOrCreateRecordForKey(d, a);
                                i = this._insertBeforeOrAppend(i, v)
                            }
                        }), i) {
                        i._prev && (i._prev._next = null), this._removalsHead = i;
                        for (let a = i; null !== a; a = a._nextRemoved) a === this._mapHead && (this._mapHead = null), this._records.delete(a.key), a._nextRemoved = a._next, a.previousValue = a.currentValue, a.currentValue = null, a._prev = null, a._next = null
                    }
                    return this._changesTail && (this._changesTail._nextChanged = null), this._additionsTail && (this._additionsTail._nextAdded = null), this.isDirty
                }
                _insertBeforeOrAppend(n, i) {
                    if (n) {
                        const a = n._prev;
                        return i._next = n, i._prev = a, n._prev = i, a && (a._next = i), n === this._mapHead && (this._mapHead = i), this._appendAfter = n, n
                    }
                    return this._appendAfter ? (this._appendAfter._next = i, i._prev = this._appendAfter) : this._mapHead = i, this._appendAfter = i, null
                }
                _getOrCreateRecordForKey(n, i) {
                    if (this._records.has(n)) {
                        const d = this._records.get(n);
                        this._maybeAddToChanges(d, i);
                        const v = d._prev,
                            E = d._next;
                        return v && (v._next = E), E && (E._prev = v), d._next = null, d._prev = null, d
                    }
                    const a = new Cx(n);
                    return this._records.set(n, a), a.currentValue = i, this._addToAdditions(a), a
                }
                _reset() {
                    if (this.isDirty) {
                        let n;
                        for (this._previousMapHead = this._mapHead, n = this._previousMapHead; null !== n; n = n._next) n._nextPrevious = n._next;
                        for (n = this._changesHead; null !== n; n = n._nextChanged) n.previousValue = n.currentValue;
                        for (n = this._additionsHead; null != n; n = n._nextAdded) n.previousValue = n.currentValue;
                        this._changesHead = this._changesTail = null, this._additionsHead = this._additionsTail = null, this._removalsHead = null
                    }
                }
                _maybeAddToChanges(n, i) {
                    Object.is(i, n.currentValue) || (n.previousValue = n.currentValue, n.currentValue = i, this._addToChanges(n))
                }
                _addToAdditions(n) {
                    null === this._additionsHead ? this._additionsHead = this._additionsTail = n : (this._additionsTail._nextAdded = n, this._additionsTail = n)
                }
                _addToChanges(n) {
                    null === this._changesHead ? this._changesHead = this._changesTail = n : (this._changesTail._nextChanged = n, this._changesTail = n)
                }
                _forEach(n, i) {
                    n instanceof Map ? n.forEach(i) : Object.keys(n).forEach(a => i(n[a], a))
                }
            }
            class Cx {
                constructor(n) {
                    this.key = n, this.previousValue = null, this.currentValue = null, this._nextPrevious = null, this._next = null, this._prev = null, this._nextAdded = null, this._nextRemoved = null, this._nextChanged = null
                }
            }

            function W1() {
                return new w0([new H1])
            }
            let w0 = (() => {
                class e {
                    constructor(i) {
                        this.factories = i
                    }
                    static create(i, a) {
                        if (null != a) {
                            const d = a.factories.slice();
                            i = i.concat(d)
                        }
                        return new e(i)
                    }
                    static extend(i) {
                        return {
                            provide: e,
                            useFactory: a => e.create(i, a || W1()),
                            deps: [
                                [e, new gl, new $o]
                            ]
                        }
                    }
                    find(i) {
                        const a = this.factories.find(d => d.supports(i));
                        if (null != a) return a;
                        throw new oe(901, !1)
                    }
                }
                return e.\u0275prov = Fe({
                    token: e,
                    providedIn: "root",
                    factory: W1
                }), e
            })();

            function z1() {
                return new E0([new Z1])
            }
            let E0 = (() => {
                class e {
                    constructor(i) {
                        this.factories = i
                    }
                    static create(i, a) {
                        if (a) {
                            const d = a.factories.slice();
                            i = i.concat(d)
                        }
                        return new e(i)
                    }
                    static extend(i) {
                        return {
                            provide: e,
                            useFactory: a => e.create(i, a || z1()),
                            deps: [
                                [e, new gl, new $o]
                            ]
                        }
                    }
                    find(i) {
                        const a = this.factories.find(d => d.supports(i));
                        if (a) return a;
                        throw new oe(901, !1)
                    }
                }
                return e.\u0275prov = Fe({
                    token: e,
                    providedIn: "root",
                    factory: z1
                }), e
            })();
            const Ex = M1(null, "core", []);
            let Dx = (() => {
                class e {
                    constructor(i) {}
                }
                return e.\u0275fac = function(i) {
                    return new(i || e)(mo(lg))
                }, e.\u0275mod = yi({
                    type: e
                }), e.\u0275inj = ct({}), e
            })();

            function Tx(e) {
                return "boolean" == typeof e ? e : null != e && "false" !== e
            }

            function Ax(e, n) {
                const i = lr(e),
                    a = n.elementInjector || js();
                return new eh(i).create(a, n.projectableNodes, n.hostElement, n.environmentInjector)
            }
        },
        4006: (Re, he, _) => {
            "use strict";
            _.d(he, {
                EJ: () => Vr,
                Fj: () => le,
                JJ: () => tn,
                JL: () => Cn,
                JU: () => $,
                Kr: () => Xo,
                NI: () => mr,
                Q7: () => va,
                UX: () => Zo,
                Wl: () => G,
                YN: () => ks,
                _: () => Gr,
                _Y: () => $t,
                a5: () => Ln,
                kI: () => me,
                nD: () => ao,
                oH: () => ra,
                qu: () => rt,
                sg: () => Rs,
                u: () => ds,
                u5: () => ya,
                wO: () => So
            });
            var t = _(4650),
                r = _(6895),
                U = _(457),
                C = _(4128),
                x = _(4004);
            let V = (() => {
                    class X {
                        constructor(H, Ie) {
                            this._renderer = H, this._elementRef = Ie, this.onChange = It => {}, this.onTouched = () => {}
                        }
                        setProperty(H, Ie) {
                            this._renderer.setProperty(this._elementRef.nativeElement, H, Ie)
                        }
                        registerOnTouched(H) {
                            this.onTouched = H
                        }
                        registerOnChange(H) {
                            this.onChange = H
                        }
                        setDisabledState(H) {
                            this.setProperty("disabled", H)
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)(t.Y36(t.Qsj), t.Y36(t.SBq))
                    }, X.\u0275dir = t.lG2({
                        type: X
                    }), X
                })(),
                P = (() => {
                    class X extends V {}
                    return X.\u0275fac = function() {
                        let Y;
                        return function(Ie) {
                            return (Y || (Y = t.n5z(X)))(Ie || X)
                        }
                    }(), X.\u0275dir = t.lG2({
                        type: X,
                        features: [t.qOj]
                    }), X
                })();
            const $ = new t.OlP("NgValueAccessor"),
                K = {
                    provide: $,
                    useExisting: (0, t.Gpc)(() => G),
                    multi: !0
                };
            let G = (() => {
                class X extends P {
                    writeValue(H) {
                        this.setProperty("checked", H)
                    }
                }
                return X.\u0275fac = function() {
                    let Y;
                    return function(Ie) {
                        return (Y || (Y = t.n5z(X)))(Ie || X)
                    }
                }(), X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["input", "type", "checkbox", "formControlName", ""],
                        ["input", "type", "checkbox", "formControl", ""],
                        ["input", "type", "checkbox", "ngModel", ""]
                    ],
                    hostBindings: function(H, Ie) {
                        1 & H && t.NdJ("change", function(An) {
                            return Ie.onChange(An.target.checked)
                        })("blur", function() {
                            return Ie.onTouched()
                        })
                    },
                    features: [t._Bn([K]), t.qOj]
                }), X
            })();
            const F = {
                    provide: $,
                    useExisting: (0, t.Gpc)(() => le),
                    multi: !0
                },
                B = new t.OlP("CompositionEventMode");
            let le = (() => {
                class X extends V {
                    constructor(H, Ie, It) {
                        super(H, Ie), this._compositionMode = It, this._composing = !1, null == this._compositionMode && (this._compositionMode = ! function k() {
                            const X = (0, r.q)() ? (0, r.q)().getUserAgent() : "";
                            return /android (\d+)/.test(X.toLowerCase())
                        }())
                    }
                    writeValue(H) {
                        this.setProperty("value", H ? ? "")
                    }
                    _handleInput(H) {
                        (!this._compositionMode || this._compositionMode && !this._composing) && this.onChange(H)
                    }
                    _compositionStart() {
                        this._composing = !0
                    }
                    _compositionEnd(H) {
                        this._composing = !1, this._compositionMode && this.onChange(H)
                    }
                }
                return X.\u0275fac = function(H) {
                    return new(H || X)(t.Y36(t.Qsj), t.Y36(t.SBq), t.Y36(B, 8))
                }, X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["input", "formControlName", "", 3, "type", "checkbox"],
                        ["textarea", "formControlName", ""],
                        ["input", "formControl", "", 3, "type", "checkbox"],
                        ["textarea", "formControl", ""],
                        ["input", "ngModel", "", 3, "type", "checkbox"],
                        ["textarea", "ngModel", ""],
                        ["", "ngDefaultControl", ""]
                    ],
                    hostBindings: function(H, Ie) {
                        1 & H && t.NdJ("input", function(An) {
                            return Ie._handleInput(An.target.value)
                        })("blur", function() {
                            return Ie.onTouched()
                        })("compositionstart", function() {
                            return Ie._compositionStart()
                        })("compositionend", function(An) {
                            return Ie._compositionEnd(An.target.value)
                        })
                    },
                    features: [t._Bn([F]), t.qOj]
                }), X
            })();

            function Te(X) {
                return null == X || ("string" == typeof X || Array.isArray(X)) && 0 === X.length
            }

            function Ae(X) {
                return null != X && "number" == typeof X.length
            }
            const ce = new t.OlP("NgValidators"),
                be = new t.OlP("NgAsyncValidators"),
                je = /^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
            class me {
                static min(Y) {
                    return function ge(X) {
                        return Y => {
                            if (Te(Y.value) || Te(X)) return null;
                            const H = parseFloat(Y.value);
                            return !isNaN(H) && H < X ? {
                                min: {
                                    min: X,
                                    actual: Y.value
                                }
                            } : null
                        }
                    }(Y)
                }
                static max(Y) {
                    return function _e(X) {
                        return Y => {
                            if (Te(Y.value) || Te(X)) return null;
                            const H = parseFloat(Y.value);
                            return !isNaN(H) && H > X ? {
                                max: {
                                    max: X,
                                    actual: Y.value
                                }
                            } : null
                        }
                    }(Y)
                }
                static required(Y) {
                    return we(Y)
                }
                static requiredTrue(Y) {
                    return function ke(X) {
                        return !0 === X.value ? null : {
                            required: !0
                        }
                    }(Y)
                }
                static email(Y) {
                    return function Je(X) {
                        return Te(X.value) || je.test(X.value) ? null : {
                            email: !0
                        }
                    }(Y)
                }
                static minLength(Y) {
                    return ue(Y)
                }
                static maxLength(Y) {
                    return Me(Y)
                }
                static pattern(Y) {
                    return function Ke(X) {
                        if (!X) return Be;
                        let Y, H;
                        return "string" == typeof X ? (H = "", "^" !== X.charAt(0) && (H += "^"), H += X, "$" !== X.charAt(X.length - 1) && (H += "$"), Y = new RegExp(H)) : (H = X.toString(), Y = X), Ie => {
                            if (Te(Ie.value)) return null;
                            const It = Ie.value;
                            return Y.test(It) ? null : {
                                pattern: {
                                    requiredPattern: H,
                                    actualValue: It
                                }
                            }
                        }
                    }(Y)
                }
                static nullValidator(Y) {
                    return null
                }
                static compose(Y) {
                    return Pe(Y)
                }
                static composeAsync(Y) {
                    return J(Y)
                }
            }

            function we(X) {
                return Te(X.value) ? {
                    required: !0
                } : null
            }

            function ue(X) {
                return Y => Te(Y.value) || !Ae(Y.value) ? null : Y.value.length < X ? {
                    minlength: {
                        requiredLength: X,
                        actualLength: Y.value.length
                    }
                } : null
            }

            function Me(X) {
                return Y => Ae(Y.value) && Y.value.length > X ? {
                    maxlength: {
                        requiredLength: X,
                        actualLength: Y.value.length
                    }
                } : null
            }

            function Be(X) {
                return null
            }

            function He(X) {
                return null != X
            }

            function xt(X) {
                return (0, t.QGY)(X) ? (0, U.D)(X) : X
            }

            function kt(X) {
                let Y = {};
                return X.forEach(H => {
                    Y = null != H ? { ...Y,
                        ...H
                    } : Y
                }), 0 === Object.keys(Y).length ? null : Y
            }

            function St(X, Y) {
                return Y.map(H => H(X))
            }

            function ht(X) {
                return X.map(Y => function Ct(X) {
                    return !X.validate
                }(Y) ? Y : H => Y.validate(H))
            }

            function Pe(X) {
                if (!X) return null;
                const Y = X.filter(He);
                return 0 == Y.length ? null : function(H) {
                    return kt(St(H, Y))
                }
            }

            function De(X) {
                return null != X ? Pe(ht(X)) : null
            }

            function J(X) {
                if (!X) return null;
                const Y = X.filter(He);
                return 0 == Y.length ? null : function(H) {
                    const Ie = St(H, Y).map(xt);
                    return (0, C.D)(Ie).pipe((0, x.U)(kt))
                }
            }

            function fe(X) {
                return null != X ? J(ht(X)) : null
            }

            function Fe(X, Y) {
                return null === X ? [Y] : Array.isArray(X) ? [...X, Y] : [X, Y]
            }

            function at(X) {
                return X._rawValidators
            }

            function ct(X) {
                return X._rawAsyncValidators
            }

            function vt(X) {
                return X ? Array.isArray(X) ? X : [X] : []
            }

            function Qt(X, Y) {
                return Array.isArray(X) ? X.includes(Y) : X === Y
            }

            function Ge(X, Y) {
                const H = vt(Y);
                return vt(X).forEach(It => {
                    Qt(H, It) || H.push(It)
                }), H
            }

            function mt(X, Y) {
                return vt(Y).filter(H => !Qt(X, H))
            }
            class Lt {
                constructor() {
                    this._rawValidators = [], this._rawAsyncValidators = [], this._onDestroyCallbacks = []
                }
                get value() {
                    return this.control ? this.control.value : null
                }
                get valid() {
                    return this.control ? this.control.valid : null
                }
                get invalid() {
                    return this.control ? this.control.invalid : null
                }
                get pending() {
                    return this.control ? this.control.pending : null
                }
                get disabled() {
                    return this.control ? this.control.disabled : null
                }
                get enabled() {
                    return this.control ? this.control.enabled : null
                }
                get errors() {
                    return this.control ? this.control.errors : null
                }
                get pristine() {
                    return this.control ? this.control.pristine : null
                }
                get dirty() {
                    return this.control ? this.control.dirty : null
                }
                get touched() {
                    return this.control ? this.control.touched : null
                }
                get status() {
                    return this.control ? this.control.status : null
                }
                get untouched() {
                    return this.control ? this.control.untouched : null
                }
                get statusChanges() {
                    return this.control ? this.control.statusChanges : null
                }
                get valueChanges() {
                    return this.control ? this.control.valueChanges : null
                }
                get path() {
                    return null
                }
                _setValidators(Y) {
                    this._rawValidators = Y || [], this._composedValidatorFn = De(this._rawValidators)
                }
                _setAsyncValidators(Y) {
                    this._rawAsyncValidators = Y || [], this._composedAsyncValidatorFn = fe(this._rawAsyncValidators)
                }
                get validator() {
                    return this._composedValidatorFn || null
                }
                get asyncValidator() {
                    return this._composedAsyncValidatorFn || null
                }
                _registerOnDestroy(Y) {
                    this._onDestroyCallbacks.push(Y)
                }
                _invokeOnDestroyCallbacks() {
                    this._onDestroyCallbacks.forEach(Y => Y()), this._onDestroyCallbacks = []
                }
                reset(Y) {
                    this.control && this.control.reset(Y)
                }
                hasError(Y, H) {
                    return !!this.control && this.control.hasError(Y, H)
                }
                getError(Y, H) {
                    return this.control ? this.control.getError(Y, H) : null
                }
            }
            class _n extends Lt {
                get formDirective() {
                    return null
                }
                get path() {
                    return null
                }
            }
            class Ln extends Lt {
                constructor() {
                    super(...arguments), this._parent = null, this.name = null, this.valueAccessor = null
                }
            }
            class Nn {
                constructor(Y) {
                    this._cd = Y
                }
                get isTouched() {
                    return !!this._cd ? .control ? .touched
                }
                get isUntouched() {
                    return !!this._cd ? .control ? .untouched
                }
                get isPristine() {
                    return !!this._cd ? .control ? .pristine
                }
                get isDirty() {
                    return !!this._cd ? .control ? .dirty
                }
                get isValid() {
                    return !!this._cd ? .control ? .valid
                }
                get isInvalid() {
                    return !!this._cd ? .control ? .invalid
                }
                get isPending() {
                    return !!this._cd ? .control ? .pending
                }
                get isSubmitted() {
                    return !!this._cd ? .submitted
                }
            }
            let tn = (() => {
                    class X extends Nn {
                        constructor(H) {
                            super(H)
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)(t.Y36(Ln, 2))
                    }, X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["", "formControlName", ""],
                            ["", "ngModel", ""],
                            ["", "formControl", ""]
                        ],
                        hostVars: 14,
                        hostBindings: function(H, Ie) {
                            2 & H && t.ekj("ng-untouched", Ie.isUntouched)("ng-touched", Ie.isTouched)("ng-pristine", Ie.isPristine)("ng-dirty", Ie.isDirty)("ng-valid", Ie.isValid)("ng-invalid", Ie.isInvalid)("ng-pending", Ie.isPending)
                        },
                        features: [t.qOj]
                    }), X
                })(),
                Cn = (() => {
                    class X extends Nn {
                        constructor(H) {
                            super(H)
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)(t.Y36(_n, 10))
                    }, X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["", "formGroupName", ""],
                            ["", "formArrayName", ""],
                            ["", "ngModelGroup", ""],
                            ["", "formGroup", ""],
                            ["form", 3, "ngNoForm", ""],
                            ["", "ngForm", ""]
                        ],
                        hostVars: 16,
                        hostBindings: function(H, Ie) {
                            2 & H && t.ekj("ng-untouched", Ie.isUntouched)("ng-touched", Ie.isTouched)("ng-pristine", Ie.isPristine)("ng-dirty", Ie.isDirty)("ng-valid", Ie.isValid)("ng-invalid", Ie.isInvalid)("ng-pending", Ie.isPending)("ng-submitted", Ie.isSubmitted)
                        },
                        features: [t.qOj]
                    }), X
                })();
            const In = "VALID",
                Kn = "INVALID",
                si = "PENDING",
                Jr = "DISABLED";

            function hr(X) {
                return (eo(X) ? X.validators : X) || null
            }

            function ai(X) {
                return Array.isArray(X) ? De(X) : X || null
            }

            function Si(X, Y) {
                return (eo(Y) ? Y.asyncValidators : X) || null
            }

            function yi(X) {
                return Array.isArray(X) ? fe(X) : X || null
            }

            function eo(X) {
                return null != X && !Array.isArray(X) && "object" == typeof X
            }

            function Ji(X, Y, H) {
                const Ie = X.controls;
                if (!(Y ? Object.keys(Ie) : Ie).length) throw new t.vHH(1e3, "");
                if (!Ie[H]) throw new t.vHH(1001, "")
            }

            function Pi(X, Y, H) {
                X._forEachChild((Ie, It) => {
                    if (void 0 === H[It]) throw new t.vHH(1002, "")
                })
            }
            class To {
                constructor(Y, H) {
                    this._pendingDirty = !1, this._hasOwnPendingAsyncValidator = !1, this._pendingTouched = !1, this._onCollectionChange = () => {}, this._parent = null, this.pristine = !0, this.touched = !1, this._onDisabledChange = [], this._rawValidators = Y, this._rawAsyncValidators = H, this._composedValidatorFn = ai(this._rawValidators), this._composedAsyncValidatorFn = yi(this._rawAsyncValidators)
                }
                get validator() {
                    return this._composedValidatorFn
                }
                set validator(Y) {
                    this._rawValidators = this._composedValidatorFn = Y
                }
                get asyncValidator() {
                    return this._composedAsyncValidatorFn
                }
                set asyncValidator(Y) {
                    this._rawAsyncValidators = this._composedAsyncValidatorFn = Y
                }
                get parent() {
                    return this._parent
                }
                get valid() {
                    return this.status === In
                }
                get invalid() {
                    return this.status === Kn
                }
                get pending() {
                    return this.status == si
                }
                get disabled() {
                    return this.status === Jr
                }
                get enabled() {
                    return this.status !== Jr
                }
                get dirty() {
                    return !this.pristine
                }
                get untouched() {
                    return !this.touched
                }
                get updateOn() {
                    return this._updateOn ? this._updateOn : this.parent ? this.parent.updateOn : "change"
                }
                setValidators(Y) {
                    this._rawValidators = Y, this._composedValidatorFn = ai(Y)
                }
                setAsyncValidators(Y) {
                    this._rawAsyncValidators = Y, this._composedAsyncValidatorFn = yi(Y)
                }
                addValidators(Y) {
                    this.setValidators(Ge(Y, this._rawValidators))
                }
                addAsyncValidators(Y) {
                    this.setAsyncValidators(Ge(Y, this._rawAsyncValidators))
                }
                removeValidators(Y) {
                    this.setValidators(mt(Y, this._rawValidators))
                }
                removeAsyncValidators(Y) {
                    this.setAsyncValidators(mt(Y, this._rawAsyncValidators))
                }
                hasValidator(Y) {
                    return Qt(this._rawValidators, Y)
                }
                hasAsyncValidator(Y) {
                    return Qt(this._rawAsyncValidators, Y)
                }
                clearValidators() {
                    this.validator = null
                }
                clearAsyncValidators() {
                    this.asyncValidator = null
                }
                markAsTouched(Y = {}) {
                    this.touched = !0, this._parent && !Y.onlySelf && this._parent.markAsTouched(Y)
                }
                markAllAsTouched() {
                    this.markAsTouched({
                        onlySelf: !0
                    }), this._forEachChild(Y => Y.markAllAsTouched())
                }
                markAsUntouched(Y = {}) {
                    this.touched = !1, this._pendingTouched = !1, this._forEachChild(H => {
                        H.markAsUntouched({
                            onlySelf: !0
                        })
                    }), this._parent && !Y.onlySelf && this._parent._updateTouched(Y)
                }
                markAsDirty(Y = {}) {
                    this.pristine = !1, this._parent && !Y.onlySelf && this._parent.markAsDirty(Y)
                }
                markAsPristine(Y = {}) {
                    this.pristine = !0, this._pendingDirty = !1, this._forEachChild(H => {
                        H.markAsPristine({
                            onlySelf: !0
                        })
                    }), this._parent && !Y.onlySelf && this._parent._updatePristine(Y)
                }
                markAsPending(Y = {}) {
                    this.status = si, !1 !== Y.emitEvent && this.statusChanges.emit(this.status), this._parent && !Y.onlySelf && this._parent.markAsPending(Y)
                }
                disable(Y = {}) {
                    const H = this._parentMarkedDirty(Y.onlySelf);
                    this.status = Jr, this.errors = null, this._forEachChild(Ie => {
                        Ie.disable({ ...Y,
                            onlySelf: !0
                        })
                    }), this._updateValue(), !1 !== Y.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._updateAncestors({ ...Y,
                        skipPristineCheck: H
                    }), this._onDisabledChange.forEach(Ie => Ie(!0))
                }
                enable(Y = {}) {
                    const H = this._parentMarkedDirty(Y.onlySelf);
                    this.status = In, this._forEachChild(Ie => {
                        Ie.enable({ ...Y,
                            onlySelf: !0
                        })
                    }), this.updateValueAndValidity({
                        onlySelf: !0,
                        emitEvent: Y.emitEvent
                    }), this._updateAncestors({ ...Y,
                        skipPristineCheck: H
                    }), this._onDisabledChange.forEach(Ie => Ie(!1))
                }
                _updateAncestors(Y) {
                    this._parent && !Y.onlySelf && (this._parent.updateValueAndValidity(Y), Y.skipPristineCheck || this._parent._updatePristine(), this._parent._updateTouched())
                }
                setParent(Y) {
                    this._parent = Y
                }
                getRawValue() {
                    return this.value
                }
                updateValueAndValidity(Y = {}) {
                    this._setInitialStatus(), this._updateValue(), this.enabled && (this._cancelExistingSubscription(), this.errors = this._runValidator(), this.status = this._calculateStatus(), (this.status === In || this.status === si) && this._runAsyncValidator(Y.emitEvent)), !1 !== Y.emitEvent && (this.valueChanges.emit(this.value), this.statusChanges.emit(this.status)), this._parent && !Y.onlySelf && this._parent.updateValueAndValidity(Y)
                }
                _updateTreeValidity(Y = {
                    emitEvent: !0
                }) {
                    this._forEachChild(H => H._updateTreeValidity(Y)), this.updateValueAndValidity({
                        onlySelf: !0,
                        emitEvent: Y.emitEvent
                    })
                }
                _setInitialStatus() {
                    this.status = this._allControlsDisabled() ? Jr : In
                }
                _runValidator() {
                    return this.validator ? this.validator(this) : null
                }
                _runAsyncValidator(Y) {
                    if (this.asyncValidator) {
                        this.status = si, this._hasOwnPendingAsyncValidator = !0;
                        const H = xt(this.asyncValidator(this));
                        this._asyncValidationSubscription = H.subscribe(Ie => {
                            this._hasOwnPendingAsyncValidator = !1, this.setErrors(Ie, {
                                emitEvent: Y
                            })
                        })
                    }
                }
                _cancelExistingSubscription() {
                    this._asyncValidationSubscription && (this._asyncValidationSubscription.unsubscribe(), this._hasOwnPendingAsyncValidator = !1)
                }
                setErrors(Y, H = {}) {
                    this.errors = Y, this._updateControlsErrors(!1 !== H.emitEvent)
                }
                get(Y) {
                    let H = Y;
                    return null == H || (Array.isArray(H) || (H = H.split(".")), 0 === H.length) ? null : H.reduce((Ie, It) => Ie && Ie._find(It), this)
                }
                getError(Y, H) {
                    const Ie = H ? this.get(H) : this;
                    return Ie && Ie.errors ? Ie.errors[Y] : null
                }
                hasError(Y, H) {
                    return !!this.getError(Y, H)
                }
                get root() {
                    let Y = this;
                    for (; Y._parent;) Y = Y._parent;
                    return Y
                }
                _updateControlsErrors(Y) {
                    this.status = this._calculateStatus(), Y && this.statusChanges.emit(this.status), this._parent && this._parent._updateControlsErrors(Y)
                }
                _initObservables() {
                    this.valueChanges = new t.vpe, this.statusChanges = new t.vpe
                }
                _calculateStatus() {
                    return this._allControlsDisabled() ? Jr : this.errors ? Kn : this._hasOwnPendingAsyncValidator || this._anyControlsHaveStatus(si) ? si : this._anyControlsHaveStatus(Kn) ? Kn : In
                }
                _anyControlsHaveStatus(Y) {
                    return this._anyControls(H => H.status === Y)
                }
                _anyControlsDirty() {
                    return this._anyControls(Y => Y.dirty)
                }
                _anyControlsTouched() {
                    return this._anyControls(Y => Y.touched)
                }
                _updatePristine(Y = {}) {
                    this.pristine = !this._anyControlsDirty(), this._parent && !Y.onlySelf && this._parent._updatePristine(Y)
                }
                _updateTouched(Y = {}) {
                    this.touched = this._anyControlsTouched(), this._parent && !Y.onlySelf && this._parent._updateTouched(Y)
                }
                _registerOnCollectionChange(Y) {
                    this._onCollectionChange = Y
                }
                _setUpdateStrategy(Y) {
                    eo(Y) && null != Y.updateOn && (this._updateOn = Y.updateOn)
                }
                _parentMarkedDirty(Y) {
                    return !Y && !(!this._parent || !this._parent.dirty) && !this._parent._anyControlsDirty()
                }
                _find(Y) {
                    return null
                }
            }
            class lr extends To {
                constructor(Y, H, Ie) {
                    super(hr(H), Si(Ie, H)), this.controls = Y, this._initObservables(), this._setUpdateStrategy(H), this._setUpControls(), this.updateValueAndValidity({
                        onlySelf: !0,
                        emitEvent: !!this.asyncValidator
                    })
                }
                registerControl(Y, H) {
                    return this.controls[Y] ? this.controls[Y] : (this.controls[Y] = H, H.setParent(this), H._registerOnCollectionChange(this._onCollectionChange), H)
                }
                addControl(Y, H, Ie = {}) {
                    this.registerControl(Y, H), this.updateValueAndValidity({
                        emitEvent: Ie.emitEvent
                    }), this._onCollectionChange()
                }
                removeControl(Y, H = {}) {
                    this.controls[Y] && this.controls[Y]._registerOnCollectionChange(() => {}), delete this.controls[Y], this.updateValueAndValidity({
                        emitEvent: H.emitEvent
                    }), this._onCollectionChange()
                }
                setControl(Y, H, Ie = {}) {
                    this.controls[Y] && this.controls[Y]._registerOnCollectionChange(() => {}), delete this.controls[Y], H && this.registerControl(Y, H), this.updateValueAndValidity({
                        emitEvent: Ie.emitEvent
                    }), this._onCollectionChange()
                }
                contains(Y) {
                    return this.controls.hasOwnProperty(Y) && this.controls[Y].enabled
                }
                setValue(Y, H = {}) {
                    Pi(this, 0, Y), Object.keys(Y).forEach(Ie => {
                        Ji(this, !0, Ie), this.controls[Ie].setValue(Y[Ie], {
                            onlySelf: !0,
                            emitEvent: H.emitEvent
                        })
                    }), this.updateValueAndValidity(H)
                }
                patchValue(Y, H = {}) {
                    null != Y && (Object.keys(Y).forEach(Ie => {
                        const It = this.controls[Ie];
                        It && It.patchValue(Y[Ie], {
                            onlySelf: !0,
                            emitEvent: H.emitEvent
                        })
                    }), this.updateValueAndValidity(H))
                }
                reset(Y = {}, H = {}) {
                    this._forEachChild((Ie, It) => {
                        Ie.reset(Y[It], {
                            onlySelf: !0,
                            emitEvent: H.emitEvent
                        })
                    }), this._updatePristine(H), this._updateTouched(H), this.updateValueAndValidity(H)
                }
                getRawValue() {
                    return this._reduceChildren({}, (Y, H, Ie) => (Y[Ie] = H.getRawValue(), Y))
                }
                _syncPendingControls() {
                    let Y = this._reduceChildren(!1, (H, Ie) => !!Ie._syncPendingControls() || H);
                    return Y && this.updateValueAndValidity({
                        onlySelf: !0
                    }), Y
                }
                _forEachChild(Y) {
                    Object.keys(this.controls).forEach(H => {
                        const Ie = this.controls[H];
                        Ie && Y(Ie, H)
                    })
                }
                _setUpControls() {
                    this._forEachChild(Y => {
                        Y.setParent(this), Y._registerOnCollectionChange(this._onCollectionChange)
                    })
                }
                _updateValue() {
                    this.value = this._reduceValue()
                }
                _anyControls(Y) {
                    for (const [H, Ie] of Object.entries(this.controls))
                        if (this.contains(H) && Y(Ie)) return !0;
                    return !1
                }
                _reduceValue() {
                    return this._reduceChildren({}, (H, Ie, It) => ((Ie.enabled || this.disabled) && (H[It] = Ie.value), H))
                }
                _reduceChildren(Y, H) {
                    let Ie = Y;
                    return this._forEachChild((It, An) => {
                        Ie = H(Ie, It, An)
                    }), Ie
                }
                _allControlsDisabled() {
                    for (const Y of Object.keys(this.controls))
                        if (this.controls[Y].enabled) return !1;
                    return Object.keys(this.controls).length > 0 || this.disabled
                }
                _find(Y) {
                    return this.controls.hasOwnProperty(Y) ? this.controls[Y] : null
                }
            }
            class jr extends lr {}

            function nt(X, Y) {
                Xe(X, Y), Y.valueAccessor.writeValue(X.value), X.disabled && Y.valueAccessor.setDisabledState ? .(!0),
                    function Xt(X, Y) {
                        Y.valueAccessor.registerOnChange(H => {
                            X._pendingValue = H, X._pendingChange = !0, X._pendingDirty = !0, "change" === X.updateOn && er(X, Y)
                        })
                    }(X, Y),
                    function Kr(X, Y) {
                        const H = (Ie, It) => {
                            Y.valueAccessor.writeValue(Ie), It && Y.viewToModelUpdate(Ie)
                        };
                        X.registerOnChange(H), Y._registerOnDestroy(() => {
                            X._unregisterOnChange(H)
                        })
                    }(X, Y),
                    function dn(X, Y) {
                        Y.valueAccessor.registerOnTouched(() => {
                            X._pendingTouched = !0, "blur" === X.updateOn && X._pendingChange && er(X, Y), "submit" !== X.updateOn && X.markAsTouched()
                        })
                    }(X, Y),
                    function ae(X, Y) {
                        if (Y.valueAccessor.setDisabledState) {
                            const H = Ie => {
                                Y.valueAccessor.setDisabledState(Ie)
                            };
                            X.registerOnDisabledChange(H), Y._registerOnDestroy(() => {
                                X._unregisterOnDisabledChange(H)
                            })
                        }
                    }(X, Y)
            }

            function Ee(X, Y, H = !0) {
                const Ie = () => {};
                Y.valueAccessor && (Y.valueAccessor.registerOnChange(Ie), Y.valueAccessor.registerOnTouched(Ie)), Dt(X, Y), X && (Y._invokeOnDestroyCallbacks(), X._registerOnCollectionChange(() => {}))
            }

            function re(X, Y) {
                X.forEach(H => {
                    H.registerOnValidatorChange && H.registerOnValidatorChange(Y)
                })
            }

            function Xe(X, Y) {
                const H = at(X);
                null !== Y.validator ? X.setValidators(Fe(H, Y.validator)) : "function" == typeof H && X.setValidators([H]);
                const Ie = ct(X);
                null !== Y.asyncValidator ? X.setAsyncValidators(Fe(Ie, Y.asyncValidator)) : "function" == typeof Ie && X.setAsyncValidators([Ie]);
                const It = () => X.updateValueAndValidity();
                re(Y._rawValidators, It), re(Y._rawAsyncValidators, It)
            }

            function Dt(X, Y) {
                let H = !1;
                if (null !== X) {
                    if (null !== Y.validator) {
                        const It = at(X);
                        if (Array.isArray(It) && It.length > 0) {
                            const An = It.filter(nr => nr !== Y.validator);
                            An.length !== It.length && (H = !0, X.setValidators(An))
                        }
                    }
                    if (null !== Y.asyncValidator) {
                        const It = ct(X);
                        if (Array.isArray(It) && It.length > 0) {
                            const An = It.filter(nr => nr !== Y.asyncValidator);
                            An.length !== It.length && (H = !0, X.setAsyncValidators(An))
                        }
                    }
                }
                const Ie = () => {};
                return re(Y._rawValidators, Ie), re(Y._rawAsyncValidators, Ie), H
            }

            function er(X, Y) {
                X._pendingDirty && X.markAsDirty(), X.setValue(X._pendingValue, {
                    emitModelToViewChange: !1
                }), Y.viewToModelUpdate(X._pendingValue), X._pendingChange = !1
            }

            function Le(X, Y) {
                if (!X.hasOwnProperty("model")) return !1;
                const H = X.model;
                return !!H.isFirstChange() || !Object.is(Y, H.currentValue)
            }

            function Ht(X, Y) {
                if (!Y) return null;
                let H, Ie, It;
                return Array.isArray(Y), Y.forEach(An => {
                    An.constructor === le ? H = An : function ot(X) {
                        return Object.getPrototypeOf(X.constructor) === P
                    }(An) ? Ie = An : It = An
                }), It || Ie || H || null
            }

            function Ur(X, Y) {
                const H = X.indexOf(Y);
                H > -1 && X.splice(H, 1)
            }

            function Dr(X) {
                return "object" == typeof X && null !== X && 2 === Object.keys(X).length && "value" in X && "disabled" in X
            }
            const mr = class extends To {
                constructor(Y = null, H, Ie) {
                    super(hr(H), Si(Ie, H)), this.defaultValue = null, this._onChange = [], this._pendingChange = !1, this._applyFormState(Y), this._setUpdateStrategy(H), this._initObservables(), this.updateValueAndValidity({
                        onlySelf: !0,
                        emitEvent: !!this.asyncValidator
                    }), eo(H) && (H.nonNullable || H.initialValueIsDefault) && (this.defaultValue = Dr(Y) ? Y.value : Y)
                }
                setValue(Y, H = {}) {
                    this.value = this._pendingValue = Y, this._onChange.length && !1 !== H.emitModelToViewChange && this._onChange.forEach(Ie => Ie(this.value, !1 !== H.emitViewToModelChange)), this.updateValueAndValidity(H)
                }
                patchValue(Y, H = {}) {
                    this.setValue(Y, H)
                }
                reset(Y = this.defaultValue, H = {}) {
                    this._applyFormState(Y), this.markAsPristine(H), this.markAsUntouched(H), this.setValue(this.value, H), this._pendingChange = !1
                }
                _updateValue() {}
                _anyControls(Y) {
                    return !1
                }
                _allControlsDisabled() {
                    return this.disabled
                }
                registerOnChange(Y) {
                    this._onChange.push(Y)
                }
                _unregisterOnChange(Y) {
                    Ur(this._onChange, Y)
                }
                registerOnDisabledChange(Y) {
                    this._onDisabledChange.push(Y)
                }
                _unregisterOnDisabledChange(Y) {
                    Ur(this._onDisabledChange, Y)
                }
                _forEachChild(Y) {}
                _syncPendingControls() {
                    return !("submit" !== this.updateOn || (this._pendingDirty && this.markAsDirty(), this._pendingTouched && this.markAsTouched(), !this._pendingChange) || (this.setValue(this._pendingValue, {
                        onlySelf: !0,
                        emitModelToViewChange: !1
                    }), 0))
                }
                _applyFormState(Y) {
                    Dr(Y) ? (this.value = this._pendingValue = Y.value, Y.disabled ? this.disable({
                        onlySelf: !0,
                        emitEvent: !1
                    }) : this.enable({
                        onlySelf: !0,
                        emitEvent: !1
                    })) : this.value = this._pendingValue = Y
                }
            };
            let $t = (() => {
                class X {}
                return X.\u0275fac = function(H) {
                    return new(H || X)
                }, X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["form", 3, "ngNoForm", "", 3, "ngNativeValidate", ""]
                    ],
                    hostAttrs: ["novalidate", ""]
                }), X
            })();
            const Tr = {
                provide: $,
                useExisting: (0, t.Gpc)(() => Gr),
                multi: !0
            };
            let mi = (() => {
                    class X {}
                    return X.\u0275fac = function(H) {
                        return new(H || X)
                    }, X.\u0275mod = t.oAB({
                        type: X
                    }), X.\u0275inj = t.cJS({}), X
                })(),
                Ki = (() => {
                    class X {
                        constructor() {
                            this._accessors = []
                        }
                        add(H, Ie) {
                            this._accessors.push([H, Ie])
                        }
                        remove(H) {
                            for (let Ie = this._accessors.length - 1; Ie >= 0; --Ie)
                                if (this._accessors[Ie][1] === H) return void this._accessors.splice(Ie, 1)
                        }
                        select(H) {
                            this._accessors.forEach(Ie => {
                                this._isSameGroup(Ie, H) && Ie[1] !== H && Ie[1].fireUncheck(H.value)
                            })
                        }
                        _isSameGroup(H, Ie) {
                            return !!H[0].control && H[0]._parent === Ie._control._parent && H[1].name === Ie.name
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)
                    }, X.\u0275prov = t.Yz7({
                        token: X,
                        factory: X.\u0275fac,
                        providedIn: mi
                    }), X
                })(),
                Gr = (() => {
                    class X extends P {
                        constructor(H, Ie, It, An) {
                            super(H, Ie), this._registry = It, this._injector = An, this.onChange = () => {}
                        }
                        ngOnInit() {
                            this._control = this._injector.get(Ln), this._checkName(), this._registry.add(this._control, this)
                        }
                        ngOnDestroy() {
                            this._registry.remove(this)
                        }
                        writeValue(H) {
                            this._state = H === this.value, this.setProperty("checked", this._state)
                        }
                        registerOnChange(H) {
                            this._fn = H, this.onChange = () => {
                                H(this.value), this._registry.select(this)
                            }
                        }
                        fireUncheck(H) {
                            this.writeValue(H)
                        }
                        _checkName() {
                            !this.name && this.formControlName && (this.name = this.formControlName)
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)(t.Y36(t.Qsj), t.Y36(t.SBq), t.Y36(Ki), t.Y36(t.zs3))
                    }, X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["input", "type", "radio", "formControlName", ""],
                            ["input", "type", "radio", "formControl", ""],
                            ["input", "type", "radio", "ngModel", ""]
                        ],
                        hostBindings: function(H, Ie) {
                            1 & H && t.NdJ("change", function() {
                                return Ie.onChange()
                            })("blur", function() {
                                return Ie.onTouched()
                            })
                        },
                        inputs: {
                            name: "name",
                            formControlName: "formControlName",
                            value: "value"
                        },
                        features: [t._Bn([Tr]), t.qOj]
                    }), X
                })();
            const cs = new t.OlP("NgModelWithFormControlWarning"),
                Qo = {
                    provide: Ln,
                    useExisting: (0, t.Gpc)(() => ra)
                };
            let ra = (() => {
                class X extends Ln {
                    constructor(H, Ie, It, An) {
                        super(), this._ngModelWarningConfig = An, this.update = new t.vpe, this._ngModelWarningSent = !1, this._setValidators(H), this._setAsyncValidators(Ie), this.valueAccessor = Ht(0, It)
                    }
                    set isDisabled(H) {}
                    ngOnChanges(H) {
                        if (this._isControlChanged(H)) {
                            const Ie = H.form.previousValue;
                            Ie && Ee(Ie, this, !1), nt(this.form, this), this.form.updateValueAndValidity({
                                emitEvent: !1
                            })
                        }
                        Le(H, this.viewModel) && (this.form.setValue(this.model), this.viewModel = this.model)
                    }
                    ngOnDestroy() {
                        this.form && Ee(this.form, this, !1)
                    }
                    get path() {
                        return []
                    }
                    get control() {
                        return this.form
                    }
                    viewToModelUpdate(H) {
                        this.viewModel = H, this.update.emit(H)
                    }
                    _isControlChanged(H) {
                        return H.hasOwnProperty("form")
                    }
                }
                return X._ngModelWarningSentOnce = !1, X.\u0275fac = function(H) {
                    return new(H || X)(t.Y36(ce, 10), t.Y36(be, 10), t.Y36($, 10), t.Y36(cs, 8))
                }, X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["", "formControl", ""]
                    ],
                    inputs: {
                        form: ["formControl", "form"],
                        isDisabled: ["disabled", "isDisabled"],
                        model: ["ngModel", "model"]
                    },
                    outputs: {
                        update: "ngModelChange"
                    },
                    exportAs: ["ngForm"],
                    features: [t._Bn([Qo]), t.qOj, t.TTD]
                }), X
            })();
            const $i = {
                provide: _n,
                useExisting: (0, t.Gpc)(() => Rs)
            };
            let Rs = (() => {
                class X extends _n {
                    constructor(H, Ie) {
                        super(), this.submitted = !1, this._onCollectionChange = () => this._updateDomValue(), this.directives = [], this.form = null, this.ngSubmit = new t.vpe, this._setValidators(H), this._setAsyncValidators(Ie)
                    }
                    ngOnChanges(H) {
                        this._checkFormPresent(), H.hasOwnProperty("form") && (this._updateValidators(), this._updateDomValue(), this._updateRegistrations(), this._oldForm = this.form)
                    }
                    ngOnDestroy() {
                        this.form && (Dt(this.form, this), this.form._onCollectionChange === this._onCollectionChange && this.form._registerOnCollectionChange(() => {}))
                    }
                    get formDirective() {
                        return this
                    }
                    get control() {
                        return this.form
                    }
                    get path() {
                        return []
                    }
                    addControl(H) {
                        const Ie = this.form.get(H.path);
                        return nt(Ie, H), Ie.updateValueAndValidity({
                            emitEvent: !1
                        }), this.directives.push(H), Ie
                    }
                    getControl(H) {
                        return this.form.get(H.path)
                    }
                    removeControl(H) {
                        Ee(H.control || null, H, !1),
                            function an(X, Y) {
                                const H = X.indexOf(Y);
                                H > -1 && X.splice(H, 1)
                            }(this.directives, H)
                    }
                    addFormGroup(H) {
                        this._setUpFormContainer(H)
                    }
                    removeFormGroup(H) {
                        this._cleanUpFormContainer(H)
                    }
                    getFormGroup(H) {
                        return this.form.get(H.path)
                    }
                    addFormArray(H) {
                        this._setUpFormContainer(H)
                    }
                    removeFormArray(H) {
                        this._cleanUpFormContainer(H)
                    }
                    getFormArray(H) {
                        return this.form.get(H.path)
                    }
                    updateModel(H, Ie) {
                        this.form.get(H.path).setValue(Ie)
                    }
                    onSubmit(H) {
                        return this.submitted = !0,
                            function zt(X, Y) {
                                X._syncPendingControls(), Y.forEach(H => {
                                    const Ie = H.control;
                                    "submit" === Ie.updateOn && Ie._pendingChange && (H.viewToModelUpdate(Ie._pendingValue), Ie._pendingChange = !1)
                                })
                            }(this.form, this.directives), this.ngSubmit.emit(H), "dialog" === H ? .target ? .method
                    }
                    onReset() {
                        this.resetForm()
                    }
                    resetForm(H) {
                        this.form.reset(H), this.submitted = !1
                    }
                    _updateDomValue() {
                        this.directives.forEach(H => {
                            const Ie = H.control,
                                It = this.form.get(H.path);
                            Ie !== It && (Ee(Ie || null, H), (X => X instanceof mr)(It) && (nt(It, H), H.control = It))
                        }), this.form._updateTreeValidity({
                            emitEvent: !1
                        })
                    }
                    _setUpFormContainer(H) {
                        const Ie = this.form.get(H.path);
                        (function Tn(X, Y) {
                            Xe(X, Y)
                        })(Ie, H), Ie.updateValueAndValidity({
                            emitEvent: !1
                        })
                    }
                    _cleanUpFormContainer(H) {
                        if (this.form) {
                            const Ie = this.form.get(H.path);
                            Ie && function Lr(X, Y) {
                                return Dt(X, Y)
                            }(Ie, H) && Ie.updateValueAndValidity({
                                emitEvent: !1
                            })
                        }
                    }
                    _updateRegistrations() {
                        this.form._registerOnCollectionChange(this._onCollectionChange), this._oldForm && this._oldForm._registerOnCollectionChange(() => {})
                    }
                    _updateValidators() {
                        Xe(this.form, this), this._oldForm && Dt(this._oldForm, this)
                    }
                    _checkFormPresent() {}
                }
                return X.\u0275fac = function(H) {
                    return new(H || X)(t.Y36(ce, 10), t.Y36(be, 10))
                }, X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["", "formGroup", ""]
                    ],
                    hostBindings: function(H, Ie) {
                        1 & H && t.NdJ("submit", function(An) {
                            return Ie.onSubmit(An)
                        })("reset", function() {
                            return Ie.onReset()
                        })
                    },
                    inputs: {
                        form: ["formGroup", "form"]
                    },
                    outputs: {
                        ngSubmit: "ngSubmit"
                    },
                    exportAs: ["ngForm"],
                    features: [t._Bn([$i]), t.qOj, t.TTD]
                }), X
            })();
            const Co = {
                provide: Ln,
                useExisting: (0, t.Gpc)(() => ds)
            };
            let ds = (() => {
                class X extends Ln {
                    constructor(H, Ie, It, An, nr) {
                        super(), this._ngModelWarningConfig = nr, this._added = !1, this.update = new t.vpe, this._ngModelWarningSent = !1, this._parent = H, this._setValidators(Ie), this._setAsyncValidators(It), this.valueAccessor = Ht(0, An)
                    }
                    set isDisabled(H) {}
                    ngOnChanges(H) {
                        this._added || this._setUpControl(), Le(H, this.viewModel) && (this.viewModel = this.model, this.formDirective.updateModel(this, this.model))
                    }
                    ngOnDestroy() {
                        this.formDirective && this.formDirective.removeControl(this)
                    }
                    viewToModelUpdate(H) {
                        this.viewModel = H, this.update.emit(H)
                    }
                    get path() {
                        return function Fr(X, Y) {
                            return [...Y.path, X]
                        }(null == this.name ? this.name : this.name.toString(), this._parent)
                    }
                    get formDirective() {
                        return this._parent ? this._parent.formDirective : null
                    }
                    _checkParentType() {}
                    _setUpControl() {
                        this._checkParentType(), this.control = this.formDirective.addControl(this), this._added = !0
                    }
                }
                return X._ngModelWarningSentOnce = !1, X.\u0275fac = function(H) {
                    return new(H || X)(t.Y36(_n, 13), t.Y36(ce, 10), t.Y36(be, 10), t.Y36($, 10), t.Y36(cs, 8))
                }, X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["", "formControlName", ""]
                    ],
                    inputs: {
                        name: ["formControlName", "name"],
                        isDisabled: ["disabled", "isDisabled"],
                        model: ["ngModel", "model"]
                    },
                    outputs: {
                        update: "ngModelChange"
                    },
                    features: [t._Bn([Co]), t.qOj, t.TTD]
                }), X
            })();
            const jo = {
                provide: $,
                useExisting: (0, t.Gpc)(() => Vr),
                multi: !0
            };

            function Ni(X, Y) {
                return null == X ? `${Y}` : (Y && "object" == typeof Y && (Y = "Object"), `${X}: ${Y}`.slice(0, 50))
            }
            let Vr = (() => {
                    class X extends P {
                        constructor() {
                            super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is
                        }
                        set compareWith(H) {
                            this._compareWith = H
                        }
                        writeValue(H) {
                            this.value = H;
                            const It = Ni(this._getOptionId(H), H);
                            this.setProperty("value", It)
                        }
                        registerOnChange(H) {
                            this.onChange = Ie => {
                                this.value = this._getOptionValue(Ie), H(this.value)
                            }
                        }
                        _registerOption() {
                            return (this._idCounter++).toString()
                        }
                        _getOptionId(H) {
                            for (const Ie of Array.from(this._optionMap.keys()))
                                if (this._compareWith(this._optionMap.get(Ie), H)) return Ie;
                            return null
                        }
                        _getOptionValue(H) {
                            const Ie = function ii(X) {
                                return X.split(":")[0]
                            }(H);
                            return this._optionMap.has(Ie) ? this._optionMap.get(Ie) : H
                        }
                    }
                    return X.\u0275fac = function() {
                        let Y;
                        return function(Ie) {
                            return (Y || (Y = t.n5z(X)))(Ie || X)
                        }
                    }(), X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["select", "formControlName", "", 3, "multiple", ""],
                            ["select", "formControl", "", 3, "multiple", ""],
                            ["select", "ngModel", "", 3, "multiple", ""]
                        ],
                        hostBindings: function(H, Ie) {
                            1 & H && t.NdJ("change", function(An) {
                                return Ie.onChange(An.target.value)
                            })("blur", function() {
                                return Ie.onTouched()
                            })
                        },
                        inputs: {
                            compareWith: "compareWith"
                        },
                        features: [t._Bn([jo]), t.qOj]
                    }), X
                })(),
                ks = (() => {
                    class X {
                        constructor(H, Ie, It) {
                            this._element = H, this._renderer = Ie, this._select = It, this._select && (this.id = this._select._registerOption())
                        }
                        set ngValue(H) {
                            null != this._select && (this._select._optionMap.set(this.id, H), this._setElementValue(Ni(this.id, H)), this._select.writeValue(this._select.value))
                        }
                        set value(H) {
                            this._setElementValue(H), this._select && this._select.writeValue(this._select.value)
                        }
                        _setElementValue(H) {
                            this._renderer.setProperty(this._element.nativeElement, "value", H)
                        }
                        ngOnDestroy() {
                            this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value))
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)(t.Y36(t.SBq), t.Y36(t.Qsj), t.Y36(Vr, 9))
                    }, X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["option"]
                        ],
                        inputs: {
                            ngValue: "ngValue",
                            value: "value"
                        }
                    }), X
                })();
            const fs = {
                provide: $,
                useExisting: (0, t.Gpc)(() => Bi),
                multi: !0
            };

            function Ls(X, Y) {
                return null == X ? `${Y}` : ("string" == typeof Y && (Y = `'${Y}'`), Y && "object" == typeof Y && (Y = "Object"), `${X}: ${Y}`.slice(0, 50))
            }
            let Bi = (() => {
                    class X extends P {
                        constructor() {
                            super(...arguments), this._optionMap = new Map, this._idCounter = 0, this._compareWith = Object.is
                        }
                        set compareWith(H) {
                            this._compareWith = H
                        }
                        writeValue(H) {
                            let Ie;
                            if (this.value = H, Array.isArray(H)) {
                                const It = H.map(An => this._getOptionId(An));
                                Ie = (An, nr) => {
                                    An._setSelected(It.indexOf(nr.toString()) > -1)
                                }
                            } else Ie = (It, An) => {
                                It._setSelected(!1)
                            };
                            this._optionMap.forEach(Ie)
                        }
                        registerOnChange(H) {
                            this.onChange = Ie => {
                                const It = [],
                                    An = Ie.selectedOptions;
                                if (void 0 !== An) {
                                    const nr = An;
                                    for (let no = 0; no < nr.length; no++) {
                                        const Gi = this._getOptionValue(nr[no].value);
                                        It.push(Gi)
                                    }
                                } else {
                                    const nr = Ie.options;
                                    for (let no = 0; no < nr.length; no++) {
                                        const Ci = nr[no];
                                        if (Ci.selected) {
                                            const Gi = this._getOptionValue(Ci.value);
                                            It.push(Gi)
                                        }
                                    }
                                }
                                this.value = It, H(It)
                            }
                        }
                        _registerOption(H) {
                            const Ie = (this._idCounter++).toString();
                            return this._optionMap.set(Ie, H), Ie
                        }
                        _getOptionId(H) {
                            for (const Ie of Array.from(this._optionMap.keys()))
                                if (this._compareWith(this._optionMap.get(Ie)._value, H)) return Ie;
                            return null
                        }
                        _getOptionValue(H) {
                            const Ie = function Ts(X) {
                                return X.split(":")[0]
                            }(H);
                            return this._optionMap.has(Ie) ? this._optionMap.get(Ie)._value : H
                        }
                    }
                    return X.\u0275fac = function() {
                        let Y;
                        return function(Ie) {
                            return (Y || (Y = t.n5z(X)))(Ie || X)
                        }
                    }(), X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["select", "multiple", "", "formControlName", ""],
                            ["select", "multiple", "", "formControl", ""],
                            ["select", "multiple", "", "ngModel", ""]
                        ],
                        hostBindings: function(H, Ie) {
                            1 & H && t.NdJ("change", function(An) {
                                return Ie.onChange(An.target)
                            })("blur", function() {
                                return Ie.onTouched()
                            })
                        },
                        inputs: {
                            compareWith: "compareWith"
                        },
                        features: [t._Bn([fs]), t.qOj]
                    }), X
                })(),
                Xo = (() => {
                    class X {
                        constructor(H, Ie, It) {
                            this._element = H, this._renderer = Ie, this._select = It, this._select && (this.id = this._select._registerOption(this))
                        }
                        set ngValue(H) {
                            null != this._select && (this._value = H, this._setElementValue(Ls(this.id, H)), this._select.writeValue(this._select.value))
                        }
                        set value(H) {
                            this._select ? (this._value = H, this._setElementValue(Ls(this.id, H)), this._select.writeValue(this._select.value)) : this._setElementValue(H)
                        }
                        _setElementValue(H) {
                            this._renderer.setProperty(this._element.nativeElement, "value", H)
                        }
                        _setSelected(H) {
                            this._renderer.setProperty(this._element.nativeElement, "selected", H)
                        }
                        ngOnDestroy() {
                            this._select && (this._select._optionMap.delete(this.id), this._select.writeValue(this._select.value))
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)(t.Y36(t.SBq), t.Y36(t.Qsj), t.Y36(Bi, 9))
                    }, X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["option"]
                        ],
                        inputs: {
                            ngValue: "ngValue",
                            value: "value"
                        }
                    }), X
                })();

            function oa(X) {
                return "number" == typeof X ? X : parseInt(X, 10)
            }
            let ps = (() => {
                class X {
                    constructor() {
                        this._validator = Be
                    }
                    ngOnChanges(H) {
                        if (this.inputName in H) {
                            const Ie = this.normalizeInput(H[this.inputName].currentValue);
                            this._enabled = this.enabled(Ie), this._validator = this._enabled ? this.createValidator(Ie) : Be, this._onChange && this._onChange()
                        }
                    }
                    validate(H) {
                        return this._validator(H)
                    }
                    registerOnValidatorChange(H) {
                        this._onChange = H
                    }
                    enabled(H) {
                        return null != H
                    }
                }
                return X.\u0275fac = function(H) {
                    return new(H || X)
                }, X.\u0275dir = t.lG2({
                    type: X,
                    features: [t.TTD]
                }), X
            })();
            const $s = {
                provide: ce,
                useExisting: (0, t.Gpc)(() => va),
                multi: !0
            };
            let va = (() => {
                class X extends ps {
                    constructor() {
                        super(...arguments), this.inputName = "required", this.normalizeInput = t.D6c, this.createValidator = H => we
                    }
                    enabled(H) {
                        return H
                    }
                }
                return X.\u0275fac = function() {
                    let Y;
                    return function(Ie) {
                        return (Y || (Y = t.n5z(X)))(Ie || X)
                    }
                }(), X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["", "required", "", "formControlName", "", 3, "type", "checkbox"],
                        ["", "required", "", "formControl", "", 3, "type", "checkbox"],
                        ["", "required", "", "ngModel", "", 3, "type", "checkbox"]
                    ],
                    hostVars: 1,
                    hostBindings: function(H, Ie) {
                        2 & H && t.uIk("required", Ie._enabled ? "" : null)
                    },
                    inputs: {
                        required: "required"
                    },
                    features: [t._Bn([$s]), t.qOj]
                }), X
            })();
            const Ri = {
                provide: ce,
                useExisting: (0, t.Gpc)(() => So),
                multi: !0
            };
            let So = (() => {
                class X extends ps {
                    constructor() {
                        super(...arguments), this.inputName = "minlength", this.normalizeInput = H => oa(H), this.createValidator = H => ue(H)
                    }
                }
                return X.\u0275fac = function() {
                    let Y;
                    return function(Ie) {
                        return (Y || (Y = t.n5z(X)))(Ie || X)
                    }
                }(), X.\u0275dir = t.lG2({
                    type: X,
                    selectors: [
                        ["", "minlength", "", "formControlName", ""],
                        ["", "minlength", "", "formControl", ""],
                        ["", "minlength", "", "ngModel", ""]
                    ],
                    hostVars: 1,
                    hostBindings: function(H, Ie) {
                        2 & H && t.uIk("minlength", Ie._enabled ? Ie.minlength : null)
                    },
                    inputs: {
                        minlength: "minlength"
                    },
                    features: [t._Bn([Ri]), t.qOj]
                }), X
            })();
            const ci = {
                provide: ce,
                useExisting: (0, t.Gpc)(() => ao),
                multi: !0
            };
            let ao = (() => {
                    class X extends ps {
                        constructor() {
                            super(...arguments), this.inputName = "maxlength", this.normalizeInput = H => oa(H), this.createValidator = H => Me(H)
                        }
                    }
                    return X.\u0275fac = function() {
                        let Y;
                        return function(Ie) {
                            return (Y || (Y = t.n5z(X)))(Ie || X)
                        }
                    }(), X.\u0275dir = t.lG2({
                        type: X,
                        selectors: [
                            ["", "maxlength", "", "formControlName", ""],
                            ["", "maxlength", "", "formControl", ""],
                            ["", "maxlength", "", "ngModel", ""]
                        ],
                        hostVars: 1,
                        hostBindings: function(H, Ie) {
                            2 & H && t.uIk("maxlength", Ie._enabled ? Ie.maxlength : null)
                        },
                        inputs: {
                            maxlength: "maxlength"
                        },
                        features: [t._Bn([ci]), t.qOj]
                    }), X
                })(),
                Go = (() => {
                    class X {}
                    return X.\u0275fac = function(H) {
                        return new(H || X)
                    }, X.\u0275mod = t.oAB({
                        type: X
                    }), X.\u0275inj = t.cJS({
                        imports: [mi]
                    }), X
                })(),
                ya = (() => {
                    class X {}
                    return X.\u0275fac = function(H) {
                        return new(H || X)
                    }, X.\u0275mod = t.oAB({
                        type: X
                    }), X.\u0275inj = t.cJS({
                        imports: [Go]
                    }), X
                })(),
                Zo = (() => {
                    class X {
                        static withConfig(H) {
                            return {
                                ngModule: X,
                                providers: [{
                                    provide: cs,
                                    useValue: H.warnOnNgModelWithFormControl
                                }]
                            }
                        }
                    }
                    return X.\u0275fac = function(H) {
                        return new(H || X)
                    }, X.\u0275mod = t.oAB({
                        type: X
                    }), X.\u0275inj = t.cJS({
                        imports: [Go]
                    }), X
                })();
            class L extends To {
                constructor(Y, H, Ie) {
                    super(hr(H), Si(Ie, H)), this.controls = Y, this._initObservables(), this._setUpdateStrategy(H), this._setUpControls(), this.updateValueAndValidity({
                        onlySelf: !0,
                        emitEvent: !!this.asyncValidator
                    })
                }
                at(Y) {
                    return this.controls[this._adjustIndex(Y)]
                }
                push(Y, H = {}) {
                    this.controls.push(Y), this._registerControl(Y), this.updateValueAndValidity({
                        emitEvent: H.emitEvent
                    }), this._onCollectionChange()
                }
                insert(Y, H, Ie = {}) {
                    this.controls.splice(Y, 0, H), this._registerControl(H), this.updateValueAndValidity({
                        emitEvent: Ie.emitEvent
                    })
                }
                removeAt(Y, H = {}) {
                    let Ie = this._adjustIndex(Y);
                    Ie < 0 && (Ie = 0), this.controls[Ie] && this.controls[Ie]._registerOnCollectionChange(() => {}), this.controls.splice(Ie, 1), this.updateValueAndValidity({
                        emitEvent: H.emitEvent
                    })
                }
                setControl(Y, H, Ie = {}) {
                    let It = this._adjustIndex(Y);
                    It < 0 && (It = 0), this.controls[It] && this.controls[It]._registerOnCollectionChange(() => {}), this.controls.splice(It, 1), H && (this.controls.splice(It, 0, H), this._registerControl(H)), this.updateValueAndValidity({
                        emitEvent: Ie.emitEvent
                    }), this._onCollectionChange()
                }
                get length() {
                    return this.controls.length
                }
                setValue(Y, H = {}) {
                    Pi(this, 0, Y), Y.forEach((Ie, It) => {
                        Ji(this, !1, It), this.at(It).setValue(Ie, {
                            onlySelf: !0,
                            emitEvent: H.emitEvent
                        })
                    }), this.updateValueAndValidity(H)
                }
                patchValue(Y, H = {}) {
                    null != Y && (Y.forEach((Ie, It) => {
                        this.at(It) && this.at(It).patchValue(Ie, {
                            onlySelf: !0,
                            emitEvent: H.emitEvent
                        })
                    }), this.updateValueAndValidity(H))
                }
                reset(Y = [], H = {}) {
                    this._forEachChild((Ie, It) => {
                        Ie.reset(Y[It], {
                            onlySelf: !0,
                            emitEvent: H.emitEvent
                        })
                    }), this._updatePristine(H), this._updateTouched(H), this.updateValueAndValidity(H)
                }
                getRawValue() {
                    return this.controls.map(Y => Y.getRawValue())
                }
                clear(Y = {}) {
                    this.controls.length < 1 || (this._forEachChild(H => H._registerOnCollectionChange(() => {})), this.controls.splice(0), this.updateValueAndValidity({
                        emitEvent: Y.emitEvent
                    }))
                }
                _adjustIndex(Y) {
                    return Y < 0 ? Y + this.length : Y
                }
                _syncPendingControls() {
                    let Y = this.controls.reduce((H, Ie) => !!Ie._syncPendingControls() || H, !1);
                    return Y && this.updateValueAndValidity({
                        onlySelf: !0
                    }), Y
                }
                _forEachChild(Y) {
                    this.controls.forEach((H, Ie) => {
                        Y(H, Ie)
                    })
                }
                _updateValue() {
                    this.value = this.controls.filter(Y => Y.enabled || this.disabled).map(Y => Y.value)
                }
                _anyControls(Y) {
                    return this.controls.some(H => H.enabled && Y(H))
                }
                _setUpControls() {
                    this._forEachChild(Y => this._registerControl(Y))
                }
                _allControlsDisabled() {
                    for (const Y of this.controls)
                        if (Y.enabled) return !1;
                    return this.controls.length > 0 || this.disabled
                }
                _registerControl(Y) {
                    Y.setParent(this), Y._registerOnCollectionChange(this._onCollectionChange)
                }
                _find(Y) {
                    return this.at(Y) ? ? null
                }
            }

            function ie(X) {
                return !!X && (void 0 !== X.asyncValidators || void 0 !== X.validators || void 0 !== X.updateOn)
            }
            let rt = (() => {
                class X {
                    constructor() {
                        this.useNonNullable = !1
                    }
                    get nonNullable() {
                        const H = new X;
                        return H.useNonNullable = !0, H
                    }
                    group(H, Ie = null) {
                        const It = this._reduceControls(H);
                        let An = {};
                        return ie(Ie) ? An = Ie : null !== Ie && (An.validators = Ie.validator, An.asyncValidators = Ie.asyncValidator), new lr(It, An)
                    }
                    record(H, Ie = null) {
                        const It = this._reduceControls(H);
                        return new jr(It, Ie)
                    }
                    control(H, Ie, It) {
                        let An = {};
                        return this.useNonNullable ? (ie(Ie) ? An = Ie : (An.validators = Ie, An.asyncValidators = It), new mr(H, { ...An,
                            nonNullable: !0
                        })) : new mr(H, Ie, It)
                    }
                    array(H, Ie, It) {
                        const An = H.map(nr => this._createControl(nr));
                        return new L(An, Ie, It)
                    }
                    _reduceControls(H) {
                        const Ie = {};
                        return Object.keys(H).forEach(It => {
                            Ie[It] = this._createControl(H[It])
                        }), Ie
                    }
                    _createControl(H) {
                        return H instanceof mr || H instanceof To ? H : Array.isArray(H) ? this.control(H[0], H.length > 1 ? H[1] : null, H.length > 2 ? H[2] : null) : this.control(H)
                    }
                }
                return X.\u0275fac = function(H) {
                    return new(H || X)
                }, X.\u0275prov = t.Yz7({
                    token: X,
                    factory: X.\u0275fac,
                    providedIn: Zo
                }), X
            })()
        },
        1481: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Dx: () => Ut,
                H7: () => Er,
                b2: () => pn,
                q6: () => kn,
                se: () => He
            });
            var t = _(6895),
                r = _(4650);
            class U extends t.w_ {
                constructor() {
                    super(...arguments), this.supportsDOMEvents = !0
                }
            }
            class C extends U {
                static makeCurrent() {
                    (0, t.HT)(new C)
                }
                onAndCancel(Ee, re, ae) {
                    return Ee.addEventListener(re, ae, !1), () => {
                        Ee.removeEventListener(re, ae, !1)
                    }
                }
                dispatchEvent(Ee, re) {
                    Ee.dispatchEvent(re)
                }
                remove(Ee) {
                    Ee.parentNode && Ee.parentNode.removeChild(Ee)
                }
                createElement(Ee, re) {
                    return (re = re || this.getDefaultDocument()).createElement(Ee)
                }
                createHtmlDocument() {
                    return document.implementation.createHTMLDocument("fakeTitle")
                }
                getDefaultDocument() {
                    return document
                }
                isElementNode(Ee) {
                    return Ee.nodeType === Node.ELEMENT_NODE
                }
                isShadowRoot(Ee) {
                    return Ee instanceof DocumentFragment
                }
                getGlobalEventTarget(Ee, re) {
                    return "window" === re ? window : "document" === re ? Ee : "body" === re ? Ee.body : null
                }
                getBaseHref(Ee) {
                    const re = function V() {
                        return x = x || document.querySelector("base"), x ? x.getAttribute("href") : null
                    }();
                    return null == re ? null : function $(nt) {
                        P = P || document.createElement("a"), P.setAttribute("href", nt);
                        const Ee = P.pathname;
                        return "/" === Ee.charAt(0) ? Ee : `/${Ee}`
                    }(re)
                }
                resetBaseElement() {
                    x = null
                }
                getUserAgent() {
                    return window.navigator.userAgent
                }
                getCookie(Ee) {
                    return (0, t.Mx)(document.cookie, Ee)
                }
            }
            let P, x = null;
            const K = new r.OlP("TRANSITION_ID"),
                F = [{
                    provide: r.ip1,
                    useFactory: function G(nt, Ee, re) {
                        return () => {
                            re.get(r.CZH).donePromise.then(() => {
                                const ae = (0, t.q)(),
                                    Xe = Ee.querySelectorAll(`style[ng-transition="${nt}"]`);
                                for (let Dt = 0; Dt < Xe.length; Dt++) ae.remove(Xe[Dt])
                            })
                        }
                    },
                    deps: [K, t.K0, r.zs3],
                    multi: !0
                }];
            let B = (() => {
                class nt {
                    build() {
                        return new XMLHttpRequest
                    }
                }
                return nt.\u0275fac = function(re) {
                    return new(re || nt)
                }, nt.\u0275prov = r.Yz7({
                    token: nt,
                    factory: nt.\u0275fac
                }), nt
            })();
            const le = new r.OlP("EventManagerPlugins");
            let oe = (() => {
                class nt {
                    constructor(re, ae) {
                        this._zone = ae, this._eventNameToPlugin = new Map, re.forEach(Xe => Xe.manager = this), this._plugins = re.slice().reverse()
                    }
                    addEventListener(re, ae, Xe) {
                        return this._findPluginFor(ae).addEventListener(re, ae, Xe)
                    }
                    addGlobalEventListener(re, ae, Xe) {
                        return this._findPluginFor(ae).addGlobalEventListener(re, ae, Xe)
                    }
                    getZone() {
                        return this._zone
                    }
                    _findPluginFor(re) {
                        const ae = this._eventNameToPlugin.get(re);
                        if (ae) return ae;
                        const Xe = this._plugins;
                        for (let Dt = 0; Dt < Xe.length; Dt++) {
                            const Xt = Xe[Dt];
                            if (Xt.supports(re)) return this._eventNameToPlugin.set(re, Xt), Xt
                        }
                        throw new Error(`No event manager plugin found for event ${re}`)
                    }
                }
                return nt.\u0275fac = function(re) {
                    return new(re || nt)(r.LFG(le), r.LFG(r.R0b))
                }, nt.\u0275prov = r.Yz7({
                    token: nt,
                    factory: nt.\u0275fac
                }), nt
            })();
            class Te {
                constructor(Ee) {
                    this._doc = Ee
                }
                addGlobalEventListener(Ee, re, ae) {
                    const Xe = (0, t.q)().getGlobalEventTarget(this._doc, Ee);
                    if (!Xe) throw new Error(`Unsupported event target ${Xe} for event ${re}`);
                    return this.addEventListener(Xe, re, ae)
                }
            }
            let Ae = (() => {
                    class nt {
                        constructor() {
                            this._stylesSet = new Set
                        }
                        addStyles(re) {
                            const ae = new Set;
                            re.forEach(Xe => {
                                this._stylesSet.has(Xe) || (this._stylesSet.add(Xe), ae.add(Xe))
                            }), this.onStylesAdded(ae)
                        }
                        onStylesAdded(re) {}
                        getAllStyles() {
                            return Array.from(this._stylesSet)
                        }
                    }
                    return nt.\u0275fac = function(re) {
                        return new(re || nt)
                    }, nt.\u0275prov = r.Yz7({
                        token: nt,
                        factory: nt.\u0275fac
                    }), nt
                })(),
                ce = (() => {
                    class nt extends Ae {
                        constructor(re) {
                            super(), this._doc = re, this._hostNodes = new Map, this._hostNodes.set(re.head, [])
                        }
                        _addStylesToHost(re, ae, Xe) {
                            re.forEach(Dt => {
                                const Xt = this._doc.createElement("style");
                                Xt.textContent = Dt, Xe.push(ae.appendChild(Xt))
                            })
                        }
                        addHost(re) {
                            const ae = [];
                            this._addStylesToHost(this._stylesSet, re, ae), this._hostNodes.set(re, ae)
                        }
                        removeHost(re) {
                            const ae = this._hostNodes.get(re);
                            ae && ae.forEach(be), this._hostNodes.delete(re)
                        }
                        onStylesAdded(re) {
                            this._hostNodes.forEach((ae, Xe) => {
                                this._addStylesToHost(re, Xe, ae)
                            })
                        }
                        ngOnDestroy() {
                            this._hostNodes.forEach(re => re.forEach(be))
                        }
                    }
                    return nt.\u0275fac = function(re) {
                        return new(re || nt)(r.LFG(t.K0))
                    }, nt.\u0275prov = r.Yz7({
                        token: nt,
                        factory: nt.\u0275fac
                    }), nt
                })();

            function be(nt) {
                (0, t.q)().remove(nt)
            }
            const je = {
                    svg: "http://www.w3.org/2000/svg",
                    xhtml: "http://www.w3.org/1999/xhtml",
                    xlink: "http://www.w3.org/1999/xlink",
                    xml: "http://www.w3.org/XML/1998/namespace",
                    xmlns: "http://www.w3.org/2000/xmlns/",
                    math: "http://www.w3.org/1998/MathML/"
                },
                me = /%COMP%/g;

            function Me(nt, Ee, re) {
                for (let ae = 0; ae < Ee.length; ae++) {
                    let Xe = Ee[ae];
                    Array.isArray(Xe) ? Me(nt, Xe, re) : (Xe = Xe.replace(me, nt), re.push(Xe))
                }
                return re
            }

            function Ke(nt) {
                return Ee => {
                    if ("__ngUnwrap__" === Ee) return nt;
                    !1 === nt(Ee) && (Ee.preventDefault(), Ee.returnValue = !1)
                }
            }
            let He = (() => {
                class nt {
                    constructor(re, ae, Xe) {
                        this.eventManager = re, this.sharedStylesHost = ae, this.appId = Xe, this.rendererByCompId = new Map, this.defaultRenderer = new xt(re)
                    }
                    createRenderer(re, ae) {
                        if (!re || !ae) return this.defaultRenderer;
                        switch (ae.encapsulation) {
                            case r.ifc.Emulated:
                                {
                                    let Xe = this.rendererByCompId.get(ae.id);
                                    return Xe || (Xe = new ht(this.eventManager, this.sharedStylesHost, ae, this.appId), this.rendererByCompId.set(ae.id, Xe)),
                                    Xe.applyToHost(re),
                                    Xe
                                }
                            case 1:
                            case r.ifc.ShadowDom:
                                return new Pe(this.eventManager, this.sharedStylesHost, re, ae);
                            default:
                                if (!this.rendererByCompId.has(ae.id)) {
                                    const Xe = Me(ae.id, ae.styles, []);
                                    this.sharedStylesHost.addStyles(Xe), this.rendererByCompId.set(ae.id, this.defaultRenderer)
                                }
                                return this.defaultRenderer
                        }
                    }
                    begin() {}
                    end() {}
                }
                return nt.\u0275fac = function(re) {
                    return new(re || nt)(r.LFG(oe), r.LFG(ce), r.LFG(r.AFp))
                }, nt.\u0275prov = r.Yz7({
                    token: nt,
                    factory: nt.\u0275fac
                }), nt
            })();
            class xt {
                constructor(Ee) {
                    this.eventManager = Ee, this.data = Object.create(null), this.destroyNode = null
                }
                destroy() {}
                createElement(Ee, re) {
                    return re ? document.createElementNS(je[re] || re, Ee) : document.createElement(Ee)
                }
                createComment(Ee) {
                    return document.createComment(Ee)
                }
                createText(Ee) {
                    return document.createTextNode(Ee)
                }
                appendChild(Ee, re) {
                    (Ct(Ee) ? Ee.content : Ee).appendChild(re)
                }
                insertBefore(Ee, re, ae) {
                    Ee && (Ct(Ee) ? Ee.content : Ee).insertBefore(re, ae)
                }
                removeChild(Ee, re) {
                    Ee && Ee.removeChild(re)
                }
                selectRootElement(Ee, re) {
                    let ae = "string" == typeof Ee ? document.querySelector(Ee) : Ee;
                    if (!ae) throw new Error(`The selector "${Ee}" did not match any elements`);
                    return re || (ae.textContent = ""), ae
                }
                parentNode(Ee) {
                    return Ee.parentNode
                }
                nextSibling(Ee) {
                    return Ee.nextSibling
                }
                setAttribute(Ee, re, ae, Xe) {
                    if (Xe) {
                        re = Xe + ":" + re;
                        const Dt = je[Xe];
                        Dt ? Ee.setAttributeNS(Dt, re, ae) : Ee.setAttribute(re, ae)
                    } else Ee.setAttribute(re, ae)
                }
                removeAttribute(Ee, re, ae) {
                    if (ae) {
                        const Xe = je[ae];
                        Xe ? Ee.removeAttributeNS(Xe, re) : Ee.removeAttribute(`${ae}:${re}`)
                    } else Ee.removeAttribute(re)
                }
                addClass(Ee, re) {
                    Ee.classList.add(re)
                }
                removeClass(Ee, re) {
                    Ee.classList.remove(re)
                }
                setStyle(Ee, re, ae, Xe) {
                    Xe & (r.JOm.DashCase | r.JOm.Important) ? Ee.style.setProperty(re, ae, Xe & r.JOm.Important ? "important" : "") : Ee.style[re] = ae
                }
                removeStyle(Ee, re, ae) {
                    ae & r.JOm.DashCase ? Ee.style.removeProperty(re) : Ee.style[re] = ""
                }
                setProperty(Ee, re, ae) {
                    Ee[re] = ae
                }
                setValue(Ee, re) {
                    Ee.nodeValue = re
                }
                listen(Ee, re, ae) {
                    return "string" == typeof Ee ? this.eventManager.addGlobalEventListener(Ee, re, Ke(ae)) : this.eventManager.addEventListener(Ee, re, Ke(ae))
                }
            }

            function Ct(nt) {
                return "TEMPLATE" === nt.tagName && void 0 !== nt.content
            }
            class ht extends xt {
                constructor(Ee, re, ae, Xe) {
                    super(Ee), this.component = ae;
                    const Dt = Me(Xe + "-" + ae.id, ae.styles, []);
                    re.addStyles(Dt), this.contentAttr = function Je(nt) {
                        return "_ngcontent-%COMP%".replace(me, nt)
                    }(Xe + "-" + ae.id), this.hostAttr = function ue(nt) {
                        return "_nghost-%COMP%".replace(me, nt)
                    }(Xe + "-" + ae.id)
                }
                applyToHost(Ee) {
                    super.setAttribute(Ee, this.hostAttr, "")
                }
                createElement(Ee, re) {
                    const ae = super.createElement(Ee, re);
                    return super.setAttribute(ae, this.contentAttr, ""), ae
                }
            }
            class Pe extends xt {
                constructor(Ee, re, ae, Xe) {
                    super(Ee), this.sharedStylesHost = re, this.hostEl = ae, this.shadowRoot = ae.attachShadow({
                        mode: "open"
                    }), this.sharedStylesHost.addHost(this.shadowRoot);
                    const Dt = Me(Xe.id, Xe.styles, []);
                    for (let Xt = 0; Xt < Dt.length; Xt++) {
                        const dn = document.createElement("style");
                        dn.textContent = Dt[Xt], this.shadowRoot.appendChild(dn)
                    }
                }
                nodeOrShadowRoot(Ee) {
                    return Ee === this.hostEl ? this.shadowRoot : Ee
                }
                destroy() {
                    this.sharedStylesHost.removeHost(this.shadowRoot)
                }
                appendChild(Ee, re) {
                    return super.appendChild(this.nodeOrShadowRoot(Ee), re)
                }
                insertBefore(Ee, re, ae) {
                    return super.insertBefore(this.nodeOrShadowRoot(Ee), re, ae)
                }
                removeChild(Ee, re) {
                    return super.removeChild(this.nodeOrShadowRoot(Ee), re)
                }
                parentNode(Ee) {
                    return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(Ee)))
                }
            }
            let De = (() => {
                class nt extends Te {
                    constructor(re) {
                        super(re)
                    }
                    supports(re) {
                        return !0
                    }
                    addEventListener(re, ae, Xe) {
                        return re.addEventListener(ae, Xe, !1), () => this.removeEventListener(re, ae, Xe)
                    }
                    removeEventListener(re, ae, Xe) {
                        return re.removeEventListener(ae, Xe)
                    }
                }
                return nt.\u0275fac = function(re) {
                    return new(re || nt)(r.LFG(t.K0))
                }, nt.\u0275prov = r.Yz7({
                    token: nt,
                    factory: nt.\u0275fac
                }), nt
            })();
            const J = ["alt", "control", "meta", "shift"],
                fe = {
                    "\b": "Backspace",
                    "\t": "Tab",
                    "\x7f": "Delete",
                    "\x1b": "Escape",
                    Del: "Delete",
                    Esc: "Escape",
                    Left: "ArrowLeft",
                    Right: "ArrowRight",
                    Up: "ArrowUp",
                    Down: "ArrowDown",
                    Menu: "ContextMenu",
                    Scroll: "ScrollLock",
                    Win: "OS"
                },
                Fe = {
                    alt: nt => nt.altKey,
                    control: nt => nt.ctrlKey,
                    meta: nt => nt.metaKey,
                    shift: nt => nt.shiftKey
                };
            let at = (() => {
                class nt extends Te {
                    constructor(re) {
                        super(re)
                    }
                    supports(re) {
                        return null != nt.parseEventName(re)
                    }
                    addEventListener(re, ae, Xe) {
                        const Dt = nt.parseEventName(ae),
                            Xt = nt.eventCallback(Dt.fullKey, Xe, this.manager.getZone());
                        return this.manager.getZone().runOutsideAngular(() => (0, t.q)().onAndCancel(re, Dt.domEventName, Xt))
                    }
                    static parseEventName(re) {
                        const ae = re.toLowerCase().split("."),
                            Xe = ae.shift();
                        if (0 === ae.length || "keydown" !== Xe && "keyup" !== Xe) return null;
                        const Dt = nt._normalizeKey(ae.pop());
                        let Xt = "",
                            dn = ae.indexOf("code");
                        if (dn > -1 && (ae.splice(dn, 1), Xt = "code."), J.forEach(Kr => {
                                const Tn = ae.indexOf(Kr);
                                Tn > -1 && (ae.splice(Tn, 1), Xt += Kr + ".")
                            }), Xt += Dt, 0 != ae.length || 0 === Dt.length) return null;
                        const er = {};
                        return er.domEventName = Xe, er.fullKey = Xt, er
                    }
                    static matchEventFullKeyCode(re, ae) {
                        let Xe = fe[re.key] || re.key,
                            Dt = "";
                        return ae.indexOf("code.") > -1 && (Xe = re.code, Dt = "code."), !(null == Xe || !Xe) && (Xe = Xe.toLowerCase(), " " === Xe ? Xe = "space" : "." === Xe && (Xe = "dot"), J.forEach(Xt => {
                            Xt !== Xe && (0, Fe[Xt])(re) && (Dt += Xt + ".")
                        }), Dt += Xe, Dt === ae)
                    }
                    static eventCallback(re, ae, Xe) {
                        return Dt => {
                            nt.matchEventFullKeyCode(Dt, re) && Xe.runGuarded(() => ae(Dt))
                        }
                    }
                    static _normalizeKey(re) {
                        return "esc" === re ? "escape" : re
                    }
                }
                return nt.\u0275fac = function(re) {
                    return new(re || nt)(r.LFG(t.K0))
                }, nt.\u0275prov = r.Yz7({
                    token: nt,
                    factory: nt.\u0275fac
                }), nt
            })();
            const kn = (0, r.eFA)(r._c5, "browser", [{
                    provide: r.Lbi,
                    useValue: t.bD
                }, {
                    provide: r.g9A,
                    useValue: function Lt() {
                        C.makeCurrent()
                    },
                    multi: !0
                }, {
                    provide: t.K0,
                    useFactory: function Ln() {
                        return (0, r.RDi)(document), document
                    },
                    deps: []
                }]),
                vn = new r.OlP(""),
                tn = [{
                    provide: r.rWj,
                    useClass: class k {
                        addToWindow(Ee) {
                            r.dqk.getAngularTestability = (ae, Xe = !0) => {
                                const Dt = Ee.findTestabilityInTree(ae, Xe);
                                if (null == Dt) throw new Error("Could not find testability for element.");
                                return Dt
                            }, r.dqk.getAllAngularTestabilities = () => Ee.getAllTestabilities(), r.dqk.getAllAngularRootElements = () => Ee.getAllRootElements(), r.dqk.frameworkStabilizers || (r.dqk.frameworkStabilizers = []), r.dqk.frameworkStabilizers.push(ae => {
                                const Xe = r.dqk.getAllAngularTestabilities();
                                let Dt = Xe.length,
                                    Xt = !1;
                                const dn = function(er) {
                                    Xt = Xt || er, Dt--, 0 == Dt && ae(Xt)
                                };
                                Xe.forEach(function(er) {
                                    er.whenStable(dn)
                                })
                            })
                        }
                        findTestabilityInTree(Ee, re, ae) {
                            return null == re ? null : Ee.getTestability(re) ? ? (ae ? (0, t.q)().isShadowRoot(re) ? this.findTestabilityInTree(Ee, re.host, !0) : this.findTestabilityInTree(Ee, re.parentElement, !0) : null)
                        }
                    },
                    deps: []
                }, {
                    provide: r.lri,
                    useClass: r.dDg,
                    deps: [r.R0b, r.eoX, r.rWj]
                }, {
                    provide: r.dDg,
                    useClass: r.dDg,
                    deps: [r.R0b, r.eoX, r.rWj]
                }],
                Cn = [{
                        provide: r.zSh,
                        useValue: "root"
                    }, {
                        provide: r.qLn,
                        useFactory: function _n() {
                            return new r.qLn
                        },
                        deps: []
                    }, {
                        provide: le,
                        useClass: De,
                        multi: !0,
                        deps: [t.K0, r.R0b, r.Lbi]
                    }, {
                        provide: le,
                        useClass: at,
                        multi: !0,
                        deps: [t.K0]
                    }, {
                        provide: He,
                        useClass: He,
                        deps: [oe, ce, r.AFp]
                    }, {
                        provide: r.FYo,
                        useExisting: He
                    }, {
                        provide: Ae,
                        useExisting: ce
                    }, {
                        provide: ce,
                        useClass: ce,
                        deps: [t.K0]
                    }, {
                        provide: oe,
                        useClass: oe,
                        deps: [le, r.R0b]
                    }, {
                        provide: t.JF,
                        useClass: B,
                        deps: []
                    },
                    []
                ];
            let pn = (() => {
                    class nt {
                        constructor(re) {}
                        static withServerTransition(re) {
                            return {
                                ngModule: nt,
                                providers: [{
                                    provide: r.AFp,
                                    useValue: re.appId
                                }, {
                                    provide: K,
                                    useExisting: r.AFp
                                }, F]
                            }
                        }
                    }
                    return nt.\u0275fac = function(re) {
                        return new(re || nt)(r.LFG(vn, 12))
                    }, nt.\u0275mod = r.oAB({
                        type: nt
                    }), nt.\u0275inj = r.cJS({
                        providers: [...Cn, ...tn],
                        imports: [t.ez, r.hGG]
                    }), nt
                })(),
                Ut = (() => {
                    class nt {
                        constructor(re) {
                            this._doc = re
                        }
                        getTitle() {
                            return this._doc.title
                        }
                        setTitle(re) {
                            this._doc.title = re || ""
                        }
                    }
                    return nt.\u0275fac = function(re) {
                        return new(re || nt)(r.LFG(t.K0))
                    }, nt.\u0275prov = r.Yz7({
                        token: nt,
                        factory: function(re) {
                            let ae = null;
                            return ae = re ? new re : function Mr() {
                                return new Ut((0, r.LFG)(t.K0))
                            }(), ae
                        },
                        providedIn: "root"
                    }), nt
                })();
            typeof window < "u" && window;
            let Er = (() => {
                    class nt {}
                    return nt.\u0275fac = function(re) {
                        return new(re || nt)
                    }, nt.\u0275prov = r.Yz7({
                        token: nt,
                        factory: function(re) {
                            let ae = null;
                            return ae = re ? new(re || nt) : r.LFG(zr), ae
                        },
                        providedIn: "root"
                    }), nt
                })(),
                zr = (() => {
                    class nt extends Er {
                        constructor(re) {
                            super(), this._doc = re
                        }
                        sanitize(re, ae) {
                            if (null == ae) return null;
                            switch (re) {
                                case r.q3G.NONE:
                                    return ae;
                                case r.q3G.HTML:
                                    return (0, r.qzn)(ae, "HTML") ? (0, r.z3N)(ae) : (0, r.EiD)(this._doc, String(ae)).toString();
                                case r.q3G.STYLE:
                                    return (0, r.qzn)(ae, "Style") ? (0, r.z3N)(ae) : ae;
                                case r.q3G.SCRIPT:
                                    if ((0, r.qzn)(ae, "Script")) return (0, r.z3N)(ae);
                                    throw new Error("unsafe value used in a script context");
                                case r.q3G.URL:
                                    return (0, r.qzn)(ae, "URL") ? (0, r.z3N)(ae) : (0, r.mCW)(String(ae));
                                case r.q3G.RESOURCE_URL:
                                    if ((0, r.qzn)(ae, "ResourceURL")) return (0, r.z3N)(ae);
                                    throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");
                                default:
                                    throw new Error(`Unexpected SecurityContext ${re} (see https://g.co/ng/security#xss)`)
                            }
                        }
                        bypassSecurityTrustHtml(re) {
                            return (0, r.JVY)(re)
                        }
                        bypassSecurityTrustStyle(re) {
                            return (0, r.L6k)(re)
                        }
                        bypassSecurityTrustScript(re) {
                            return (0, r.eBb)(re)
                        }
                        bypassSecurityTrustUrl(re) {
                            return (0, r.LAX)(re)
                        }
                        bypassSecurityTrustResourceUrl(re) {
                            return (0, r.pB0)(re)
                        }
                    }
                    return nt.\u0275fac = function(re) {
                        return new(re || nt)(r.LFG(t.K0))
                    }, nt.\u0275prov = r.Yz7({
                        token: nt,
                        factory: function(re) {
                            let ae = null;
                            return ae = re ? new re : function jr(nt) {
                                return new zr(nt.get(t.K0))
                            }(r.LFG(r.zs3)), ae
                        },
                        providedIn: "root"
                    }), nt
                })()
        },
        7799: (Re, he, _) => {
            "use strict";
            _.d(he, {
                gz: () => $i,
                OD: () => Yr,
                F0: () => Po,
                yS: () => dl,
                Bz: () => Yi,
                lC: () => Di
            });
            var t = _(4650),
                r = _(457),
                U = _(9646),
                C = _(1135),
                x = _(6805),
                V = _(9841),
                P = _(7272),
                $ = _(9770),
                K = _(9635),
                G = _(2843),
                F = _(9751),
                k = _(515),
                B = _(727),
                le = _(4482),
                oe = _(5403);

            function Te() {
                return (0, le.e)((O, S) => {
                    let T = null;
                    O._refCount++;
                    const z = (0, oe.x)(S, void 0, void 0, void 0, () => {
                        if (!O || O._refCount <= 0 || 0 < --O._refCount) return void(T = null);
                        const se = O._connection,
                            Se = T;
                        T = null, se && (!Se || se === Se) && se.unsubscribe(), S.unsubscribe()
                    });
                    O.subscribe(z), z.closed || (T = O.connect())
                })
            }
            class Ae extends F.y {
                constructor(S, T) {
                    super(), this.source = S, this.subjectFactory = T, this._subject = null, this._refCount = 0, this._connection = null, (0, le.A)(S) && (this.lift = S.lift)
                }
                _subscribe(S) {
                    return this.getSubject().subscribe(S)
                }
                getSubject() {
                    const S = this._subject;
                    return (!S || S.isStopped) && (this._subject = this.subjectFactory()), this._subject
                }
                _teardown() {
                    this._refCount = 0;
                    const {
                        _connection: S
                    } = this;
                    this._subject = this._connection = null, S ? .unsubscribe()
                }
                connect() {
                    let S = this._connection;
                    if (!S) {
                        S = this._connection = new B.w0;
                        const T = this.getSubject();
                        S.add(this.source.subscribe((0, oe.x)(T, void 0, () => {
                            this._teardown(), T.complete()
                        }, z => {
                            this._teardown(), T.error(z)
                        }, () => this._teardown()))), S.closed && (this._connection = null, S = B.w0.EMPTY)
                    }
                    return S
                }
                refCount() {
                    return Te()(this)
                }
            }
            var ce = _(7579),
                be = _(6895),
                je = _(4004),
                me = _(3900),
                ge = _(5698),
                _e = _(8675),
                we = _(9300),
                ke = _(5577),
                Je = _(590),
                ue = _(4351),
                Me = _(8505),
                Ke = _(262),
                Be = _(5026);

            function He(O) {
                return O <= 0 ? () => k.E : (0, le.e)((S, T) => {
                    let z = [];
                    S.subscribe((0, oe.x)(T, se => {
                        z.push(se), O < z.length && z.shift()
                    }, () => {
                        for (const se of z) T.next(se);
                        T.complete()
                    }, void 0, () => {
                        z = null
                    }))
                })
            }
            var xt = _(8068),
                kt = _(6590),
                St = _(4671);

            function Ct(O, S) {
                const T = arguments.length >= 2;
                return z => z.pipe(O ? (0, we.h)((se, Se) => O(se, Se, z)) : St.y, He(1), T ? (0, kt.d)(S) : (0, xt.T)(() => new x.K))
            }
            var Pe = _(9718),
                De = _(8746),
                J = _(8189),
                fe = _(1481);
            const Fe = "primary",
                at = Symbol("RouteTitle");
            class ct {
                constructor(S) {
                    this.params = S || {}
                }
                has(S) {
                    return Object.prototype.hasOwnProperty.call(this.params, S)
                }
                get(S) {
                    if (this.has(S)) {
                        const T = this.params[S];
                        return Array.isArray(T) ? T[0] : T
                    }
                    return null
                }
                getAll(S) {
                    if (this.has(S)) {
                        const T = this.params[S];
                        return Array.isArray(T) ? T : [T]
                    }
                    return []
                }
                get keys() {
                    return Object.keys(this.params)
                }
            }

            function vt(O) {
                return new ct(O)
            }

            function Qt(O, S, T) {
                const z = T.path.split("/");
                if (z.length > O.length || "full" === T.pathMatch && (S.hasChildren() || z.length < O.length)) return null;
                const se = {};
                for (let Se = 0; Se < z.length; Se++) {
                    const tt = z[Se],
                        st = O[Se];
                    if (tt.startsWith(":")) se[tt.substring(1)] = st;
                    else if (tt !== st.path) return null
                }
                return {
                    consumed: O.slice(0, z.length),
                    posParams: se
                }
            }

            function mt(O, S) {
                const T = O ? Object.keys(O) : void 0,
                    z = S ? Object.keys(S) : void 0;
                if (!T || !z || T.length != z.length) return !1;
                let se;
                for (let Se = 0; Se < T.length; Se++)
                    if (se = T[Se], !Lt(O[se], S[se])) return !1;
                return !0
            }

            function Lt(O, S) {
                if (Array.isArray(O) && Array.isArray(S)) {
                    if (O.length !== S.length) return !1;
                    const T = [...O].sort(),
                        z = [...S].sort();
                    return T.every((se, Se) => z[Se] === se)
                }
                return O === S
            }

            function _n(O) {
                return Array.prototype.concat.apply([], O)
            }

            function Ln(O) {
                return O.length > 0 ? O[O.length - 1] : null
            }

            function kn(O, S) {
                for (const T in O) O.hasOwnProperty(T) && S(O[T], T)
            }

            function vn(O) {
                return (0, t.CqO)(O) ? O : (0, t.QGY)(O) ? (0, r.D)(Promise.resolve(O)) : (0, U.of)(O)
            }
            const pn = {
                    exact: function Mr(O, S, T) {
                        if (!sn(O.segments, S.segments) || !Pt(O.segments, S.segments, T) || O.numberOfChildren !== S.numberOfChildren) return !1;
                        for (const z in S.children)
                            if (!O.children[z] || !Mr(O.children[z], S.children[z], T)) return !1;
                        return !0
                    },
                    subset: dt
                },
                Rn = {
                    exact: function _r(O, S) {
                        return mt(O, S)
                    },
                    subset: function Ut(O, S) {
                        return Object.keys(S).length <= Object.keys(O).length && Object.keys(S).every(T => Lt(O[T], S[T]))
                    },
                    ignored: () => !0
                };

            function Qn(O, S, T) {
                return pn[T.paths](O.root, S.root, T.matrixParams) && Rn[T.queryParams](O.queryParams, S.queryParams) && !("exact" === T.fragment && O.fragment !== S.fragment)
            }

            function dt(O, S, T) {
                return et(O, S, S.segments, T)
            }

            function et(O, S, T, z) {
                if (O.segments.length > T.length) {
                    const se = O.segments.slice(0, T.length);
                    return !(!sn(se, T) || S.hasChildren() || !Pt(se, T, z))
                }
                if (O.segments.length === T.length) {
                    if (!sn(O.segments, T) || !Pt(O.segments, T, z)) return !1;
                    for (const se in S.children)
                        if (!O.children[se] || !dt(O.children[se], S.children[se], z)) return !1;
                    return !0
                } {
                    const se = T.slice(0, O.segments.length),
                        Se = T.slice(O.segments.length);
                    return !!(sn(O.segments, se) && Pt(O.segments, se, z) && O.children[Fe]) && et(O.children[Fe], S, Se, z)
                }
            }

            function Pt(O, S, T) {
                return S.every((z, se) => Rn[T](O[se].parameters, z.parameters))
            }
            class jt {
                constructor(S, T, z) {
                    this.root = S, this.queryParams = T, this.fragment = z
                }
                get queryParamMap() {
                    return this._queryParamMap || (this._queryParamMap = vt(this.queryParams)), this._queryParamMap
                }
                toString() {
                    return Yn.serialize(this)
                }
            }
            class on {
                constructor(S, T) {
                    this.segments = S, this.children = T, this.parent = null, kn(T, (z, se) => z.parent = this)
                }
                hasChildren() {
                    return this.numberOfChildren > 0
                }
                get numberOfChildren() {
                    return Object.keys(this.children).length
                }
                toString() {
                    return In(this)
                }
            }
            class $n {
                constructor(S, T) {
                    this.path = S, this.parameters = T
                }
                get parameterMap() {
                    return this._parameterMap || (this._parameterMap = vt(this.parameters)), this._parameterMap
                }
                toString() {
                    return eo(this)
                }
            }

            function sn(O, S) {
                return O.length === S.length && O.every((T, z) => T.path === S[z].path)
            }
            let Jn = (() => {
                class O {}
                return O.\u0275fac = function(T) {
                    return new(T || O)
                }, O.\u0275prov = t.Yz7({
                    token: O,
                    factory: function() {
                        return new wr
                    },
                    providedIn: "root"
                }), O
            })();
            class wr {
                parse(S) {
                    const T = new Fr(S);
                    return new jt(T.parseRootSegment(), T.parseQueryParams(), T.parseFragment())
                }
                serialize(S) {
                    const T = `/${Kn(S.root,!0)}`,
                        z = function Pi(O) {
                            const S = Object.keys(O).map(T => {
                                const z = O[T];
                                return Array.isArray(z) ? z.map(se => `${Jr(T)}=${Jr(se)}`).join("&") : `${Jr(T)}=${Jr(z)}`
                            }).filter(T => !!T);
                            return S.length ? `?${S.join("&")}` : ""
                        }(S.queryParams);
                    return `${T}${z}${"string"==typeof S.fragment?`#${function hr(O){return encodeURI(O)}(S.fragment)}`:""}`
                }
            }
            const Yn = new wr;

            function In(O) {
                return O.segments.map(S => eo(S)).join("/")
            }

            function Kn(O, S) {
                if (!O.hasChildren()) return In(O);
                if (S) {
                    const T = O.children[Fe] ? Kn(O.children[Fe], !1) : "",
                        z = [];
                    return kn(O.children, (se, Se) => {
                        Se !== Fe && z.push(`${Se}:${Kn(se,!1)}`)
                    }), z.length > 0 ? `${T}(${z.join("//")})` : T
                } {
                    const T = function cr(O, S) {
                        let T = [];
                        return kn(O.children, (z, se) => {
                            se === Fe && (T = T.concat(S(z, se)))
                        }), kn(O.children, (z, se) => {
                            se !== Fe && (T = T.concat(S(z, se)))
                        }), T
                    }(O, (z, se) => se === Fe ? [Kn(O.children[Fe], !1)] : [`${se}:${Kn(z,!1)}`]);
                    return 1 === Object.keys(O.children).length && null != O.children[Fe] ? `${In(O)}/${T[0]}` : `${In(O)}/(${T.join("//")})`
                }
            }

            function si(O) {
                return encodeURIComponent(O).replace(/%40/g, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",")
            }

            function Jr(O) {
                return si(O).replace(/%3B/gi, ";")
            }

            function ai(O) {
                return si(O).replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/%26/gi, "&")
            }

            function Si(O) {
                return decodeURIComponent(O)
            }

            function yi(O) {
                return Si(O.replace(/\+/g, "%20"))
            }

            function eo(O) {
                return `${ai(O.path)}${function Ji(O){return Object.keys(O).map(S=>`;${ai(S)}=${ai(O[S])}`).join("")}(O.parameters)}`
            }
            const To = /^[^\/()?;=#]+/;

            function lr(O) {
                const S = O.match(To);
                return S ? S[0] : ""
            }
            const br = /^[^=?&#]+/,
                jr = /^[^&#]+/;
            class Fr {
                constructor(S) {
                    this.url = S, this.remaining = S
                }
                parseRootSegment() {
                    return this.consumeOptional("/"), "" === this.remaining || this.peekStartsWith("?") || this.peekStartsWith("#") ? new on([], {}) : new on([], this.parseChildren())
                }
                parseQueryParams() {
                    const S = {};
                    if (this.consumeOptional("?"))
                        do {
                            this.parseQueryParam(S)
                        } while (this.consumeOptional("&"));
                    return S
                }
                parseFragment() {
                    return this.consumeOptional("#") ? decodeURIComponent(this.remaining) : null
                }
                parseChildren() {
                    if ("" === this.remaining) return {};
                    this.consumeOptional("/");
                    const S = [];
                    for (this.peekStartsWith("(") || S.push(this.parseSegment()); this.peekStartsWith("/") && !this.peekStartsWith("//") && !this.peekStartsWith("/(");) this.capture("/"), S.push(this.parseSegment());
                    let T = {};
                    this.peekStartsWith("/(") && (this.capture("/"), T = this.parseParens(!0));
                    let z = {};
                    return this.peekStartsWith("(") && (z = this.parseParens(!1)), (S.length > 0 || Object.keys(T).length > 0) && (z[Fe] = new on(S, T)), z
                }
                parseSegment() {
                    const S = lr(this.remaining);
                    if ("" === S && this.peekStartsWith(";")) throw new t.vHH(4009, !1);
                    return this.capture(S), new $n(Si(S), this.parseMatrixParams())
                }
                parseMatrixParams() {
                    const S = {};
                    for (; this.consumeOptional(";");) this.parseParam(S);
                    return S
                }
                parseParam(S) {
                    const T = lr(this.remaining);
                    if (!T) return;
                    this.capture(T);
                    let z = "";
                    if (this.consumeOptional("=")) {
                        const se = lr(this.remaining);
                        se && (z = se, this.capture(z))
                    }
                    S[Si(T)] = Si(z)
                }
                parseQueryParam(S) {
                    const T = function Er(O) {
                        const S = O.match(br);
                        return S ? S[0] : ""
                    }(this.remaining);
                    if (!T) return;
                    this.capture(T);
                    let z = "";
                    if (this.consumeOptional("=")) {
                        const tt = function zr(O) {
                            const S = O.match(jr);
                            return S ? S[0] : ""
                        }(this.remaining);
                        tt && (z = tt, this.capture(z))
                    }
                    const se = yi(T),
                        Se = yi(z);
                    if (S.hasOwnProperty(se)) {
                        let tt = S[se];
                        Array.isArray(tt) || (tt = [tt], S[se] = tt), tt.push(Se)
                    } else S[se] = Se
                }
                parseParens(S) {
                    const T = {};
                    for (this.capture("("); !this.consumeOptional(")") && this.remaining.length > 0;) {
                        const z = lr(this.remaining),
                            se = this.remaining[z.length];
                        if ("/" !== se && ")" !== se && ";" !== se) throw new t.vHH(4010, !1);
                        let Se;
                        z.indexOf(":") > -1 ? (Se = z.slice(0, z.indexOf(":")), this.capture(Se), this.capture(":")) : S && (Se = Fe);
                        const tt = this.parseChildren();
                        T[Se] = 1 === Object.keys(tt).length ? tt[Fe] : new on([], tt), this.consumeOptional("//")
                    }
                    return T
                }
                peekStartsWith(S) {
                    return this.remaining.startsWith(S)
                }
                consumeOptional(S) {
                    return !!this.peekStartsWith(S) && (this.remaining = this.remaining.substring(S.length), !0)
                }
                capture(S) {
                    if (!this.consumeOptional(S)) throw new t.vHH(4011, !1)
                }
            }

            function nt(O) {
                return O.segments.length > 0 ? new on([], {
                    [Fe]: O
                }) : O
            }

            function Ee(O) {
                const S = {};
                for (const z of Object.keys(O.children)) {
                    const Se = Ee(O.children[z]);
                    (Se.segments.length > 0 || Se.hasChildren()) && (S[z] = Se)
                }
                return function re(O) {
                    if (1 === O.numberOfChildren && O.children[Fe]) {
                        const S = O.children[Fe];
                        return new on(O.segments.concat(S.segments), S.children)
                    }
                    return O
                }(new on(O.segments, S))
            }

            function ae(O) {
                return O instanceof jt
            }

            function er(O, S, T, z, se) {
                if (0 === T.length) return Lr(S.root, S.root, S.root, z, se);
                const Se = function ye(O) {
                    if ("string" == typeof O[0] && 1 === O.length && "/" === O[0]) return new ji(!0, 0, O);
                    let S = 0,
                        T = !1;
                    const z = O.reduce((se, Se, tt) => {
                        if ("object" == typeof Se && null != Se) {
                            if (Se.outlets) {
                                const st = {};
                                return kn(Se.outlets, (Yt, bn) => {
                                    st[bn] = "string" == typeof Yt ? Yt.split("/") : Yt
                                }), [...se, {
                                    outlets: st
                                }]
                            }
                            if (Se.segmentPath) return [...se, Se.segmentPath]
                        }
                        return "string" != typeof Se ? [...se, Se] : 0 === tt ? (Se.split("/").forEach((st, Yt) => {
                            0 == Yt && "." === st || (0 == Yt && "" === st ? T = !0 : ".." === st ? S++ : "" != st && se.push(st))
                        }), se) : [...se, Se]
                    }, []);
                    return new ji(T, S, z)
                }(T);
                return Se.toRoot() ? Lr(S.root, S.root, new on([], {}), z, se) : function tt(Yt) {
                    const bn = function ot(O, S, T, z) {
                            if (O.isAbsolute) return new Ue(S.root, !0, 0);
                            if (-1 === z) return new Ue(T, T === S.root, 0);
                            return function zt(O, S, T) {
                                let z = O,
                                    se = S,
                                    Se = T;
                                for (; Se > se;) {
                                    if (Se -= se, z = z.parent, !z) throw new t.vHH(4005, !1);
                                    se = z.segments.length
                                }
                                return new Ue(z, !1, se - Se)
                            }(T, z + (Kr(O.commands[0]) ? 0 : 1), O.numberOfDoubleDots)
                        }(Se, S, O.snapshot ? ._urlSegment, Yt),
                        fr = bn.processChildren ? Kt(bn.segmentGroup, bn.index, Se.commands) : an(bn.segmentGroup, bn.index, Se.commands);
                    return Lr(S.root, bn.segmentGroup, fr, z, se)
                }(O.snapshot ? ._lastPathIndex)
            }

            function Kr(O) {
                return "object" == typeof O && null != O && !O.outlets && !O.segmentPath
            }

            function Tn(O) {
                return "object" == typeof O && null != O && O.outlets
            }

            function Lr(O, S, T, z, se) {
                let tt, Se = {};
                z && kn(z, (Yt, bn) => {
                    Se[bn] = Array.isArray(Yt) ? Yt.map(fr => `${fr}`) : `${Yt}`
                }), tt = O === S ? T : bi(O, S, T);
                const st = nt(Ee(tt));
                return new jt(st, Se, se)
            }

            function bi(O, S, T) {
                const z = {};
                return kn(O.children, (se, Se) => {
                    z[Se] = se === S ? T : bi(se, S, T)
                }), new on(O.segments, z)
            }
            class ji {
                constructor(S, T, z) {
                    if (this.isAbsolute = S, this.numberOfDoubleDots = T, this.commands = z, S && z.length > 0 && Kr(z[0])) throw new t.vHH(4003, !1);
                    const se = z.find(Tn);
                    if (se && se !== Ln(z)) throw new t.vHH(4004, !1)
                }
                toRoot() {
                    return this.isAbsolute && 1 === this.commands.length && "/" == this.commands[0]
                }
            }
            class Ue {
                constructor(S, T, z) {
                    this.segmentGroup = S, this.processChildren = T, this.index = z
                }
            }

            function an(O, S, T) {
                if (O || (O = new on([], {})), 0 === O.segments.length && O.hasChildren()) return Kt(O, S, T);
                const z = function yn(O, S, T) {
                        let z = 0,
                            se = S;
                        const Se = {
                            match: !1,
                            pathIndex: 0,
                            commandIndex: 0
                        };
                        for (; se < O.segments.length;) {
                            if (z >= T.length) return Se;
                            const tt = O.segments[se],
                                st = T[z];
                            if (Tn(st)) break;
                            const Yt = `${st}`,
                                bn = z < T.length - 1 ? T[z + 1] : null;
                            if (se > 0 && void 0 === Yt) break;
                            if (Yt && bn && "object" == typeof bn && void 0 === bn.outlets) {
                                if (!Dr(Yt, bn, tt)) return Se;
                                z += 2
                            } else {
                                if (!Dr(Yt, {}, tt)) return Se;
                                z++
                            }
                            se++
                        }
                        return {
                            match: !0,
                            pathIndex: se,
                            commandIndex: z
                        }
                    }(O, S, T),
                    se = T.slice(z.commandIndex);
                if (z.match && z.pathIndex < O.segments.length) {
                    const Se = new on(O.segments.slice(0, z.pathIndex), {});
                    return Se.children[Fe] = new on(O.segments.slice(z.pathIndex), O.children), Kt(Se, 0, se)
                }
                return z.match && 0 === se.length ? new on(O.segments, {}) : z.match && !O.hasChildren() ? Zn(O, S, T) : z.match ? Kt(O, 0, se) : Zn(O, S, T)
            }

            function Kt(O, S, T) {
                if (0 === T.length) return new on(O.segments, {}); {
                    const z = function Ht(O) {
                            return Tn(O[0]) ? O[0].outlets : {
                                [Fe]: O
                            }
                        }(T),
                        se = {};
                    return kn(z, (Se, tt) => {
                        "string" == typeof Se && (Se = [Se]), null !== Se && (se[tt] = an(O.children[tt], S, Se))
                    }), kn(O.children, (Se, tt) => {
                        void 0 === z[tt] && (se[tt] = Se)
                    }), new on(O.segments, se)
                }
            }

            function Zn(O, S, T) {
                const z = O.segments.slice(0, S);
                let se = 0;
                for (; se < T.length;) {
                    const Se = T[se];
                    if (Tn(Se)) {
                        const Yt = Vn(Se.outlets);
                        return new on(z, Yt)
                    }
                    if (0 === se && Kr(T[0])) {
                        z.push(new $n(O.segments[S].path, Ur(T[0]))), se++;
                        continue
                    }
                    const tt = Tn(Se) ? Se.outlets[Fe] : `${Se}`,
                        st = se < T.length - 1 ? T[se + 1] : null;
                    tt && st && Kr(st) ? (z.push(new $n(tt, Ur(st))), se += 2) : (z.push(new $n(tt, {})), se++)
                }
                return new on(z, {})
            }

            function Vn(O) {
                const S = {};
                return kn(O, (T, z) => {
                    "string" == typeof T && (T = [T]), null !== T && (S[z] = Zn(new on([], {}), 0, T))
                }), S
            }

            function Ur(O) {
                const S = {};
                return kn(O, (T, z) => S[z] = `${T}`), S
            }

            function Dr(O, S, T) {
                return O == T.path && mt(S, T.parameters)
            }
            class mr {
                constructor(S, T) {
                    this.id = S, this.url = T
                }
            }
            class Yr extends mr {
                constructor(S, T, z = "imperative", se = null) {
                    super(S, T), this.type = 0, this.navigationTrigger = z, this.restoredState = se
                }
                toString() {
                    return `NavigationStart(id: ${this.id}, url: '${this.url}')`
                }
            }
            class Cr extends mr {
                constructor(S, T, z) {
                    super(S, T), this.urlAfterRedirects = z, this.type = 1
                }
                toString() {
                    return `NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`
                }
            }
            class yo extends mr {
                constructor(S, T, z, se) {
                    super(S, T), this.reason = z, this.code = se, this.type = 2
                }
                toString() {
                    return `NavigationCancel(id: ${this.id}, url: '${this.url}')`
                }
            }
            class $r extends mr {
                constructor(S, T, z, se) {
                    super(S, T), this.error = z, this.target = se, this.type = 3
                }
                toString() {
                    return `NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`
                }
            }
            class hi extends mr {
                constructor(S, T, z, se) {
                    super(S, T), this.urlAfterRedirects = z, this.state = se, this.type = 4
                }
                toString() {
                    return `RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`
                }
            }
            class ls extends mr {
                constructor(S, T, z, se) {
                    super(S, T), this.urlAfterRedirects = z, this.state = se, this.type = 7
                }
                toString() {
                    return `GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`
                }
            }
            class Ho extends mr {
                constructor(S, T, z, se, Se) {
                    super(S, T), this.urlAfterRedirects = z, this.state = se, this.shouldActivate = Se, this.type = 8
                }
                toString() {
                    return `GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`
                }
            }
            class Oo extends mr {
                constructor(S, T, z, se) {
                    super(S, T), this.urlAfterRedirects = z, this.state = se, this.type = 5
                }
                toString() {
                    return `ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`
                }
            }
            class to extends mr {
                constructor(S, T, z, se) {
                    super(S, T), this.urlAfterRedirects = z, this.state = se, this.type = 6
                }
                toString() {
                    return `ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`
                }
            }
            class it {
                constructor(S) {
                    this.route = S, this.type = 9
                }
                toString() {
                    return `RouteConfigLoadStart(path: ${this.route.path})`
                }
            }
            class Rt {
                constructor(S) {
                    this.route = S, this.type = 10
                }
                toString() {
                    return `RouteConfigLoadEnd(path: ${this.route.path})`
                }
            }
            class Tt {
                constructor(S) {
                    this.snapshot = S, this.type = 11
                }
                toString() {
                    return `ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`
                }
            }
            class $t {
                constructor(S) {
                    this.snapshot = S, this.type = 12
                }
                toString() {
                    return `ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`
                }
            }
            class xn {
                constructor(S) {
                    this.snapshot = S, this.type = 13
                }
                toString() {
                    return `ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`
                }
            }
            class cn {
                constructor(S) {
                    this.snapshot = S, this.type = 14
                }
                toString() {
                    return `ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`
                }
            }
            class Tr {
                constructor(S, T, z) {
                    this.routerEvent = S, this.position = T, this.anchor = z, this.type = 15
                }
                toString() {
                    return `Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`
                }
            }
            class mi {
                constructor(S) {
                    this._root = S
                }
                get root() {
                    return this._root.value
                }
                parent(S) {
                    const T = this.pathFromRoot(S);
                    return T.length > 1 ? T[T.length - 2] : null
                }
                children(S) {
                    const T = Ki(S, this._root);
                    return T ? T.children.map(z => z.value) : []
                }
                firstChild(S) {
                    const T = Ki(S, this._root);
                    return T && T.children.length > 0 ? T.children[0].value : null
                }
                siblings(S) {
                    const T = Gr(S, this._root);
                    return T.length < 2 ? [] : T[T.length - 2].children.map(se => se.value).filter(se => se !== S)
                }
                pathFromRoot(S) {
                    return Gr(S, this._root).map(T => T.value)
                }
            }

            function Ki(O, S) {
                if (O === S.value) return S;
                for (const T of S.children) {
                    const z = Ki(O, T);
                    if (z) return z
                }
                return null
            }

            function Gr(O, S) {
                if (O === S.value) return [S];
                for (const T of S.children) {
                    const z = Gr(O, T);
                    if (z.length) return z.unshift(S), z
                }
                return []
            }
            class ei {
                constructor(S, T) {
                    this.value = S, this.children = T
                }
                toString() {
                    return `TreeNode(${this.value})`
                }
            }

            function Ao(O) {
                const S = {};
                return O && O.children.forEach(T => S[T.value.outlet] = T), S
            }
            class cs extends mi {
                constructor(S, T) {
                    super(S), this.snapshot = T, bo(this, S)
                }
                toString() {
                    return this.snapshot.toString()
                }
            }

            function Qo(O, S) {
                const T = function ra(O, S) {
                        const tt = new oo([], {}, {}, "", {}, Fe, S, null, O.root, -1, {});
                        return new ga("", new ei(tt, []))
                    }(O, S),
                    z = new C.X([new $n("", {})]),
                    se = new C.X({}),
                    Se = new C.X({}),
                    tt = new C.X({}),
                    st = new C.X(""),
                    Yt = new $i(z, se, tt, st, Se, Fe, S, T.root);
                return Yt.snapshot = T.root, new cs(new ei(Yt, []), T)
            }
            class $i {
                constructor(S, T, z, se, Se, tt, st, Yt) {
                    this.url = S, this.params = T, this.queryParams = z, this.fragment = se, this.data = Se, this.outlet = tt, this.component = st, this.title = this.data ? .pipe((0, je.U)(bn => bn[at])) ? ? (0, U.of)(void 0), this._futureSnapshot = Yt
                }
                get routeConfig() {
                    return this._futureSnapshot.routeConfig
                }
                get root() {
                    return this._routerState.root
                }
                get parent() {
                    return this._routerState.parent(this)
                }
                get firstChild() {
                    return this._routerState.firstChild(this)
                }
                get children() {
                    return this._routerState.children(this)
                }
                get pathFromRoot() {
                    return this._routerState.pathFromRoot(this)
                }
                get paramMap() {
                    return this._paramMap || (this._paramMap = this.params.pipe((0, je.U)(S => vt(S)))), this._paramMap
                }
                get queryParamMap() {
                    return this._queryParamMap || (this._queryParamMap = this.queryParams.pipe((0, je.U)(S => vt(S)))), this._queryParamMap
                }
                toString() {
                    return this.snapshot ? this.snapshot.toString() : `Future(${this._futureSnapshot})`
                }
            }

            function Rs(O, S = "emptyOnly") {
                const T = O.pathFromRoot;
                let z = 0;
                if ("always" !== S)
                    for (z = T.length - 1; z >= 1;) {
                        const se = T[z],
                            Se = T[z - 1];
                        if (se.routeConfig && "" === se.routeConfig.path) z--;
                        else {
                            if (Se.component) break;
                            z--
                        }
                    }
                return function us(O) {
                    return O.reduce((S, T) => ({
                        params: { ...S.params,
                            ...T.params
                        },
                        data: { ...S.data,
                            ...T.data
                        },
                        resolve: { ...T.data,
                            ...S.resolve,
                            ...T.routeConfig ? .data,
                            ...T._resolvedData
                        }
                    }), {
                        params: {},
                        data: {},
                        resolve: {}
                    })
                }(T.slice(z))
            }
            class oo {
                constructor(S, T, z, se, Se, tt, st, Yt, bn, fr, On, gi) {
                    this.url = S, this.params = T, this.queryParams = z, this.fragment = se, this.data = Se, this.outlet = tt, this.component = st, this.title = this.data ? .[at], this.routeConfig = Yt, this._urlSegment = bn, this._lastPathIndex = fr, this._correctedLastPathIndex = gi ? ? fr, this._resolve = On
                }
                get root() {
                    return this._routerState.root
                }
                get parent() {
                    return this._routerState.parent(this)
                }
                get firstChild() {
                    return this._routerState.firstChild(this)
                }
                get children() {
                    return this._routerState.children(this)
                }
                get pathFromRoot() {
                    return this._routerState.pathFromRoot(this)
                }
                get paramMap() {
                    return this._paramMap || (this._paramMap = vt(this.params)), this._paramMap
                }
                get queryParamMap() {
                    return this._queryParamMap || (this._queryParamMap = vt(this.queryParams)), this._queryParamMap
                }
                toString() {
                    return `Route(url:'${this.url.map(z=>z.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`
                }
            }
            class ga extends mi {
                constructor(S, T) {
                    super(T), this.url = S, bo(this, T)
                }
                toString() {
                    return Fs(this._root)
                }
            }

            function bo(O, S) {
                S.value._routerState = O, S.children.forEach(T => bo(O, T))
            }

            function Fs(O) {
                const S = O.children.length > 0 ? ` { ${O.children.map(Fs).join(", ")} } ` : "";
                return `${O.value}${S}`
            }

            function Co(O) {
                if (O.snapshot) {
                    const S = O.snapshot,
                        T = O._futureSnapshot;
                    O.snapshot = T, mt(S.queryParams, T.queryParams) || O.queryParams.next(T.queryParams), S.fragment !== T.fragment && O.fragment.next(T.fragment), mt(S.params, T.params) || O.params.next(T.params),
                        function Ge(O, S) {
                            if (O.length !== S.length) return !1;
                            for (let T = 0; T < O.length; ++T)
                                if (!mt(O[T], S[T])) return !1;
                            return !0
                        }(S.url, T.url) || O.url.next(T.url), mt(S.data, T.data) || O.data.next(T.data)
                } else O.snapshot = O._futureSnapshot, O.data.next(O._futureSnapshot.data)
            }

            function ds(O, S) {
                const T = mt(O.params, S.params) && function Xn(O, S) {
                    return sn(O, S) && O.every((T, z) => mt(T.parameters, S[z].parameters))
                }(O.url, S.url);
                return T && !(!O.parent != !S.parent) && (!O.parent || ds(O.parent, S.parent))
            }

            function Ni(O, S, T) {
                if (T && O.shouldReuseRoute(S.value, T.value.snapshot)) {
                    const z = T.value;
                    z._futureSnapshot = S.value;
                    const se = function ii(O, S, T) {
                        return S.children.map(z => {
                            for (const se of T.children)
                                if (O.shouldReuseRoute(z.value, se.value.snapshot)) return Ni(O, z, se);
                            return Ni(O, z)
                        })
                    }(O, S, T);
                    return new ei(z, se)
                } {
                    if (O.shouldAttach(S.value)) {
                        const Se = O.retrieve(S.value);
                        if (null !== Se) {
                            const tt = Se.route;
                            return tt.value._futureSnapshot = S.value, tt.children = S.children.map(st => Ni(O, st)), tt
                        }
                    }
                    const z = function Vr(O) {
                            return new $i(new C.X(O.url), new C.X(O.params), new C.X(O.queryParams), new C.X(O.fragment), new C.X(O.data), O.outlet, O.component, O)
                        }(S.value),
                        se = S.children.map(Se => Ni(O, Se));
                    return new ei(z, se)
                }
            }
            const ks = "ngNavigationCancelingError";

            function fs(O, S) {
                const {
                    redirectTo: T,
                    navigationBehaviorOptions: z
                } = ae(S) ? {
                    redirectTo: S,
                    navigationBehaviorOptions: void 0
                } : S, se = Ls(!1, 0, S);
                return se.url = T, se.navigationBehaviorOptions = z, se
            }

            function Ls(O, S, T) {
                const z = new Error("NavigationCancelingError: " + (O || ""));
                return z[ks] = !0, z.cancellationCode = S, T && (z.url = T), z
            }

            function Ts(O) {
                return ia(O) && ae(O.url)
            }

            function ia(O) {
                return O && O[ks]
            }
            class Bi {
                constructor() {
                    this.outlet = null, this.route = null, this.resolver = null, this.injector = null, this.children = new Xo, this.attachRef = null
                }
            }
            let Xo = (() => {
                class O {
                    constructor() {
                        this.contexts = new Map
                    }
                    onChildOutletCreated(T, z) {
                        const se = this.getOrCreateContext(T);
                        se.outlet = z, this.contexts.set(T, se)
                    }
                    onChildOutletDestroyed(T) {
                        const z = this.getContext(T);
                        z && (z.outlet = null, z.attachRef = null)
                    }
                    onOutletDeactivated() {
                        const T = this.contexts;
                        return this.contexts = new Map, T
                    }
                    onOutletReAttached(T) {
                        this.contexts = T
                    }
                    getOrCreateContext(T) {
                        let z = this.getContext(T);
                        return z || (z = new Bi, this.contexts.set(T, z)), z
                    }
                    getContext(T) {
                        return this.contexts.get(T) || null
                    }
                }
                return O.\u0275fac = function(T) {
                    return new(T || O)
                }, O.\u0275prov = t.Yz7({
                    token: O,
                    factory: O.\u0275fac,
                    providedIn: "root"
                }), O
            })();
            const oa = !1;
            let Di = (() => {
                class O {
                    constructor(T, z, se, Se, tt) {
                        this.parentContexts = T, this.location = z, this.changeDetector = Se, this.environmentInjector = tt, this.activated = null, this._activatedRoute = null, this.activateEvents = new t.vpe, this.deactivateEvents = new t.vpe, this.attachEvents = new t.vpe, this.detachEvents = new t.vpe, this.name = se || Fe, T.onChildOutletCreated(this.name, this)
                    }
                    ngOnDestroy() {
                        this.parentContexts.getContext(this.name) ? .outlet === this && this.parentContexts.onChildOutletDestroyed(this.name)
                    }
                    ngOnInit() {
                        if (!this.activated) {
                            const T = this.parentContexts.getContext(this.name);
                            T && T.route && (T.attachRef ? this.attach(T.attachRef, T.route) : this.activateWith(T.route, T.injector))
                        }
                    }
                    get isActivated() {
                        return !!this.activated
                    }
                    get component() {
                        if (!this.activated) throw new t.vHH(4012, oa);
                        return this.activated.instance
                    }
                    get activatedRoute() {
                        if (!this.activated) throw new t.vHH(4012, oa);
                        return this._activatedRoute
                    }
                    get activatedRouteData() {
                        return this._activatedRoute ? this._activatedRoute.snapshot.data : {}
                    }
                    detach() {
                        if (!this.activated) throw new t.vHH(4012, oa);
                        this.location.detach();
                        const T = this.activated;
                        return this.activated = null, this._activatedRoute = null, this.detachEvents.emit(T.instance), T
                    }
                    attach(T, z) {
                        this.activated = T, this._activatedRoute = z, this.location.insert(T.hostView), this.attachEvents.emit(T.instance)
                    }
                    deactivate() {
                        if (this.activated) {
                            const T = this.component;
                            this.activated.destroy(), this.activated = null, this._activatedRoute = null, this.deactivateEvents.emit(T)
                        }
                    }
                    activateWith(T, z) {
                        if (this.isActivated) throw new t.vHH(4013, oa);
                        this._activatedRoute = T;
                        const se = this.location,
                            tt = T._futureSnapshot.component,
                            st = this.parentContexts.getOrCreateContext(this.name).children,
                            Yt = new ps(T, st, se.injector);
                        if (z && function _a(O) {
                                return !!O.resolveComponentFactory
                            }(z)) {
                            const bn = z.resolveComponentFactory(tt);
                            this.activated = se.createComponent(bn, se.length, Yt)
                        } else this.activated = se.createComponent(tt, {
                            index: se.length,
                            injector: Yt,
                            environmentInjector: z ? ? this.environmentInjector
                        });
                        this.changeDetector.markForCheck(), this.activateEvents.emit(this.activated.instance)
                    }
                }
                return O.\u0275fac = function(T) {
                    return new(T || O)(t.Y36(Xo), t.Y36(t.s_b), t.$8M("name"), t.Y36(t.sBO), t.Y36(t.lqb))
                }, O.\u0275dir = t.lG2({
                    type: O,
                    selectors: [
                        ["router-outlet"]
                    ],
                    outputs: {
                        activateEvents: "activate",
                        deactivateEvents: "deactivate",
                        attachEvents: "attach",
                        detachEvents: "detach"
                    },
                    exportAs: ["outlet"],
                    standalone: !0
                }), O
            })();
            class ps {
                constructor(S, T, z) {
                    this.route = S, this.childContexts = T, this.parent = z
                }
                get(S, T) {
                    return S === $i ? this.route : S === Xo ? this.childContexts : this.parent.get(S, T)
                }
            }
            let xi = (() => {
                class O {}
                return O.\u0275fac = function(T) {
                    return new(T || O)
                }, O.\u0275cmp = t.Xpm({
                    type: O,
                    selectors: [
                        ["ng-component"]
                    ],
                    standalone: !0,
                    features: [t.jDz],
                    decls: 1,
                    vars: 0,
                    template: function(T, z) {
                        1 & T && t._UZ(0, "router-outlet")
                    },
                    dependencies: [Di],
                    encapsulation: 2
                }), O
            })();

            function Aa(O, S) {
                return O.providers && !O._injector && (O._injector = (0, t.MMx)(O.providers, S, `Route: ${O.path}`)), O._injector ? ? S
            }

            function So(O) {
                const S = O.children && O.children.map(So),
                    T = S ? { ...O,
                        children: S
                    } : { ...O
                    };
                return !T.component && !T.loadComponent && (S || T.loadChildren) && T.outlet && T.outlet !== Fe && (T.component = xi), T
            }

            function ci(O) {
                return O.outlet || Fe
            }

            function ao(O, S) {
                const T = O.filter(z => ci(z) === S);
                return T.push(...O.filter(z => ci(z) !== S)), T
            }

            function Oi(O) {
                if (!O) return null;
                if (O.routeConfig ? ._injector) return O.routeConfig._injector;
                for (let S = O.parent; S; S = S.parent) {
                    const T = S.routeConfig;
                    if (T ? ._loadedInjector) return T._loadedInjector;
                    if (T ? ._injector) return T._injector
                }
                return null
            }
            class qn {
                constructor(S, T, z, se) {
                    this.routeReuseStrategy = S, this.futureState = T, this.currState = z, this.forwardEvent = se
                }
                activate(S) {
                    const T = this.futureState._root,
                        z = this.currState ? this.currState._root : null;
                    this.deactivateChildRoutes(T, z, S), Co(this.futureState.root), this.activateChildRoutes(T, z, S)
                }
                deactivateChildRoutes(S, T, z) {
                    const se = Ao(T);
                    S.children.forEach(Se => {
                        const tt = Se.value.outlet;
                        this.deactivateRoutes(Se, se[tt], z), delete se[tt]
                    }), kn(se, (Se, tt) => {
                        this.deactivateRouteAndItsChildren(Se, z)
                    })
                }
                deactivateRoutes(S, T, z) {
                    const se = S.value,
                        Se = T ? T.value : null;
                    if (se === Se)
                        if (se.component) {
                            const tt = z.getContext(se.outlet);
                            tt && this.deactivateChildRoutes(S, T, tt.children)
                        } else this.deactivateChildRoutes(S, T, z);
                    else Se && this.deactivateRouteAndItsChildren(T, z)
                }
                deactivateRouteAndItsChildren(S, T) {
                    S.value.component && this.routeReuseStrategy.shouldDetach(S.value.snapshot) ? this.detachAndStoreRouteSubtree(S, T) : this.deactivateRouteAndOutlet(S, T)
                }
                detachAndStoreRouteSubtree(S, T) {
                    const z = T.getContext(S.value.outlet),
                        se = z && S.value.component ? z.children : T,
                        Se = Ao(S);
                    for (const tt of Object.keys(Se)) this.deactivateRouteAndItsChildren(Se[tt], se);
                    if (z && z.outlet) {
                        const tt = z.outlet.detach(),
                            st = z.children.onOutletDeactivated();
                        this.routeReuseStrategy.store(S.value.snapshot, {
                            componentRef: tt,
                            route: S,
                            contexts: st
                        })
                    }
                }
                deactivateRouteAndOutlet(S, T) {
                    const z = T.getContext(S.value.outlet),
                        se = z && S.value.component ? z.children : T,
                        Se = Ao(S);
                    for (const tt of Object.keys(Se)) this.deactivateRouteAndItsChildren(Se[tt], se);
                    z && z.outlet && (z.outlet.deactivate(), z.children.onOutletDeactivated(), z.attachRef = null, z.resolver = null, z.route = null)
                }
                activateChildRoutes(S, T, z) {
                    const se = Ao(T);
                    S.children.forEach(Se => {
                        this.activateRoutes(Se, se[Se.value.outlet], z), this.forwardEvent(new cn(Se.value.snapshot))
                    }), S.children.length && this.forwardEvent(new $t(S.value.snapshot))
                }
                activateRoutes(S, T, z) {
                    const se = S.value,
                        Se = T ? T.value : null;
                    if (Co(se), se === Se)
                        if (se.component) {
                            const tt = z.getOrCreateContext(se.outlet);
                            this.activateChildRoutes(S, T, tt.children)
                        } else this.activateChildRoutes(S, T, z);
                    else if (se.component) {
                        const tt = z.getOrCreateContext(se.outlet);
                        if (this.routeReuseStrategy.shouldAttach(se.snapshot)) {
                            const st = this.routeReuseStrategy.retrieve(se.snapshot);
                            this.routeReuseStrategy.store(se.snapshot, null), tt.children.onOutletReAttached(st.contexts), tt.attachRef = st.componentRef, tt.route = st.route.value, tt.outlet && tt.outlet.attach(st.componentRef, st.route.value), Co(st.route.value), this.activateChildRoutes(S, null, tt.children)
                        } else {
                            const st = Oi(se.snapshot),
                                Yt = st ? .get(t._Vd) ? ? null;
                            tt.attachRef = null, tt.route = se, tt.resolver = Yt, tt.injector = st, tt.outlet && tt.outlet.activateWith(se, tt.injector), this.activateChildRoutes(S, null, tt.children)
                        }
                    } else this.activateChildRoutes(S, null, z)
                }
            }
            class sa {
                constructor(S) {
                    this.path = S, this.route = this.path[this.path.length - 1]
                }
            }
            class ti {
                constructor(S, T) {
                    this.component = S, this.route = T
                }
            }

            function Go(O, S, T) {
                const z = O._root;
                return L(z, S ? S._root : null, T, [z.value])
            }

            function Zo(O, S) {
                const T = Symbol(),
                    z = S.get(O, T);
                return z === T ? "function" != typeof O || (0, t.Z0I)(O) ? S.get(O) : O : z
            }

            function L(O, S, T, z, se = {
                canDeactivateChecks: [],
                canActivateChecks: []
            }) {
                const Se = Ao(S);
                return O.children.forEach(tt => {
                    (function ee(O, S, T, z, se = {
                        canDeactivateChecks: [],
                        canActivateChecks: []
                    }) {
                        const Se = O.value,
                            tt = S ? S.value : null,
                            st = T ? T.getContext(O.value.outlet) : null;
                        if (tt && Se.routeConfig === tt.routeConfig) {
                            const Yt = function R(O, S, T) {
                                if ("function" == typeof T) return T(O, S);
                                switch (T) {
                                    case "pathParamsChange":
                                        return !sn(O.url, S.url);
                                    case "pathParamsOrQueryParamsChange":
                                        return !sn(O.url, S.url) || !mt(O.queryParams, S.queryParams);
                                    case "always":
                                        return !0;
                                    case "paramsOrQueryParamsChange":
                                        return !ds(O, S) || !mt(O.queryParams, S.queryParams);
                                    default:
                                        return !ds(O, S)
                                }
                            }(tt, Se, Se.routeConfig.runGuardsAndResolvers);
                            Yt ? se.canActivateChecks.push(new sa(z)) : (Se.data = tt.data, Se._resolvedData = tt._resolvedData), L(O, S, Se.component ? st ? st.children : null : T, z, se), Yt && st && st.outlet && st.outlet.isActivated && se.canDeactivateChecks.push(new ti(st.outlet.component, tt))
                        } else tt && ie(S, st, se), se.canActivateChecks.push(new sa(z)), L(O, null, Se.component ? st ? st.children : null : T, z, se)
                    })(tt, Se[tt.value.outlet], T, z.concat([tt.value]), se), delete Se[tt.value.outlet]
                }), kn(Se, (tt, st) => ie(tt, T.getContext(st), se)), se
            }

            function ie(O, S, T) {
                const z = Ao(O),
                    se = O.value;
                kn(z, (Se, tt) => {
                    ie(Se, se.component ? S ? S.children.getContext(tt) : null : S, T)
                }), T.canDeactivateChecks.push(new ti(se.component && S && S.outlet && S.outlet.isActivated ? S.outlet.component : null, se))
            }

            function rt(O) {
                return "function" == typeof O
            }

            function An(O) {
                return O instanceof x.K || "EmptyError" === O ? .name
            }
            const nr = Symbol("INITIAL_VALUE");

            function no() {
                return (0, me.w)(O => (0, V.a)(O.map(S => S.pipe((0, ge.q)(1), (0, _e.O)(nr)))).pipe((0, je.U)(S => {
                    for (const T of S)
                        if (!0 !== T) {
                            if (T === nr) return nr;
                            if (!1 === T || T instanceof jt) return T
                        }
                    return !0
                }), (0, we.h)(S => S !== nr), (0, ge.q)(1)))
            }

            function Ga(O) {
                return (0, K.z)((0, Me.b)(S => {
                    if (ae(S)) throw fs(0, S)
                }), (0, je.U)(S => !0 === S))
            }
            const Sa = {
                matched: !1,
                consumedSegments: [],
                remainingSegments: [],
                parameters: {},
                positionalParamSegments: {}
            };

            function Ks(O, S, T, z, se) {
                const Se = es(O, S, T);
                return Se.matched ? function vc(O, S, T, z) {
                    const se = S.canMatch;
                    if (!se || 0 === se.length) return (0, U.of)(!0);
                    const Se = se.map(tt => {
                        const st = Zo(tt, O);
                        return vn(function H(O) {
                            return O && rt(O.canMatch)
                        }(st) ? st.canMatch(S, T) : O.runInContext(() => st(S, T)))
                    });
                    return (0, U.of)(Se).pipe(no(), Ga())
                }(z = Aa(S, z), S, T).pipe((0, je.U)(tt => !0 === tt ? Se : { ...Sa
                })) : (0, U.of)(Se)
            }

            function es(O, S, T) {
                if ("" === S.path) return "full" === S.pathMatch && (O.hasChildren() || T.length > 0) ? { ...Sa
                } : {
                    matched: !0,
                    consumedSegments: [],
                    remainingSegments: T,
                    parameters: {},
                    positionalParamSegments: {}
                };
                const se = (S.matcher || Qt)(T, O, S);
                if (!se) return { ...Sa
                };
                const Se = {};
                kn(se.posParams, (st, Yt) => {
                    Se[Yt] = st.path
                });
                const tt = se.consumed.length > 0 ? { ...Se,
                    ...se.consumed[se.consumed.length - 1].parameters
                } : Se;
                return {
                    matched: !0,
                    consumedSegments: se.consumed,
                    remainingSegments: T.slice(se.consumed.length),
                    parameters: tt,
                    positionalParamSegments: se.posParams ? ? {}
                }
            }

            function Za(O, S, T, z, se = "corrected") {
                if (T.length > 0 && function Ys(O, S, T) {
                        return T.some(z => il(O, S, z) && ci(z) !== Fe)
                    }(O, T, z)) {
                    const tt = new on(S, function rl(O, S, T, z) {
                        const se = {};
                        se[Fe] = z, z._sourceSegment = O, z._segmentIndexShift = S.length;
                        for (const Se of T)
                            if ("" === Se.path && ci(Se) !== Fe) {
                                const tt = new on([], {});
                                tt._sourceSegment = O, tt._segmentIndexShift = S.length, se[ci(Se)] = tt
                            }
                        return se
                    }(O, S, z, new on(T, O.children)));
                    return tt._sourceSegment = O, tt._segmentIndexShift = S.length, {
                        segmentGroup: tt,
                        slicedSegments: []
                    }
                }
                if (0 === T.length && function Wa(O, S, T) {
                        return T.some(z => il(O, S, z))
                    }(O, T, z)) {
                    const tt = new on(O.segments, function Gl(O, S, T, z, se, Se) {
                        const tt = {};
                        for (const st of z)
                            if (il(O, T, st) && !se[ci(st)]) {
                                const Yt = new on([], {});
                                Yt._sourceSegment = O, Yt._segmentIndexShift = "legacy" === Se ? O.segments.length : S.length, tt[ci(st)] = Yt
                            }
                        return { ...se,
                            ...tt
                        }
                    }(O, S, T, z, O.children, se));
                    return tt._sourceSegment = O, tt._segmentIndexShift = S.length, {
                        segmentGroup: tt,
                        slicedSegments: T
                    }
                }
                const Se = new on(O.segments, O.children);
                return Se._sourceSegment = O, Se._segmentIndexShift = S.length, {
                    segmentGroup: Se,
                    slicedSegments: T
                }
            }

            function il(O, S, T) {
                return (!(O.hasChildren() || S.length > 0) || "full" !== T.pathMatch) && "" === T.path
            }

            function ol(O, S, T, z) {
                return !!(ci(O) === z || z !== Fe && il(S, T, O)) && ("**" === O.path || es(S, O, T).matched)
            }

            function sl(O, S, T) {
                return 0 === S.length && !O.children[T]
            }
            const ba = !1;
            class ts {
                constructor(S) {
                    this.segmentGroup = S || null
                }
            }
            class ko {
                constructor(S) {
                    this.urlTree = S
                }
            }

            function ms(O) {
                return (0, G._)(new ts(O))
            }

            function ui(O) {
                return (0, G._)(new ko(O))
            }
            class Wl {
                constructor(S, T, z, se, Se) {
                    this.injector = S, this.configLoader = T, this.urlSerializer = z, this.urlTree = se, this.config = Se, this.allowRedirects = !0
                }
                apply() {
                    const S = Za(this.urlTree.root, [], [], this.config).segmentGroup,
                        T = new on(S.segments, S.children);
                    return this.expandSegmentGroup(this.injector, this.config, T, Fe).pipe((0, je.U)(Se => this.createUrlTree(Ee(Se), this.urlTree.queryParams, this.urlTree.fragment))).pipe((0, Ke.K)(Se => {
                        if (Se instanceof ko) return this.allowRedirects = !1, this.match(Se.urlTree);
                        throw Se instanceof ts ? this.noMatchError(Se) : Se
                    }))
                }
                match(S) {
                    return this.expandSegmentGroup(this.injector, this.config, S.root, Fe).pipe((0, je.U)(se => this.createUrlTree(Ee(se), S.queryParams, S.fragment))).pipe((0, Ke.K)(se => {
                        throw se instanceof ts ? this.noMatchError(se) : se
                    }))
                }
                noMatchError(S) {
                    return new t.vHH(4002, ba)
                }
                createUrlTree(S, T, z) {
                    const se = nt(S);
                    return new jt(se, T, z)
                }
                expandSegmentGroup(S, T, z, se) {
                    return 0 === z.segments.length && z.hasChildren() ? this.expandChildren(S, T, z).pipe((0, je.U)(Se => new on([], Se))) : this.expandSegment(S, z, T, z.segments, se, !0)
                }
                expandChildren(S, T, z) {
                    const se = [];
                    for (const Se of Object.keys(z.children)) "primary" === Se ? se.unshift(Se) : se.push(Se);
                    return (0, r.D)(se).pipe((0, ue.b)(Se => {
                        const tt = z.children[Se],
                            st = ao(T, Se);
                        return this.expandSegmentGroup(S, st, tt, Se).pipe((0, je.U)(Yt => ({
                            segment: Yt,
                            outlet: Se
                        })))
                    }), (0, Be.R)((Se, tt) => (Se[tt.outlet] = tt.segment, Se), {}), Ct())
                }
                expandSegment(S, T, z, se, Se, tt) {
                    return (0, r.D)(z).pipe((0, ue.b)(st => this.expandSegmentAgainstRoute(S, T, z, st, se, Se, tt).pipe((0, Ke.K)(bn => {
                        if (bn instanceof ts) return (0, U.of)(null);
                        throw bn
                    }))), (0, Je.P)(st => !!st), (0, Ke.K)((st, Yt) => {
                        if (An(st)) return sl(T, se, Se) ? (0, U.of)(new on([], {})) : ms(T);
                        throw st
                    }))
                }
                expandSegmentAgainstRoute(S, T, z, se, Se, tt, st) {
                    return ol(se, T, Se, tt) ? void 0 === se.redirectTo ? this.matchSegmentAgainstRoute(S, T, se, Se, tt) : st && this.allowRedirects ? this.expandSegmentAgainstRouteUsingRedirect(S, T, z, se, Se, tt) : ms(T) : ms(T)
                }
                expandSegmentAgainstRouteUsingRedirect(S, T, z, se, Se, tt) {
                    return "**" === se.path ? this.expandWildCardWithParamsAgainstRouteUsingRedirect(S, z, se, tt) : this.expandRegularSegmentAgainstRouteUsingRedirect(S, T, z, se, Se, tt)
                }
                expandWildCardWithParamsAgainstRouteUsingRedirect(S, T, z, se) {
                    const Se = this.applyRedirectCommands([], z.redirectTo, {});
                    return z.redirectTo.startsWith("/") ? ui(Se) : this.lineralizeSegments(z, Se).pipe((0, ke.z)(tt => {
                        const st = new on(tt, {});
                        return this.expandSegment(S, st, T, tt, se, !1)
                    }))
                }
                expandRegularSegmentAgainstRouteUsingRedirect(S, T, z, se, Se, tt) {
                    const {
                        matched: st,
                        consumedSegments: Yt,
                        remainingSegments: bn,
                        positionalParamSegments: fr
                    } = es(T, se, Se);
                    if (!st) return ms(T);
                    const On = this.applyRedirectCommands(Yt, se.redirectTo, fr);
                    return se.redirectTo.startsWith("/") ? ui(On) : this.lineralizeSegments(se, On).pipe((0, ke.z)(gi => this.expandSegment(S, T, z, gi.concat(bn), tt, !1)))
                }
                matchSegmentAgainstRoute(S, T, z, se, Se) {
                    return "**" === z.path ? (S = Aa(z, S), z.loadChildren ? (z._loadedRoutes ? (0, U.of)({
                        routes: z._loadedRoutes,
                        injector: z._loadedInjector
                    }) : this.configLoader.loadChildren(S, z)).pipe((0, je.U)(st => (z._loadedRoutes = st.routes, z._loadedInjector = st.injector, new on(se, {})))) : (0, U.of)(new on(se, {}))) : Ks(T, z, se, S).pipe((0, me.w)(({
                        matched: tt,
                        consumedSegments: st,
                        remainingSegments: Yt
                    }) => tt ? this.getChildConfig(S = z._injector ? ? S, z, se).pipe((0, ke.z)(fr => {
                        const On = fr.injector ? ? S,
                            gi = fr.routes,
                            {
                                segmentGroup: is,
                                slicedSegments: _s
                            } = Za(T, st, Yt, gi),
                            pl = new on(is.segments, is.children);
                        if (0 === _s.length && pl.hasChildren()) return this.expandChildren(On, gi, pl).pipe((0, je.U)(Ps => new on(st, Ps)));
                        if (0 === gi.length && 0 === _s.length) return (0, U.of)(new on(st, {}));
                        const Ss = ci(z) === Se;
                        return this.expandSegment(On, pl, gi, _s, Ss ? Fe : Se, !0).pipe((0, je.U)(Ka => new on(st.concat(Ka.segments), Ka.children)))
                    })) : ms(T)))
                }
                getChildConfig(S, T, z) {
                    return T.children ? (0, U.of)({
                        routes: T.children,
                        injector: S
                    }) : T.loadChildren ? void 0 !== T._loadedRoutes ? (0, U.of)({
                        routes: T._loadedRoutes,
                        injector: T._loadedInjector
                    }) : function Ku(O, S, T, z) {
                        const se = S.canLoad;
                        if (void 0 === se || 0 === se.length) return (0, U.of)(!0);
                        const Se = se.map(tt => {
                            const st = Zo(tt, O);
                            return vn(function Wt(O) {
                                return O && rt(O.canLoad)
                            }(st) ? st.canLoad(S, T) : O.runInContext(() => st(S, T)))
                        });
                        return (0, U.of)(Se).pipe(no(), Ga())
                    }(S, T, z).pipe((0, ke.z)(se => se ? this.configLoader.loadChildren(S, T).pipe((0, Me.b)(Se => {
                        T._loadedRoutes = Se.routes, T._loadedInjector = Se.injector
                    })) : function yc(O) {
                        return (0, G._)(Ls(ba, 3))
                    }())) : (0, U.of)({
                        routes: [],
                        injector: S
                    })
                }
                lineralizeSegments(S, T) {
                    let z = [],
                        se = T.root;
                    for (;;) {
                        if (z = z.concat(se.segments), 0 === se.numberOfChildren) return (0, U.of)(z);
                        if (se.numberOfChildren > 1 || !se.children[Fe]) return (0, G._)(new t.vHH(4e3, ba));
                        se = se.children[Fe]
                    }
                }
                applyRedirectCommands(S, T, z) {
                    return this.applyRedirectCreateUrlTree(T, this.urlSerializer.parse(T), S, z)
                }
                applyRedirectCreateUrlTree(S, T, z, se) {
                    const Se = this.createSegmentGroup(S, T.root, z, se);
                    return new jt(Se, this.createQueryParams(T.queryParams, this.urlTree.queryParams), T.fragment)
                }
                createQueryParams(S, T) {
                    const z = {};
                    return kn(S, (se, Se) => {
                        if ("string" == typeof se && se.startsWith(":")) {
                            const st = se.substring(1);
                            z[Se] = T[st]
                        } else z[Se] = se
                    }), z
                }
                createSegmentGroup(S, T, z, se) {
                    const Se = this.createSegments(S, T.segments, z, se);
                    let tt = {};
                    return kn(T.children, (st, Yt) => {
                        tt[Yt] = this.createSegmentGroup(S, st, z, se)
                    }), new on(Se, tt)
                }
                createSegments(S, T, z, se) {
                    return T.map(Se => Se.path.startsWith(":") ? this.findPosParam(S, Se, se) : this.findOrReturn(Se, z))
                }
                findPosParam(S, T, z) {
                    const se = z[T.path.substring(1)];
                    if (!se) throw new t.vHH(4001, ba);
                    return se
                }
                findOrReturn(S, T) {
                    let z = 0;
                    for (const se of T) {
                        if (se.path === S.path) return T.splice(z), se;
                        z++
                    }
                    return S
                }
            }
            class Vt {}
            class ni {
                constructor(S, T, z, se, Se, tt, st, Yt) {
                    this.injector = S, this.rootComponentType = T, this.config = z, this.urlTree = se, this.url = Se, this.paramsInheritanceStrategy = tt, this.relativeLinkResolution = st, this.urlSerializer = Yt
                }
                recognize() {
                    const S = Za(this.urlTree.root, [], [], this.config.filter(T => void 0 === T.redirectTo), this.relativeLinkResolution).segmentGroup;
                    return this.processSegmentGroup(this.injector, this.config, S, Fe).pipe((0, je.U)(T => {
                        if (null === T) return null;
                        const z = new oo([], Object.freeze({}), Object.freeze({ ...this.urlTree.queryParams
                            }), this.urlTree.fragment, {}, Fe, this.rootComponentType, null, this.urlTree.root, -1, {}),
                            se = new ei(z, T),
                            Se = new ga(this.url, se);
                        return this.inheritParamsAndData(Se._root), Se
                    }))
                }
                inheritParamsAndData(S) {
                    const T = S.value,
                        z = Rs(T, this.paramsInheritanceStrategy);
                    T.params = Object.freeze(z.params), T.data = Object.freeze(z.data), S.children.forEach(se => this.inheritParamsAndData(se))
                }
                processSegmentGroup(S, T, z, se) {
                    return 0 === z.segments.length && z.hasChildren() ? this.processChildren(S, T, z) : this.processSegment(S, T, z, z.segments, se)
                }
                processChildren(S, T, z) {
                    return (0, r.D)(Object.keys(z.children)).pipe((0, ue.b)(se => {
                        const Se = z.children[se],
                            tt = ao(T, se);
                        return this.processSegmentGroup(S, tt, Se, se)
                    }), (0, Be.R)((se, Se) => se && Se ? (se.push(...Se), se) : null), function ht(O, S = !1) {
                        return (0, le.e)((T, z) => {
                            let se = 0;
                            T.subscribe((0, oe.x)(z, Se => {
                                const tt = O(Se, se++);
                                (tt || S) && z.next(Se), !tt && z.complete()
                            }))
                        })
                    }(se => null !== se), (0, kt.d)(null), Ct(), (0, je.U)(se => {
                        if (null === se) return null;
                        const Se = ll(se);
                        return function Qi(O) {
                            O.sort((S, T) => S.value.outlet === Fe ? -1 : T.value.outlet === Fe ? 1 : S.value.outlet.localeCompare(T.value.outlet))
                        }(Se), Se
                    }))
                }
                processSegment(S, T, z, se, Se) {
                    return (0, r.D)(T).pipe((0, ue.b)(tt => this.processSegmentAgainstRoute(tt._injector ? ? S, tt, z, se, Se)), (0, Je.P)(tt => !!tt), (0, Ke.K)(tt => {
                        if (An(tt)) return sl(z, se, Se) ? (0, U.of)([]) : (0, U.of)(null);
                        throw tt
                    }))
                }
                processSegmentAgainstRoute(S, T, z, se, Se) {
                    if (T.redirectTo || !ol(T, z, se, Se)) return (0, U.of)(null);
                    let tt;
                    if ("**" === T.path) {
                        const st = se.length > 0 ? Ln(se).parameters : {},
                            Yt = Tl(z) + se.length,
                            bn = new oo(se, st, Object.freeze({ ...this.urlTree.queryParams
                            }), this.urlTree.fragment, zl(T), ci(T), T.component ? ? T._loadedComponent ? ? null, T, Dl(z), Yt, j(T), Yt);
                        tt = (0, U.of)({
                            snapshot: bn,
                            consumedSegments: [],
                            remainingSegments: []
                        })
                    } else tt = Ks(z, T, se, S).pipe((0, je.U)(({
                        matched: st,
                        consumedSegments: Yt,
                        remainingSegments: bn,
                        parameters: fr
                    }) => {
                        if (!st) return null;
                        const On = Tl(z) + Yt.length;
                        return {
                            snapshot: new oo(Yt, fr, Object.freeze({ ...this.urlTree.queryParams
                            }), this.urlTree.fragment, zl(T), ci(T), T.component ? ? T._loadedComponent ? ? null, T, Dl(z), On, j(T), On),
                            consumedSegments: Yt,
                            remainingSegments: bn
                        }
                    }));
                    return tt.pipe((0, me.w)(st => {
                        if (null === st) return (0, U.of)(null);
                        const {
                            snapshot: Yt,
                            consumedSegments: bn,
                            remainingSegments: fr
                        } = st;
                        S = T._injector ? ? S;
                        const On = T._loadedInjector ? ? S,
                            gi = function wi(O) {
                                return O.children ? O.children : O.loadChildren ? O._loadedRoutes : []
                            }(T),
                            {
                                segmentGroup: is,
                                slicedSegments: _s
                            } = Za(z, bn, fr, gi.filter(Ss => void 0 === Ss.redirectTo), this.relativeLinkResolution);
                        if (0 === _s.length && is.hasChildren()) return this.processChildren(On, gi, is).pipe((0, je.U)(Ss => null === Ss ? null : [new ei(Yt, Ss)]));
                        if (0 === gi.length && 0 === _s.length) return (0, U.of)([new ei(Yt, [])]);
                        const pl = ci(T) === Se;
                        return this.processSegment(On, gi, is, _s, pl ? Fe : Se).pipe((0, je.U)(Ss => null === Ss ? null : [new ei(Yt, Ss)]))
                    }))
                }
            }

            function Os(O) {
                const S = O.value.routeConfig;
                return S && "" === S.path && void 0 === S.redirectTo
            }

            function ll(O) {
                const S = [],
                    T = new Set;
                for (const z of O) {
                    if (!Os(z)) {
                        S.push(z);
                        continue
                    }
                    const se = S.find(Se => z.value.routeConfig === Se.value.routeConfig);
                    void 0 !== se ? (se.children.push(...z.children), T.add(se)) : S.push(z)
                }
                for (const z of T) {
                    const se = ll(z.children);
                    S.push(new ei(z.value, se))
                }
                return S.filter(z => !T.has(z))
            }

            function Dl(O) {
                let S = O;
                for (; S._sourceSegment;) S = S._sourceSegment;
                return S
            }

            function Tl(O) {
                let S = O,
                    T = S._segmentIndexShift ? ? 0;
                for (; S._sourceSegment;) S = S._sourceSegment, T += S._segmentIndexShift ? ? 0;
                return T - 1
            }

            function zl(O) {
                return O.data || {}
            }

            function j(O) {
                return O.resolve || {}
            }

            function Gn(O) {
                return "string" == typeof O.title || null === O.title
            }

            function Zr(O) {
                return (0, me.w)(S => {
                    const T = O(S);
                    return T ? (0, r.D)(T).pipe((0, je.U)(() => S)) : (0, U.of)(S)
                })
            }
            let dr = (() => {
                    class O {
                        buildTitle(T) {
                            let z, se = T.root;
                            for (; void 0 !== se;) z = this.getResolvedTitleForRoute(se) ? ? z, se = se.children.find(Se => Se.outlet === Fe);
                            return z
                        }
                        getResolvedTitleForRoute(T) {
                            return T.data[at]
                        }
                    }
                    return O.\u0275fac = function(T) {
                        return new(T || O)
                    }, O.\u0275prov = t.Yz7({
                        token: O,
                        factory: function() {
                            return (0, t.f3M)(Hr)
                        },
                        providedIn: "root"
                    }), O
                })(),
                Hr = (() => {
                    class O extends dr {
                        constructor(T) {
                            super(), this.title = T
                        }
                        updateTitle(T) {
                            const z = this.buildTitle(T);
                            void 0 !== z && this.title.setTitle(z)
                        }
                    }
                    return O.\u0275fac = function(T) {
                        return new(T || O)(t.LFG(fe.Dx))
                    }, O.\u0275prov = t.Yz7({
                        token: O,
                        factory: O.\u0275fac,
                        providedIn: "root"
                    }), O
                })();
            class Ai {}
            class co extends class ri {
                shouldDetach(S) {
                    return !1
                }
                store(S, T) {}
                shouldAttach(S) {
                    return !1
                }
                retrieve(S) {
                    return null
                }
                shouldReuseRoute(S, T) {
                    return S.routeConfig === T.routeConfig
                }
            } {}
            const Xi = new t.OlP("", {
                    providedIn: "root",
                    factory: () => ({})
                }),
                Ii = new t.OlP("ROUTES");
            let Us = (() => {
                class O {
                    constructor(T, z) {
                        this.injector = T, this.compiler = z, this.componentLoaders = new WeakMap, this.childrenLoaders = new WeakMap
                    }
                    loadComponent(T) {
                        if (this.componentLoaders.get(T)) return this.componentLoaders.get(T);
                        if (T._loadedComponent) return (0, U.of)(T._loadedComponent);
                        this.onLoadStartListener && this.onLoadStartListener(T);
                        const z = vn(T.loadComponent()).pipe((0, Me.b)(Se => {
                                this.onLoadEndListener && this.onLoadEndListener(T), T._loadedComponent = Se
                            }), (0, De.x)(() => {
                                this.componentLoaders.delete(T)
                            })),
                            se = new Ae(z, () => new ce.x).pipe(Te());
                        return this.componentLoaders.set(T, se), se
                    }
                    loadChildren(T, z) {
                        if (this.childrenLoaders.get(z)) return this.childrenLoaders.get(z);
                        if (z._loadedRoutes) return (0, U.of)({
                            routes: z._loadedRoutes,
                            injector: z._loadedInjector
                        });
                        this.onLoadStartListener && this.onLoadStartListener(z);
                        const Se = this.loadModuleFactoryOrRoutes(z.loadChildren).pipe((0, je.U)(st => {
                                this.onLoadEndListener && this.onLoadEndListener(z);
                                let Yt, bn, fr = !1;
                                Array.isArray(st) ? bn = st : (Yt = st.create(T).injector, bn = _n(Yt.get(Ii, [], t.XFs.Self | t.XFs.Optional)));
                                return {
                                    routes: bn.map(So),
                                    injector: Yt
                                }
                            }), (0, De.x)(() => {
                                this.childrenLoaders.delete(z)
                            })),
                            tt = new Ae(Se, () => new ce.x).pipe(Te());
                        return this.childrenLoaders.set(z, tt), tt
                    }
                    loadModuleFactoryOrRoutes(T) {
                        return vn(T()).pipe((0, ke.z)(z => z instanceof t.YKP || Array.isArray(z) ? (0, U.of)(z) : (0, r.D)(this.compiler.compileModuleAsync(z))))
                    }
                }
                return O.\u0275fac = function(T) {
                    return new(T || O)(t.LFG(t.zs3), t.LFG(t.Sil))
                }, O.\u0275prov = t.Yz7({
                    token: O,
                    factory: O.\u0275fac,
                    providedIn: "root"
                }), O
            })();
            class Pa {}
            class Ol {
                shouldProcessUrl(S) {
                    return !0
                }
                extract(S) {
                    return S
                }
                merge(S, T) {
                    return S
                }
            }

            function Al(O) {
                throw O
            }

            function uo(O, S, T) {
                return S.parse("/")
            }
            const Kl = {
                    paths: "exact",
                    fragment: "ignored",
                    matrixParams: "ignored",
                    queryParams: "exact"
                },
                Ia = {
                    paths: "subset",
                    fragment: "ignored",
                    matrixParams: "ignored",
                    queryParams: "subset"
                };

            function Cc() {
                const O = (0, t.f3M)(Jn),
                    S = (0, t.f3M)(Xo),
                    T = (0, t.f3M)(be.Ye),
                    z = (0, t.f3M)(t.zs3),
                    se = (0, t.f3M)(t.Sil),
                    Se = (0, t.f3M)(Ii, {
                        optional: !0
                    }) ? ? [],
                    tt = (0, t.f3M)(Xi, {
                        optional: !0
                    }) ? ? {},
                    st = (0, t.f3M)(Hr),
                    Yt = (0, t.f3M)(dr, {
                        optional: !0
                    }),
                    bn = (0, t.f3M)(Pa, {
                        optional: !0
                    }),
                    fr = (0, t.f3M)(Ai, {
                        optional: !0
                    }),
                    On = new Po(null, O, S, T, z, se, _n(Se));
                return bn && (On.urlHandlingStrategy = bn), fr && (On.routeReuseStrategy = fr), On.titleStrategy = Yt ? ? st,
                    function bc(O, S) {
                        O.errorHandler && (S.errorHandler = O.errorHandler), O.malformedUriErrorHandler && (S.malformedUriErrorHandler = O.malformedUriErrorHandler), O.onSameUrlNavigation && (S.onSameUrlNavigation = O.onSameUrlNavigation), O.paramsInheritanceStrategy && (S.paramsInheritanceStrategy = O.paramsInheritanceStrategy), O.relativeLinkResolution && (S.relativeLinkResolution = O.relativeLinkResolution), O.urlUpdateStrategy && (S.urlUpdateStrategy = O.urlUpdateStrategy), O.canceledNavigationResolution && (S.canceledNavigationResolution = O.canceledNavigationResolution)
                    }(tt, On), On
            }
            let Po = (() => {
                class O {
                    constructor(T, z, se, Se, tt, st, Yt) {
                        this.rootComponentType = T, this.urlSerializer = z, this.rootContexts = se, this.location = Se, this.config = Yt, this.lastSuccessfulNavigation = null, this.currentNavigation = null, this.disposed = !1, this.navigationId = 0, this.currentPageId = 0, this.isNgZoneEnabled = !1, this.events = new ce.x, this.errorHandler = Al, this.malformedUriErrorHandler = uo, this.navigated = !1, this.lastSuccessfulId = -1, this.afterPreactivation = () => (0, U.of)(void 0), this.urlHandlingStrategy = new Ol, this.routeReuseStrategy = new co, this.onSameUrlNavigation = "ignore", this.paramsInheritanceStrategy = "emptyOnly", this.urlUpdateStrategy = "deferred", this.relativeLinkResolution = "corrected", this.canceledNavigationResolution = "replace", this.configLoader = tt.get(Us), this.configLoader.onLoadEndListener = gi => this.triggerEvent(new Rt(gi)), this.configLoader.onLoadStartListener = gi => this.triggerEvent(new it(gi)), this.ngModule = tt.get(t.h0i), this.console = tt.get(t.c2e);
                        const On = tt.get(t.R0b);
                        this.isNgZoneEnabled = On instanceof t.R0b && t.R0b.isInAngularZone(), this.resetConfig(Yt), this.currentUrlTree = function Cn() {
                            return new jt(new on([], {}), {}, null)
                        }(), this.rawUrlTree = this.currentUrlTree, this.browserUrlTree = this.currentUrlTree, this.routerState = Qo(this.currentUrlTree, this.rootComponentType), this.transitions = new C.X({
                            id: 0,
                            targetPageId: 0,
                            currentUrlTree: this.currentUrlTree,
                            currentRawUrl: this.currentUrlTree,
                            extractedUrl: this.urlHandlingStrategy.extract(this.currentUrlTree),
                            urlAfterRedirects: this.urlHandlingStrategy.extract(this.currentUrlTree),
                            rawUrl: this.currentUrlTree,
                            extras: {},
                            resolve: null,
                            reject: null,
                            promise: Promise.resolve(!0),
                            source: "imperative",
                            restoredState: null,
                            currentSnapshot: this.routerState.snapshot,
                            targetSnapshot: null,
                            currentRouterState: this.routerState,
                            targetRouterState: null,
                            guards: {
                                canActivateChecks: [],
                                canDeactivateChecks: []
                            },
                            guardsResult: null
                        }), this.navigations = this.setupNavigations(this.transitions), this.processNavigations()
                    }
                    get browserPageId() {
                        return this.location.getState() ? .\u0275routerPageId
                    }
                    setupNavigations(T) {
                        const z = this.events;
                        return T.pipe((0, we.h)(se => 0 !== se.id), (0, je.U)(se => ({ ...se,
                            extractedUrl: this.urlHandlingStrategy.extract(se.rawUrl)
                        })), (0, me.w)(se => {
                            let Se = !1,
                                tt = !1;
                            return (0, U.of)(se).pipe((0, Me.b)(st => {
                                this.currentNavigation = {
                                    id: st.id,
                                    initialUrl: st.rawUrl,
                                    extractedUrl: st.extractedUrl,
                                    trigger: st.source,
                                    extras: st.extras,
                                    previousNavigation: this.lastSuccessfulNavigation ? { ...this.lastSuccessfulNavigation,
                                        previousNavigation: null
                                    } : null
                                }
                            }), (0, me.w)(st => {
                                const Yt = this.browserUrlTree.toString(),
                                    bn = !this.navigated || st.extractedUrl.toString() !== Yt || Yt !== this.currentUrlTree.toString();
                                if (("reload" === this.onSameUrlNavigation || bn) && this.urlHandlingStrategy.shouldProcessUrl(st.rawUrl)) return fo(st.source) && (this.browserUrlTree = st.extractedUrl), (0, U.of)(st).pipe((0, me.w)(On => {
                                    const gi = this.transitions.getValue();
                                    return z.next(new Yr(On.id, this.serializeUrl(On.extractedUrl), On.source, On.restoredState)), gi !== this.transitions.getValue() ? k.E : Promise.resolve(On)
                                }), function Et(O, S, T, z) {
                                    return (0, me.w)(se => function al(O, S, T, z, se) {
                                        return new Wl(O, S, T, z, se).apply()
                                    }(O, S, T, se.extractedUrl, z).pipe((0, je.U)(Se => ({ ...se,
                                        urlAfterRedirects: Se
                                    }))))
                                }(this.ngModule.injector, this.configLoader, this.urlSerializer, this.config), (0, Me.b)(On => {
                                    this.currentNavigation = { ...this.currentNavigation,
                                        finalUrl: On.urlAfterRedirects
                                    }, se.urlAfterRedirects = On.urlAfterRedirects
                                }), function de(O, S, T, z, se, Se) {
                                    return (0, ke.z)(tt => function ir(O, S, T, z, se, Se, tt = "emptyOnly", st = "legacy") {
                                        return new ni(O, S, T, z, se, tt, st, Se).recognize().pipe((0, me.w)(Yt => null === Yt ? function Sn(O) {
                                            return new F.y(S => S.error(O))
                                        }(new Vt) : (0, U.of)(Yt)))
                                    }(O, S, T, tt.urlAfterRedirects, z.serialize(tt.urlAfterRedirects), z, se, Se).pipe((0, je.U)(st => ({ ...tt,
                                        targetSnapshot: st
                                    }))))
                                }(this.ngModule.injector, this.rootComponentType, this.config, this.urlSerializer, this.paramsInheritanceStrategy, this.relativeLinkResolution), (0, Me.b)(On => {
                                    if (se.targetSnapshot = On.targetSnapshot, "eager" === this.urlUpdateStrategy) {
                                        if (!On.extras.skipLocationChange) {
                                            const is = this.urlHandlingStrategy.merge(On.urlAfterRedirects, On.rawUrl);
                                            this.setBrowserUrl(is, On)
                                        }
                                        this.browserUrlTree = On.urlAfterRedirects
                                    }
                                    const gi = new hi(On.id, this.serializeUrl(On.extractedUrl), this.serializeUrl(On.urlAfterRedirects), On.targetSnapshot);
                                    z.next(gi)
                                }));
                                if (bn && this.rawUrlTree && this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)) {
                                    const {
                                        id: gi,
                                        extractedUrl: is,
                                        source: _s,
                                        restoredState: pl,
                                        extras: Ss
                                    } = st, wc = new Yr(gi, this.serializeUrl(is), _s, pl);
                                    z.next(wc);
                                    const Ka = Qo(is, this.rootComponentType).snapshot;
                                    return se = { ...st,
                                        targetSnapshot: Ka,
                                        urlAfterRedirects: is,
                                        extras: { ...Ss,
                                            skipLocationChange: !1,
                                            replaceUrl: !1
                                        }
                                    }, (0, U.of)(se)
                                }
                                return this.rawUrlTree = st.rawUrl, st.resolve(null), k.E
                            }), (0, Me.b)(st => {
                                const Yt = new ls(st.id, this.serializeUrl(st.extractedUrl), this.serializeUrl(st.urlAfterRedirects), st.targetSnapshot);
                                this.triggerEvent(Yt)
                            }), (0, je.U)(st => se = { ...st,
                                guards: Go(st.targetSnapshot, st.currentSnapshot, this.rootContexts)
                            }), function Ci(O, S) {
                                return (0, ke.z)(T => {
                                    const {
                                        targetSnapshot: z,
                                        currentSnapshot: se,
                                        guards: {
                                            canActivateChecks: Se,
                                            canDeactivateChecks: tt
                                        }
                                    } = T;
                                    return 0 === tt.length && 0 === Se.length ? (0, U.of)({ ...T,
                                        guardsResult: !0
                                    }) : function Gi(O, S, T, z) {
                                        return (0, r.D)(O).pipe((0, ke.z)(se => function Yc(O, S, T, z, se) {
                                            const Se = S && S.routeConfig ? S.routeConfig.canDeactivate : null;
                                            if (!Se || 0 === Se.length) return (0, U.of)(!0);
                                            const tt = Se.map(st => {
                                                const Yt = Oi(S) ? ? se,
                                                    bn = Zo(st, Yt);
                                                return vn(function Y(O) {
                                                    return O && rt(O.canDeactivate)
                                                }(bn) ? bn.canDeactivate(O, S, T, z) : Yt.runInContext(() => bn(O, S, T, z))).pipe((0, Je.P)())
                                            });
                                            return (0, U.of)(tt).pipe(no())
                                        }(se.component, se.route, T, S, z)), (0, Je.P)(se => !0 !== se, !0))
                                    }(tt, z, se, O).pipe((0, ke.z)(st => st && function gt(O) {
                                        return "boolean" == typeof O
                                    }(st) ? function Fi(O, S, T, z) {
                                        return (0, r.D)(S).pipe((0, ue.b)(se => (0, P.z)(function Ws(O, S) {
                                            return null !== O && S && S(new Tt(O)), (0, U.of)(!0)
                                        }(se.route.parent, z), function Ma(O, S) {
                                            return null !== O && S && S(new xn(O)), (0, U.of)(!0)
                                        }(se.route, z), function Ic(O, S, T) {
                                            const z = S[S.length - 1],
                                                Se = S.slice(0, S.length - 1).reverse().map(tt => function ya(O) {
                                                    const S = O.routeConfig ? O.routeConfig.canActivateChild : null;
                                                    return S && 0 !== S.length ? {
                                                        node: O,
                                                        guards: S
                                                    } : null
                                                }(tt)).filter(tt => null !== tt).map(tt => (0, $.P)(() => {
                                                    const st = tt.guards.map(Yt => {
                                                        const bn = Oi(tt.node) ? ? T,
                                                            fr = Zo(Yt, bn);
                                                        return vn(function X(O) {
                                                            return O && rt(O.canActivateChild)
                                                        }(fr) ? fr.canActivateChild(z, O) : bn.runInContext(() => fr(z, O))).pipe((0, Je.P)())
                                                    });
                                                    return (0, U.of)(st).pipe(no())
                                                }));
                                            return (0, U.of)(Se).pipe(no())
                                        }(O, se.path, T), function zs(O, S, T) {
                                            const z = S.routeConfig ? S.routeConfig.canActivate : null;
                                            if (!z || 0 === z.length) return (0, U.of)(!0);
                                            const se = z.map(Se => (0, $.P)(() => {
                                                const tt = Oi(S) ? ? T,
                                                    st = Zo(Se, tt);
                                                return vn(function en(O) {
                                                    return O && rt(O.canActivate)
                                                }(st) ? st.canActivate(S, O) : tt.runInContext(() => st(S, O))).pipe((0, Je.P)())
                                            }));
                                            return (0, U.of)(se).pipe(no())
                                        }(O, se.route, T))), (0, Je.P)(se => !0 !== se, !0))
                                    }(z, Se, O, S) : (0, U.of)(st)), (0, je.U)(st => ({ ...T,
                                        guardsResult: st
                                    })))
                                })
                            }(this.ngModule.injector, st => this.triggerEvent(st)), (0, Me.b)(st => {
                                if (se.guardsResult = st.guardsResult, ae(st.guardsResult)) throw fs(0, st.guardsResult);
                                const Yt = new Ho(st.id, this.serializeUrl(st.extractedUrl), this.serializeUrl(st.urlAfterRedirects), st.targetSnapshot, !!st.guardsResult);
                                this.triggerEvent(Yt)
                            }), (0, we.h)(st => !!st.guardsResult || (this.restoreHistory(st), this.cancelNavigationTransition(st, "", 3), !1)), Zr(st => {
                                if (st.guards.canActivateChecks.length) return (0, U.of)(st).pipe((0, Me.b)(Yt => {
                                    const bn = new Oo(Yt.id, this.serializeUrl(Yt.extractedUrl), this.serializeUrl(Yt.urlAfterRedirects), Yt.targetSnapshot);
                                    this.triggerEvent(bn)
                                }), (0, me.w)(Yt => {
                                    let bn = !1;
                                    return (0, U.of)(Yt).pipe(function q(O, S) {
                                        return (0, ke.z)(T => {
                                            const {
                                                targetSnapshot: z,
                                                guards: {
                                                    canActivateChecks: se
                                                }
                                            } = T;
                                            if (!se.length) return (0, U.of)(T);
                                            let Se = 0;
                                            return (0, r.D)(se).pipe((0, ue.b)(tt => function Oe(O, S, T, z) {
                                                const se = O.routeConfig,
                                                    Se = O._resolve;
                                                return void 0 !== se ? .title && !Gn(se) && (Se[at] = se.title),
                                                    function pt(O, S, T, z) {
                                                        const se = function Gt(O) {
                                                            return [...Object.keys(O), ...Object.getOwnPropertySymbols(O)]
                                                        }(O);
                                                        if (0 === se.length) return (0, U.of)({});
                                                        const Se = {};
                                                        return (0, r.D)(se).pipe((0, ke.z)(tt => function nn(O, S, T, z) {
                                                            const se = Oi(S) ? ? z,
                                                                Se = Zo(O, se);
                                                            return vn(Se.resolve ? Se.resolve(S, T) : se.runInContext(() => Se(S, T)))
                                                        }(O[tt], S, T, z).pipe((0, Je.P)(), (0, Me.b)(st => {
                                                            Se[tt] = st
                                                        }))), He(1), (0, Pe.h)(Se), (0, Ke.K)(tt => An(tt) ? k.E : (0, G._)(tt)))
                                                    }(Se, O, S, z).pipe((0, je.U)(tt => (O._resolvedData = tt, O.data = Rs(O, T).resolve, se && Gn(se) && (O.data[at] = se.title), null)))
                                            }(tt.route, z, O, S)), (0, Me.b)(() => Se++), He(1), (0, ke.z)(tt => Se === se.length ? (0, U.of)(T) : k.E))
                                        })
                                    }(this.paramsInheritanceStrategy, this.ngModule.injector), (0, Me.b)({
                                        next: () => bn = !0,
                                        complete: () => {
                                            bn || (this.restoreHistory(Yt), this.cancelNavigationTransition(Yt, "", 2))
                                        }
                                    }))
                                }), (0, Me.b)(Yt => {
                                    const bn = new to(Yt.id, this.serializeUrl(Yt.extractedUrl), this.serializeUrl(Yt.urlAfterRedirects), Yt.targetSnapshot);
                                    this.triggerEvent(bn)
                                }))
                            }), Zr(st => {
                                const Yt = bn => {
                                    const fr = [];
                                    bn.routeConfig ? .loadComponent && !bn.routeConfig._loadedComponent && fr.push(this.configLoader.loadComponent(bn.routeConfig).pipe((0, Me.b)(On => {
                                        bn.component = On
                                    }), (0, je.U)(() => {})));
                                    for (const On of bn.children) fr.push(...Yt(On));
                                    return fr
                                };
                                return (0, V.a)(Yt(st.targetSnapshot.root)).pipe((0, kt.d)(), (0, ge.q)(1))
                            }), Zr(() => this.afterPreactivation()), (0, je.U)(st => {
                                const Yt = function jo(O, S, T) {
                                    const z = Ni(O, S._root, T ? T._root : void 0);
                                    return new cs(z, S)
                                }(this.routeReuseStrategy, st.targetSnapshot, st.currentRouterState);
                                return se = { ...st,
                                    targetRouterState: Yt
                                }
                            }), (0, Me.b)(st => {
                                this.currentUrlTree = st.urlAfterRedirects, this.rawUrlTree = this.urlHandlingStrategy.merge(st.urlAfterRedirects, st.rawUrl), this.routerState = st.targetRouterState, "deferred" === this.urlUpdateStrategy && (st.extras.skipLocationChange || this.setBrowserUrl(this.rawUrlTree, st), this.browserUrlTree = st.urlAfterRedirects)
                            }), ((O, S, T) => (0, je.U)(z => (new qn(S, z.targetRouterState, z.currentRouterState, T).activate(O), z)))(this.rootContexts, this.routeReuseStrategy, st => this.triggerEvent(st)), (0, Me.b)({
                                next() {
                                    Se = !0
                                },
                                complete() {
                                    Se = !0
                                }
                            }), (0, De.x)(() => {
                                Se || tt || this.cancelNavigationTransition(se, "", 1), this.currentNavigation ? .id === se.id && (this.currentNavigation = null)
                            }), (0, Ke.K)(st => {
                                if (tt = !0, ia(st)) {
                                    Ts(st) || (this.navigated = !0, this.restoreHistory(se, !0));
                                    const Yt = new yo(se.id, this.serializeUrl(se.extractedUrl), st.message, st.cancellationCode);
                                    if (z.next(Yt), Ts(st)) {
                                        const bn = this.urlHandlingStrategy.merge(st.url, this.rawUrlTree),
                                            fr = {
                                                skipLocationChange: se.extras.skipLocationChange,
                                                replaceUrl: "eager" === this.urlUpdateStrategy || fo(se.source)
                                            };
                                        this.scheduleNavigation(bn, "imperative", null, fr, {
                                            resolve: se.resolve,
                                            reject: se.reject,
                                            promise: se.promise
                                        })
                                    } else se.resolve(!1)
                                } else {
                                    this.restoreHistory(se, !0);
                                    const Yt = new $r(se.id, this.serializeUrl(se.extractedUrl), st, se.targetSnapshot ? ? void 0);
                                    z.next(Yt);
                                    try {
                                        se.resolve(this.errorHandler(st))
                                    } catch (bn) {
                                        se.reject(bn)
                                    }
                                }
                                return k.E
                            }))
                        }))
                    }
                    resetRootComponentType(T) {
                        this.rootComponentType = T, this.routerState.root.component = this.rootComponentType
                    }
                    setTransition(T) {
                        this.transitions.next({ ...this.transitions.value,
                            ...T
                        })
                    }
                    initialNavigation() {
                        this.setUpLocationChangeListener(), 0 === this.navigationId && this.navigateByUrl(this.location.path(!0), {
                            replaceUrl: !0
                        })
                    }
                    setUpLocationChangeListener() {
                        this.locationSubscription || (this.locationSubscription = this.location.subscribe(T => {
                            const z = "popstate" === T.type ? "popstate" : "hashchange";
                            "popstate" === z && setTimeout(() => {
                                const se = {
                                        replaceUrl: !0
                                    },
                                    Se = T.state ? .navigationId ? T.state : null;
                                if (Se) {
                                    const st = { ...Se
                                    };
                                    delete st.navigationId, delete st.\u0275routerPageId, 0 !== Object.keys(st).length && (se.state = st)
                                }
                                const tt = this.parseUrl(T.url);
                                this.scheduleNavigation(tt, z, Se, se)
                            }, 0)
                        }))
                    }
                    get url() {
                        return this.serializeUrl(this.currentUrlTree)
                    }
                    getCurrentNavigation() {
                        return this.currentNavigation
                    }
                    triggerEvent(T) {
                        this.events.next(T)
                    }
                    resetConfig(T) {
                        this.config = T.map(So), this.navigated = !1, this.lastSuccessfulId = -1
                    }
                    ngOnDestroy() {
                        this.dispose()
                    }
                    dispose() {
                        this.transitions.complete(), this.locationSubscription && (this.locationSubscription.unsubscribe(), this.locationSubscription = void 0), this.disposed = !0
                    }
                    createUrlTree(T, z = {}) {
                        const {
                            relativeTo: se,
                            queryParams: Se,
                            fragment: tt,
                            queryParamsHandling: st,
                            preserveFragment: Yt
                        } = z, bn = se || this.routerState.root, fr = Yt ? this.currentUrlTree.fragment : tt;
                        let On = null;
                        switch (st) {
                            case "merge":
                                On = { ...this.currentUrlTree.queryParams,
                                    ...Se
                                };
                                break;
                            case "preserve":
                                On = this.currentUrlTree.queryParams;
                                break;
                            default:
                                On = Se || null
                        }
                        return null !== On && (On = this.removeEmptyProps(On)), er(bn, this.currentUrlTree, T, On, fr ? ? null)
                    }
                    navigateByUrl(T, z = {
                        skipLocationChange: !1
                    }) {
                        const se = ae(T) ? T : this.parseUrl(T),
                            Se = this.urlHandlingStrategy.merge(se, this.rawUrlTree);
                        return this.scheduleNavigation(Se, "imperative", null, z)
                    }
                    navigate(T, z = {
                        skipLocationChange: !1
                    }) {
                        return function wo(O) {
                            for (let S = 0; S < O.length; S++) {
                                if (null == O[S]) throw new t.vHH(4008, false)
                            }
                        }(T), this.navigateByUrl(this.createUrlTree(T, z), z)
                    }
                    serializeUrl(T) {
                        return this.urlSerializer.serialize(T)
                    }
                    parseUrl(T) {
                        let z;
                        try {
                            z = this.urlSerializer.parse(T)
                        } catch (se) {
                            z = this.malformedUriErrorHandler(se, this.urlSerializer, T)
                        }
                        return z
                    }
                    isActive(T, z) {
                        let se;
                        if (se = !0 === z ? { ...Kl
                            } : !1 === z ? { ...Ia
                            } : z, ae(T)) return Qn(this.currentUrlTree, T, se);
                        const Se = this.parseUrl(T);
                        return Qn(this.currentUrlTree, Se, se)
                    }
                    removeEmptyProps(T) {
                        return Object.keys(T).reduce((z, se) => {
                            const Se = T[se];
                            return null != Se && (z[se] = Se), z
                        }, {})
                    }
                    processNavigations() {
                        this.navigations.subscribe(T => {
                            this.navigated = !0, this.lastSuccessfulId = T.id, this.currentPageId = T.targetPageId, this.events.next(new Cr(T.id, this.serializeUrl(T.extractedUrl), this.serializeUrl(this.currentUrlTree))), this.lastSuccessfulNavigation = this.currentNavigation, this.titleStrategy ? .updateTitle(this.routerState.snapshot), T.resolve(!0)
                        }, T => {
                            this.console.warn(`Unhandled Navigation Error: ${T}`)
                        })
                    }
                    scheduleNavigation(T, z, se, Se, tt) {
                        if (this.disposed) return Promise.resolve(!1);
                        let st, Yt, bn;
                        tt ? (st = tt.resolve, Yt = tt.reject, bn = tt.promise) : bn = new Promise((gi, is) => {
                            st = gi, Yt = is
                        });
                        const fr = ++this.navigationId;
                        let On;
                        return "computed" === this.canceledNavigationResolution ? (0 === this.currentPageId && (se = this.location.getState()), On = se && se.\u0275routerPageId ? se.\u0275routerPageId : Se.replaceUrl || Se.skipLocationChange ? this.browserPageId ? ? 0 : (this.browserPageId ? ? 0) + 1) : On = 0, this.setTransition({
                            id: fr,
                            targetPageId: On,
                            source: z,
                            restoredState: se,
                            currentUrlTree: this.currentUrlTree,
                            currentRawUrl: this.rawUrlTree,
                            rawUrl: T,
                            extras: Se,
                            resolve: st,
                            reject: Yt,
                            promise: bn,
                            currentSnapshot: this.routerState.snapshot,
                            currentRouterState: this.routerState
                        }), bn.catch(gi => Promise.reject(gi))
                    }
                    setBrowserUrl(T, z) {
                        const se = this.urlSerializer.serialize(T),
                            Se = { ...z.extras.state,
                                ...this.generateNgRouterState(z.id, z.targetPageId)
                            };
                        this.location.isCurrentPathEqualTo(se) || z.extras.replaceUrl ? this.location.replaceState(se, "", Se) : this.location.go(se, "", Se)
                    }
                    restoreHistory(T, z = !1) {
                        if ("computed" === this.canceledNavigationResolution) {
                            const se = this.currentPageId - T.targetPageId;
                            "popstate" !== T.source && "eager" !== this.urlUpdateStrategy && this.currentUrlTree !== this.currentNavigation ? .finalUrl || 0 === se ? this.currentUrlTree === this.currentNavigation ? .finalUrl && 0 === se && (this.resetState(T), this.browserUrlTree = T.currentUrlTree, this.resetUrlToCurrentUrlTree()) : this.location.historyGo(se)
                        } else "replace" === this.canceledNavigationResolution && (z && this.resetState(T), this.resetUrlToCurrentUrlTree())
                    }
                    resetState(T) {
                        this.routerState = T.currentRouterState, this.currentUrlTree = T.currentUrlTree, this.rawUrlTree = this.urlHandlingStrategy.merge(this.currentUrlTree, T.rawUrl)
                    }
                    resetUrlToCurrentUrlTree() {
                        this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree), "", this.generateNgRouterState(this.lastSuccessfulId, this.currentPageId))
                    }
                    cancelNavigationTransition(T, z, se) {
                        const Se = new yo(T.id, this.serializeUrl(T.extractedUrl), z, se);
                        this.triggerEvent(Se), T.resolve(!1)
                    }
                    generateNgRouterState(T, z) {
                        return "computed" === this.canceledNavigationResolution ? {
                            navigationId: T,
                            \u0275routerPageId: z
                        } : {
                            navigationId: T
                        }
                    }
                }
                return O.\u0275fac = function(T) {
                    t.$Z()
                }, O.\u0275prov = t.Yz7({
                    token: O,
                    factory: function() {
                        return Cc()
                    },
                    providedIn: "root"
                }), O
            })();

            function fo(O) {
                return "imperative" !== O
            }
            let dl = (() => {
                class O {
                    constructor(T, z, se) {
                        this.router = T, this.route = z, this.locationStrategy = se, this._preserveFragment = !1, this._skipLocationChange = !1, this._replaceUrl = !1, this.commands = null, this.href = null, this.onChanges = new ce.x, this.subscription = T.events.subscribe(Se => {
                            Se instanceof Cr && this.updateTargetUrlAndHref()
                        })
                    }
                    set preserveFragment(T) {
                        this._preserveFragment = (0, t.D6c)(T)
                    }
                    get preserveFragment() {
                        return this._preserveFragment
                    }
                    set skipLocationChange(T) {
                        this._skipLocationChange = (0, t.D6c)(T)
                    }
                    get skipLocationChange() {
                        return this._skipLocationChange
                    }
                    set replaceUrl(T) {
                        this._replaceUrl = (0, t.D6c)(T)
                    }
                    get replaceUrl() {
                        return this._replaceUrl
                    }
                    set routerLink(T) {
                        this.commands = null != T ? Array.isArray(T) ? T : [T] : null
                    }
                    ngOnChanges(T) {
                        this.updateTargetUrlAndHref(), this.onChanges.next(this)
                    }
                    ngOnDestroy() {
                        this.subscription.unsubscribe()
                    }
                    onClick(T, z, se, Se, tt) {
                        return !!(0 !== T || z || se || Se || tt || "string" == typeof this.target && "_self" != this.target || null === this.urlTree) || (this.router.navigateByUrl(this.urlTree, {
                            skipLocationChange: this.skipLocationChange,
                            replaceUrl: this.replaceUrl,
                            state: this.state
                        }), !1)
                    }
                    updateTargetUrlAndHref() {
                        this.href = null !== this.urlTree ? this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree)) : null
                    }
                    get urlTree() {
                        return null === this.commands ? null : this.router.createUrlTree(this.commands, {
                            relativeTo: void 0 !== this.relativeTo ? this.relativeTo : this.route,
                            queryParams: this.queryParams,
                            fragment: this.fragment,
                            queryParamsHandling: this.queryParamsHandling,
                            preserveFragment: this.preserveFragment
                        })
                    }
                }
                return O.\u0275fac = function(T) {
                    return new(T || O)(t.Y36(Po), t.Y36($i), t.Y36(be.S$))
                }, O.\u0275dir = t.lG2({
                    type: O,
                    selectors: [
                        ["a", "routerLink", ""],
                        ["area", "routerLink", ""]
                    ],
                    hostVars: 2,
                    hostBindings: function(T, z) {
                        1 & T && t.NdJ("click", function(Se) {
                            return z.onClick(Se.button, Se.ctrlKey, Se.shiftKey, Se.altKey, Se.metaKey)
                        }), 2 & T && t.uIk("target", z.target)("href", z.href, t.LSH)
                    },
                    inputs: {
                        target: "target",
                        queryParams: "queryParams",
                        fragment: "fragment",
                        queryParamsHandling: "queryParamsHandling",
                        state: "state",
                        relativeTo: "relativeTo",
                        preserveFragment: "preserveFragment",
                        skipLocationChange: "skipLocationChange",
                        replaceUrl: "replaceUrl",
                        routerLink: "routerLink"
                    },
                    standalone: !0,
                    features: [t.TTD]
                }), O
            })();
            class aa {}
            let Ms = (() => {
                class O {
                    constructor(T, z, se, Se, tt) {
                        this.router = T, this.injector = se, this.preloadingStrategy = Se, this.loader = tt
                    }
                    setUpPreloading() {
                        this.subscription = this.router.events.pipe((0, we.h)(T => T instanceof Cr), (0, ue.b)(() => this.preload())).subscribe(() => {})
                    }
                    preload() {
                        return this.processRoutes(this.injector, this.router.config)
                    }
                    ngOnDestroy() {
                        this.subscription && this.subscription.unsubscribe()
                    }
                    processRoutes(T, z) {
                        const se = [];
                        for (const Se of z) {
                            Se.providers && !Se._injector && (Se._injector = (0, t.MMx)(Se.providers, T, `Route: ${Se.path}`));
                            const tt = Se._injector ? ? T,
                                st = Se._loadedInjector ? ? tt;
                            Se.loadChildren && !Se._loadedRoutes && void 0 === Se.canLoad || Se.loadComponent && !Se._loadedComponent ? se.push(this.preloadConfig(tt, Se)) : (Se.children || Se._loadedRoutes) && se.push(this.processRoutes(st, Se.children ? ? Se._loadedRoutes))
                        }
                        return (0, r.D)(se).pipe((0, J.J)())
                    }
                    preloadConfig(T, z) {
                        return this.preloadingStrategy.preload(z, () => {
                            let se;
                            se = z.loadChildren && void 0 === z.canLoad ? this.loader.loadChildren(T, z) : (0, U.of)(null);
                            const Se = se.pipe((0, ke.z)(tt => null === tt ? (0, U.of)(void 0) : (z._loadedRoutes = tt.routes, z._loadedInjector = tt.injector, this.processRoutes(tt.injector ? ? T, tt.routes))));
                            if (z.loadComponent && !z._loadedComponent) {
                                const tt = this.loader.loadComponent(z);
                                return (0, r.D)([Se, tt]).pipe((0, J.J)())
                            }
                            return Se
                        })
                    }
                }
                return O.\u0275fac = function(T) {
                    return new(T || O)(t.LFG(Po), t.LFG(t.Sil), t.LFG(t.lqb), t.LFG(aa), t.LFG(Us))
                }, O.\u0275prov = t.Yz7({
                    token: O,
                    factory: O.\u0275fac,
                    providedIn: "root"
                }), O
            })();
            const Ml = new t.OlP("");
            let Na = (() => {
                class O {
                    constructor(T, z, se = {}) {
                        this.router = T, this.viewportScroller = z, this.options = se, this.lastId = 0, this.lastSource = "imperative", this.restoredId = 0, this.store = {}, se.scrollPositionRestoration = se.scrollPositionRestoration || "disabled", se.anchorScrolling = se.anchorScrolling || "disabled"
                    }
                    init() {
                        "disabled" !== this.options.scrollPositionRestoration && this.viewportScroller.setHistoryScrollRestoration("manual"), this.routerEventsSubscription = this.createScrollEvents(), this.scrollEventsSubscription = this.consumeScrollEvents()
                    }
                    createScrollEvents() {
                        return this.router.events.subscribe(T => {
                            T instanceof Yr ? (this.store[this.lastId] = this.viewportScroller.getScrollPosition(), this.lastSource = T.navigationTrigger, this.restoredId = T.restoredState ? T.restoredState.navigationId : 0) : T instanceof Cr && (this.lastId = T.id, this.scheduleScrollEvent(T, this.router.parseUrl(T.urlAfterRedirects).fragment))
                        })
                    }
                    consumeScrollEvents() {
                        return this.router.events.subscribe(T => {
                            T instanceof Tr && (T.position ? "top" === this.options.scrollPositionRestoration ? this.viewportScroller.scrollToPosition([0, 0]) : "enabled" === this.options.scrollPositionRestoration && this.viewportScroller.scrollToPosition(T.position) : T.anchor && "enabled" === this.options.anchorScrolling ? this.viewportScroller.scrollToAnchor(T.anchor) : "disabled" !== this.options.scrollPositionRestoration && this.viewportScroller.scrollToPosition([0, 0]))
                        })
                    }
                    scheduleScrollEvent(T, z) {
                        this.router.triggerEvent(new Tr(T, "popstate" === this.lastSource ? this.store[this.restoredId] : null, z))
                    }
                    ngOnDestroy() {
                        this.routerEventsSubscription && this.routerEventsSubscription.unsubscribe(), this.scrollEventsSubscription && this.scrollEventsSubscription.unsubscribe()
                    }
                }
                return O.\u0275fac = function(T) {
                    t.$Z()
                }, O.\u0275prov = t.Yz7({
                    token: O,
                    factory: O.\u0275fac
                }), O
            })();

            function gs(O, S) {
                return {\
                    u0275kind: O,
                    \u0275providers: S
                }
            }

            function Nc(O) {
                return [{
                    provide: Ii,
                    multi: !0,
                    useValue: O
                }]
            }

            function Ra() {
                const O = (0, t.f3M)(t.zs3);
                return S => {
                    const T = O.get(t.z2F);
                    if (S !== T.components[0]) return;
                    const z = O.get(Po),
                        se = O.get(Jl);
                    1 === O.get(Js) && z.initialNavigation(), O.get(Qs, null, t.XFs.Optional) ? .setUpPreloading(), O.get(Ml, null, t.XFs.Optional) ? .init(), z.resetRootComponentType(T.componentTypes[0]), se.closed || (se.next(), se.unsubscribe())
                }
            }
            const Jl = new t.OlP("", {
                    factory: () => new ce.x
                }),
                Js = new t.OlP("", {
                    providedIn: "root",
                    factory: () => 1
                });
            const Qs = new t.OlP("");

            function ns(O) {
                return gs(0, [{
                    provide: Qs,
                    useExisting: Ms
                }, {
                    provide: aa,
                    useExisting: O
                }])
            }
            const za = new t.OlP("ROUTER_FORROOT_GUARD"),
                Xl = [be.Ye, {
                    provide: Jn,
                    useClass: wr
                }, {
                    provide: Po,
                    useFactory: Cc
                }, Xo, {
                    provide: $i,
                    useFactory: function Ca(O) {
                        return O.routerState.root
                    },
                    deps: [Po]
                }, Us];

            function Jc() {
                return new t.PXZ("Router", Po)
            }
            let Yi = (() => {
                class O {
                    constructor(T) {}
                    static forRoot(T, z) {
                        return {
                            ngModule: O,
                            providers: [Xl, [], Nc(T), {
                                    provide: za,
                                    useFactory: ca,
                                    deps: [
                                        [Po, new t.FiY, new t.tp0]
                                    ]
                                }, {
                                    provide: Xi,
                                    useValue: z || {}
                                }, z ? .useHash ? {
                                    provide: be.S$,
                                    useClass: be.Do
                                } : {
                                    provide: be.S$,
                                    useClass: be.b0
                                }, {
                                    provide: Ml,
                                    useFactory: () => {
                                        const O = (0, t.f3M)(Po),
                                            S = (0, t.f3M)(be.EM),
                                            T = (0, t.f3M)(Xi);
                                        return T.scrollOffset && S.setOffset(T.scrollOffset), new Na(O, S, T)
                                    }
                                }, z ? .preloadingStrategy ? ns(z.preloadingStrategy).\u0275providers : [], {
                                    provide: t.PXZ,
                                    multi: !0,
                                    useFactory: Jc
                                }, z ? .initialNavigation ? rs(z) : [],
                                [{
                                    provide: Vs,
                                    useFactory: Ra
                                }, {
                                    provide: t.tb,
                                    multi: !0,
                                    useExisting: Vs
                                }]
                            ]
                        }
                    }
                    static forChild(T) {
                        return {
                            ngModule: O,
                            providers: [Nc(T)]
                        }
                    }
                }
                return O.\u0275fac = function(T) {
                    return new(T || O)(t.LFG(za, 8))
                }, O.\u0275mod = t.oAB({
                    type: O
                }), O.\u0275inj = t.cJS({
                    imports: [xi]
                }), O
            })();

            function ca(O) {
                return "guarded"
            }

            function rs(O) {
                return ["disabled" === O.initialNavigation ? gs(3, [{
                    provide: t.ip1,
                    multi: !0,
                    useFactory: () => {
                        const S = (0, t.f3M)(Po);
                        return () => {
                            S.setUpLocationChangeListener()
                        }
                    }
                }, {
                    provide: Js,
                    useValue: 2
                }]).\u0275providers : [], "enabledBlocking" === O.initialNavigation ? gs(2, [{
                    provide: Js,
                    useValue: 0
                }, {
                    provide: t.ip1,
                    multi: !0,
                    deps: [t.zs3],
                    useFactory: S => {
                        const T = S.get(be.V_, Promise.resolve());
                        let z = !1;
                        return () => T.then(() => new Promise(Se => {
                            const tt = S.get(Po),
                                st = S.get(Jl);
                            (function se(Se) {
                                S.get(Po).events.pipe((0, we.h)(st => st instanceof Cr || st instanceof yo || st instanceof $r), (0, je.U)(st => st instanceof Cr || st instanceof yo && (0 === st.code || 1 === st.code) && null), (0, we.h)(st => null !== st), (0, ge.q)(1)).subscribe(() => {
                                    Se()
                                })
                            })(() => {
                                Se(!0), z = !0
                            }), tt.afterPreactivation = () => (Se(!0), z || st.closed ? (0, U.of)(void 0) : st), tt.initialNavigation()
                        }))
                    }
                }]).\u0275providers : []]
            }
            const Vs = new t.OlP("")
        },
        1835: (Re, he, _) => {
            "use strict";
            _.d(he, {
                A0: () => nt
            });
            var t = _(4650),
                U = (_(6406), _(4408));
            let x, C = 1;
            const V = {};

            function P(Ee) {
                return Ee in V && (delete V[Ee], !0)
            }
            const $ = {
                    setImmediate(Ee) {
                        const re = C++;
                        return V[re] = !0, x || (x = Promise.resolve()), x.then(() => P(re) && Ee()), re
                    },
                    clearImmediate(Ee) {
                        P(Ee)
                    }
                },
                {
                    setImmediate: G,
                    clearImmediate: F
                } = $,
                k = {
                    setImmediate(...Ee) {
                        const {
                            delegate: re
                        } = k;
                        return (re ? .setImmediate || G)(...Ee)
                    },
                    clearImmediate(Ee) {
                        const {
                            delegate: re
                        } = k;
                        return (re ? .clearImmediate || F)(Ee)
                    },
                    delegate: void 0
                };
            var le = _(7565);
            new class oe extends le.v {
                flush(re) {
                    this._active = !0;
                    const ae = this._scheduled;
                    this._scheduled = void 0;
                    const {
                        actions: Xe
                    } = this;
                    let Dt;
                    re = re || Xe.shift();
                    do {
                        if (Dt = re.execute(re.state, re.delay)) break
                    } while ((re = Xe[0]) && re.id === ae && Xe.shift());
                    if (this._active = !1, Dt) {
                        for (;
                            (re = Xe[0]) && re.id === ae && Xe.shift();) re.unsubscribe();
                        throw Dt
                    }
                }
            }(class B extends U.o {
                constructor(re, ae) {
                    super(re, ae), this.scheduler = re, this.work = ae
                }
                requestAsyncId(re, ae, Xe = 0) {
                    return null !== Xe && Xe > 0 ? super.requestAsyncId(re, ae, Xe) : (re.actions.push(this), re._scheduled || (re._scheduled = k.setImmediate(re.flush.bind(re, void 0))))
                }
                recycleAsyncId(re, ae, Xe = 0) {
                    var Dt;
                    if (null != Xe ? Xe > 0 : this.delay > 0) return super.recycleAsyncId(re, ae, Xe);
                    const {
                        actions: Xt
                    } = re;
                    null != ae && (null === (Dt = Xt[Xt.length - 1]) || void 0 === Dt ? void 0 : Dt.id) !== ae && (k.clearImmediate(ae), re._scheduled = void 0)
                }
            });
            var ce = _(6895);
            RegExp(/[&<>"']/g.source);
            const Er = new t.OlP("ng-select-selection-model");

            function zr() {
                return new Fr
            }
            class Fr {
                constructor() {
                    this._selected = []
                }
                get value() {
                    return this._selected
                }
                select(re, ae, Xe) {
                    if (re.selected = !0, (!re.children || !ae && Xe) && this._selected.push(re), ae)
                        if (re.parent) {
                            const Dt = re.parent.children.length,
                                Xt = re.parent.children.filter(dn => dn.selected).length;
                            re.parent.selected = Dt === Xt
                        } else re.children && (this._setChildrenSelectedState(re.children, !0), this._removeChildren(re), this._selected = Xe && this._activeChildren(re) ? [...this._selected.filter(Dt => Dt.parent !== re), re] : [...this._selected, ...re.children.filter(Dt => !Dt.disabled)])
                }
                unselect(re, ae) {
                    if (this._selected = this._selected.filter(Xe => Xe !== re), re.selected = !1, ae)
                        if (re.parent && re.parent.selected) {
                            const Xe = re.parent.children;
                            this._removeParent(re.parent), this._removeChildren(re.parent), this._selected.push(...Xe.filter(Dt => Dt !== re && !Dt.disabled)), re.parent.selected = !1
                        } else re.children && (this._setChildrenSelectedState(re.children, !1), this._removeChildren(re))
                }
                clear(re) {
                    this._selected = re ? this._selected.filter(ae => ae.disabled) : []
                }
                _setChildrenSelectedState(re, ae) {
                    for (const Xe of re) Xe.disabled || (Xe.selected = ae)
                }
                _removeChildren(re) {
                    this._selected = [...this._selected.filter(ae => ae.parent !== re), ...re.children.filter(ae => ae.parent === re && ae.disabled && ae.selected)]
                }
                _removeParent(re) {
                    this._selected = this._selected.filter(ae => ae !== re)
                }
                _activeChildren(re) {
                    return re.children.every(ae => !ae.disabled || ae.selected)
                }
            }
            let nt = (() => {
                class Ee {}
                return Ee.\u0275fac = function(ae) {
                    return new(ae || Ee)
                }, Ee.\u0275mod = t.oAB({
                    type: Ee
                }), Ee.\u0275inj = t.cJS({
                    providers: [{
                        provide: Er,
                        useValue: zr
                    }],
                    imports: [ce.ez]
                }), Ee
            })()
        },
        825: (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
            "use strict";
            __webpack_require__.d(__webpack_exports__, {
                FT: () => StoreDevtoolsModule
            });
            var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4650),
                _ngrx_store__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9653),
                rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(515),
                rxjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9751),
                rxjs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9646),
                rxjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(6451),
                rxjs__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(233),
                rxjs__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(4707),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(3099),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9300),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4004),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(4351),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(7414),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8372),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(262),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(5698),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(2722),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(3900),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(5684),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(5363),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(1365),
                rxjs_operators__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(5026);
            const PERFORM_ACTION = "PERFORM_ACTION",
                REFRESH = "REFRESH",
                RESET = "RESET",
                ROLLBACK = "ROLLBACK",
                COMMIT = "COMMIT",
                SWEEP = "SWEEP",
                TOGGLE_ACTION = "TOGGLE_ACTION",
                SET_ACTIONS_ACTIVE = "SET_ACTIONS_ACTIVE",
                JUMP_TO_STATE = "JUMP_TO_STATE",
                JUMP_TO_ACTION = "JUMP_TO_ACTION",
                IMPORT_STATE = "IMPORT_STATE",
                LOCK_CHANGES = "LOCK_CHANGES",
                PAUSE_RECORDING = "PAUSE_RECORDING";
            class PerformAction {
                constructor(he, _) {
                    if (this.action = he, this.timestamp = _, this.type = PERFORM_ACTION, typeof he.type > "u") throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?')
                }
            }
            class Refresh {
                constructor() {
                    this.type = REFRESH
                }
            }
            class Reset {
                constructor(he) {
                    this.timestamp = he, this.type = RESET
                }
            }
            class Rollback {
                constructor(he) {
                    this.timestamp = he, this.type = ROLLBACK
                }
            }
            class Commit {
                constructor(he) {
                    this.timestamp = he, this.type = COMMIT
                }
            }
            class Sweep {
                constructor() {
                    this.type = SWEEP
                }
            }
            class ToggleAction {
                constructor(he) {
                    this.id = he, this.type = TOGGLE_ACTION
                }
            }
            class SetActionsActive {
                constructor(he, _, t = !0) {
                    this.start = he, this.end = _, this.active = t, this.type = SET_ACTIONS_ACTIVE
                }
            }
            class JumpToState {
                constructor(he) {
                    this.index = he, this.type = JUMP_TO_STATE
                }
            }
            class JumpToAction {
                constructor(he) {
                    this.actionId = he, this.type = JUMP_TO_ACTION
                }
            }
            class ImportState {
                constructor(he) {
                    this.nextLiftedState = he, this.type = IMPORT_STATE
                }
            }
            class LockChanges {
                constructor(he) {
                    this.status = he, this.type = LOCK_CHANGES
                }
            }
            class PauseRecording {
                constructor(he) {
                    this.status = he, this.type = PAUSE_RECORDING
                }
            }
            class StoreDevtoolsConfig {
                constructor() {
                    this.maxAge = !1
                }
            }
            const STORE_DEVTOOLS_CONFIG = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Options"),
                INITIAL_OPTIONS = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Initial Config");

            function noMonitor() {
                return null
            }
            const DEFAULT_NAME = "NgRx Store DevTools";

            function createConfig(Re) {
                const he = {
                        maxAge: !1,
                        monitor: noMonitor,
                        actionSanitizer: void 0,
                        stateSanitizer: void 0,
                        name: DEFAULT_NAME,
                        serialize: !1,
                        logOnly: !1,
                        autoPause: !1,
                        features: {
                            pause: !0,
                            lock: !0,
                            persist: !0,
                            export: !0,
                            import: "custom",
                            jump: !0,
                            skip: !0,
                            reorder: !0,
                            dispatch: !0,
                            test: !0
                        }
                    },
                    _ = "function" == typeof Re ? Re() : Re,
                    U = Object.assign({}, he, {
                        features: _.features || !!_.logOnly && {
                            pause: !0,
                            export: !0,
                            test: !0
                        } || he.features
                    }, _);
                if (U.maxAge && U.maxAge < 2) throw new Error(`Devtools 'maxAge' cannot be less than 2, got ${U.maxAge}`);
                return U
            }

            function difference(Re, he) {
                return Re.filter(_ => he.indexOf(_) < 0)
            }

            function unliftState(Re) {
                const {
                    computedStates: he,
                    currentStateIndex: _
                } = Re;
                if (_ >= he.length) {
                    const {
                        state: r
                    } = he[he.length - 1];
                    return r
                }
                const {
                    state: t
                } = he[_];
                return t
            }

            function unliftAction(Re) {
                return Re.actionsById[Re.nextActionId - 1]
            }

            function liftAction(Re) {
                return new PerformAction(Re, +Date.now())
            }

            function sanitizeActions(Re, he) {
                return Object.keys(he).reduce((_, t) => {
                    const r = Number(t);
                    return _[r] = sanitizeAction(Re, he[r], r), _
                }, {})
            }

            function sanitizeAction(Re, he, _) {
                return { ...he,
                    action: Re(he.action, _)
                }
            }

            function sanitizeStates(Re, he) {
                return he.map((_, t) => ({
                    state: sanitizeState(Re, _.state, t),
                    error: _.error
                }))
            }

            function sanitizeState(Re, he, _) {
                return Re(he, _)
            }

            function shouldFilterActions(Re) {
                return Re.predicate || Re.actionsSafelist || Re.actionsBlocklist
            }

            function filterLiftedState(Re, he, _, t) {
                const r = [],
                    U = {},
                    C = [];
                return Re.stagedActionIds.forEach((x, V) => {
                    const P = Re.actionsById[x];
                    !P || V && isActionFiltered(Re.computedStates[V], P, he, _, t) || (U[x] = P, r.push(x), C.push(Re.computedStates[V]))
                }), { ...Re,
                    stagedActionIds: r,
                    actionsById: U,
                    computedStates: C
                }
            }

            function isActionFiltered(Re, he, _, t, r) {
                const U = _ && !_(Re, he.action),
                    C = t && !he.action.type.match(t.map(V => escapeRegExp(V)).join("|")),
                    x = r && he.action.type.match(r.map(V => escapeRegExp(V)).join("|"));
                return U || C || x
            }

            function escapeRegExp(Re) {
                return Re.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
            }
            let DevtoolsDispatcher = (() => {
                class Re extends _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO {}
                return Re.\u0275fac = function() {
                    let he;
                    return function(t) {
                        return (he || (he = _angular_core__WEBPACK_IMPORTED_MODULE_0__.n5z(Re)))(t || Re)
                    }
                }(), Re.\u0275prov = _angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({
                    token: Re,
                    factory: Re.\u0275fac
                }), Re
            })();
            const ExtensionActionTypes = {
                    START: "START",
                    DISPATCH: "DISPATCH",
                    STOP: "STOP",
                    ACTION: "ACTION"
                },
                REDUX_DEVTOOLS_EXTENSION = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Redux Devtools Extension");
            let DevtoolsExtension = (() => {
                class DevtoolsExtension {
                    constructor(Re, he, _) {
                        this.config = he, this.dispatcher = _, this.devtoolsExtension = Re, this.createActionStreams()
                    }
                    notify(Re, he) {
                        if (this.devtoolsExtension)
                            if (Re.type === PERFORM_ACTION) {
                                if (he.isLocked || he.isPaused) return;
                                const _ = unliftState(he);
                                if (shouldFilterActions(this.config) && isActionFiltered(_, Re, this.config.predicate, this.config.actionsSafelist, this.config.actionsBlocklist)) return;
                                const t = this.config.stateSanitizer ? sanitizeState(this.config.stateSanitizer, _, he.currentStateIndex) : _,
                                    r = this.config.actionSanitizer ? sanitizeAction(this.config.actionSanitizer, Re, he.nextActionId) : Re;
                                this.sendToReduxDevtools(() => this.extensionConnection.send(r, t))
                            } else {
                                const _ = { ...he,
                                    stagedActionIds: he.stagedActionIds,
                                    actionsById: this.config.actionSanitizer ? sanitizeActions(this.config.actionSanitizer, he.actionsById) : he.actionsById,
                                    computedStates: this.config.stateSanitizer ? sanitizeStates(this.config.stateSanitizer, he.computedStates) : he.computedStates
                                };
                                this.sendToReduxDevtools(() => this.devtoolsExtension.send(null, _, this.getExtensionConfig(this.config)))
                            }
                    }
                    createChangesObservable() {
                        return this.devtoolsExtension ? new rxjs__WEBPACK_IMPORTED_MODULE_3__.y(Re => {
                            const he = this.devtoolsExtension.connect(this.getExtensionConfig(this.config));
                            return this.extensionConnection = he, he.init(), he.subscribe(_ => Re.next(_)), he.unsubscribe
                        }) : rxjs__WEBPACK_IMPORTED_MODULE_2__.E
                    }
                    createActionStreams() {
                        const Re = this.createChangesObservable().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.B)()),
                            he = Re.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(x => x.type === ExtensionActionTypes.START)),
                            _ = Re.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(x => x.type === ExtensionActionTypes.STOP)),
                            t = Re.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(x => x.type === ExtensionActionTypes.DISPATCH), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(x => this.unwrapAction(x.payload)), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_7__.b)(x => x.type === IMPORT_STATE ? this.dispatcher.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(V => V.type === _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_8__.V)(1e3), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_9__.b)(1e3), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(() => x), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.K)(() => (0, rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(x)), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.q)(1)) : (0, rxjs__WEBPACK_IMPORTED_MODULE_11__.of)(x))),
                            U = Re.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_5__.h)(x => x.type === ExtensionActionTypes.ACTION), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(x => this.unwrapAction(x.payload))).pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(_)),
                            C = t.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(_));
                        this.start$ = he.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_13__.R)(_)), this.actions$ = this.start$.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(() => U)), this.liftedActions$ = this.start$.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_14__.w)(() => C))
                    }
                    unwrapAction(action) {
                        return "string" == typeof action ? eval(`(${action})`) : action
                    }
                    getExtensionConfig(Re) {
                        const he = {
                            name: Re.name,
                            features: Re.features,
                            serialize: Re.serialize,
                            autoPause: Re.autoPause ? ? !1
                        };
                        return !1 !== Re.maxAge && (he.maxAge = Re.maxAge), he
                    }
                    sendToReduxDevtools(Re) {
                        try {
                            Re()
                        } catch (he) {
                            console.warn("@ngrx/store-devtools: something went wrong inside the redux devtools", he)
                        }
                    }
                }
                return DevtoolsExtension.\u0275fac = function Re(he) {
                    return new(he || DevtoolsExtension)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(REDUX_DEVTOOLS_EXTENSION), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher))
                }, DevtoolsExtension.\u0275prov = _angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({
                    token: DevtoolsExtension,
                    factory: DevtoolsExtension.\u0275fac
                }), DevtoolsExtension
            })();
            const INIT_ACTION = {
                    type: _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.qg
                },
                RECOMPUTE = "@ngrx/store-devtools/recompute",
                RECOMPUTE_ACTION = {
                    type: RECOMPUTE
                };

            function computeNextEntry(Re, he, _, t, r) {
                if (t) return {
                    state: _,
                    error: "Interrupted by an error up the chain"
                };
                let C, U = _;
                try {
                    U = Re(_, he)
                } catch (x) {
                    C = x.toString(), r.handleError(x)
                }
                return {
                    state: U,
                    error: C
                }
            }

            function recomputeStates(Re, he, _, t, r, U, C, x, V) {
                if (he >= Re.length && Re.length === U.length) return Re;
                const P = Re.slice(0, he),
                    $ = U.length - (V ? 1 : 0);
                for (let K = he; K < $; K++) {
                    const G = U[K],
                        F = r[G].action,
                        k = P[K - 1],
                        B = k ? k.state : t,
                        le = k ? k.error : void 0,
                        Te = C.indexOf(G) > -1 ? k : computeNextEntry(_, F, B, le, x);
                    P.push(Te)
                }
                return V && P.push(Re[Re.length - 1]), P
            }

            function liftInitialState(Re, he) {
                return {
                    monitorState: he(void 0, {}),
                    nextActionId: 1,
                    actionsById: {
                        0: liftAction(INIT_ACTION)
                    },
                    stagedActionIds: [0],
                    skippedActionIds: [],
                    committedState: Re,
                    currentStateIndex: 0,
                    computedStates: [],
                    isLocked: !1,
                    isPaused: !1
                }
            }

            function liftReducerWith(Re, he, _, t, r = {}) {
                return U => (C, x) => {
                    let {
                        monitorState: V,
                        actionsById: P,
                        nextActionId: $,
                        stagedActionIds: K,
                        skippedActionIds: G,
                        committedState: F,
                        currentStateIndex: k,
                        computedStates: B,
                        isLocked: le,
                        isPaused: oe
                    } = C || he;

                    function Te(be) {
                        let je = be,
                            me = K.slice(1, je + 1);
                        for (let ge = 0; ge < me.length; ge++) {
                            if (B[ge + 1].error) {
                                je = ge, me = K.slice(1, je + 1);
                                break
                            }
                            delete P[me[ge]]
                        }
                        G = G.filter(ge => -1 === me.indexOf(ge)), K = [0, ...K.slice(je + 1)], F = B[je].state, B = B.slice(je), k = k > je ? k - je : 0
                    }

                    function Ae() {
                        P = {
                            0: liftAction(INIT_ACTION)
                        }, $ = 1, K = [0], G = [], F = B[k].state, k = 0, B = []
                    }
                    C || (P = Object.create(P));
                    let ce = 0;
                    switch (x.type) {
                        case LOCK_CHANGES:
                            le = x.status, ce = 1 / 0;
                            break;
                        case PAUSE_RECORDING:
                            oe = x.status, oe ? (K = [...K, $], P[$] = new PerformAction({
                                type: "@ngrx/devtools/pause"
                            }, +Date.now()), $++, ce = K.length - 1, B = B.concat(B[B.length - 1]), k === K.length - 2 && k++, ce = 1 / 0) : Ae();
                            break;
                        case RESET:
                            P = {
                                0: liftAction(INIT_ACTION)
                            }, $ = 1, K = [0], G = [], F = Re, k = 0, B = [];
                            break;
                        case COMMIT:
                            Ae();
                            break;
                        case ROLLBACK:
                            P = {
                                0: liftAction(INIT_ACTION)
                            }, $ = 1, K = [0], G = [], k = 0, B = [];
                            break;
                        case TOGGLE_ACTION:
                            {
                                const {
                                    id: be
                                } = x;G = -1 === G.indexOf(be) ? [be, ...G] : G.filter(me => me !== be),
                                ce = K.indexOf(be);
                                break
                            }
                        case SET_ACTIONS_ACTIVE:
                            {
                                const {
                                    start: be,
                                    end: je,
                                    active: me
                                } = x,
                                ge = [];
                                for (let _e = be; _e < je; _e++) ge.push(_e);G = me ? difference(G, ge) : [...G, ...ge],
                                ce = K.indexOf(be);
                                break
                            }
                        case JUMP_TO_STATE:
                            k = x.index, ce = 1 / 0;
                            break;
                        case JUMP_TO_ACTION:
                            {
                                const be = K.indexOf(x.actionId); - 1 !== be && (k = be),
                                ce = 1 / 0;
                                break
                            }
                        case SWEEP:
                            K = difference(K, G), G = [], k = Math.min(k, K.length - 1);
                            break;
                        case PERFORM_ACTION:
                            {
                                if (le) return C || he;
                                if (oe || C && isActionFiltered(C.computedStates[k], x, r.predicate, r.actionsSafelist, r.actionsBlocklist)) {
                                    const je = B[B.length - 1];
                                    B = [...B.slice(0, -1), computeNextEntry(U, x.action, je.state, je.error, _)], ce = 1 / 0;
                                    break
                                }
                                r.maxAge && K.length === r.maxAge && Te(1),
                                k === K.length - 1 && k++;
                                const be = $++;P[be] = x,
                                K = [...K, be],
                                ce = K.length - 1;
                                break
                            }
                        case IMPORT_STATE:
                            ({
                                monitorState: V,
                                actionsById: P,
                                nextActionId: $,
                                stagedActionIds: K,
                                skippedActionIds: G,
                                committedState: F,
                                currentStateIndex: k,
                                computedStates: B,
                                isLocked: le,
                                isPaused: oe
                            } = x.nextLiftedState);
                            break;
                        case _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.qg:
                            ce = 0, r.maxAge && K.length > r.maxAge && (B = recomputeStates(B, ce, U, F, P, K, G, _, oe), Te(K.length - r.maxAge), ce = 1 / 0);
                            break;
                        case _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.wb:
                            if (B.filter(je => je.error).length > 0) ce = 0, r.maxAge && K.length > r.maxAge && (B = recomputeStates(B, ce, U, F, P, K, G, _, oe), Te(K.length - r.maxAge), ce = 1 / 0);
                            else {
                                if (!oe && !le) {
                                    k === K.length - 1 && k++;
                                    const je = $++;
                                    P[je] = new PerformAction(x, +Date.now()), K = [...K, je], ce = K.length - 1, B = recomputeStates(B, ce, U, F, P, K, G, _, oe)
                                }
                                B = B.map(je => ({ ...je,
                                    state: U(je.state, RECOMPUTE_ACTION)
                                })), k = K.length - 1, r.maxAge && K.length > r.maxAge && Te(K.length - r.maxAge), ce = 1 / 0
                            }
                            break;
                        default:
                            ce = 1 / 0
                    }
                    return B = recomputeStates(B, ce, U, F, P, K, G, _, oe), V = t(V, x), {
                        monitorState: V,
                        actionsById: P,
                        nextActionId: $,
                        stagedActionIds: K,
                        skippedActionIds: G,
                        committedState: F,
                        currentStateIndex: k,
                        computedStates: B,
                        isLocked: le,
                        isPaused: oe
                    }
                }
            }
            let StoreDevtools = (() => {
                class Re {
                    constructor(_, t, r, U, C, x, V, P) {
                        const $ = liftInitialState(V, P.monitor),
                            K = liftReducerWith(V, $, x, P.monitor, P),
                            G = (0, rxjs__WEBPACK_IMPORTED_MODULE_15__.T)((0, rxjs__WEBPACK_IMPORTED_MODULE_15__.T)(t.asObservable().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_16__.T)(1)), U.actions$).pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(liftAction)), _, U.liftedActions$).pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_17__.Q)(rxjs__WEBPACK_IMPORTED_MODULE_18__.N)),
                            F = r.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(K)),
                            k = new rxjs__WEBPACK_IMPORTED_MODULE_19__.t(1),
                            B = G.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_20__.M)(F), (0, rxjs_operators__WEBPACK_IMPORTED_MODULE_21__.R)(({
                                state: Ae
                            }, [ce, be]) => {
                                let je = be(Ae, ce);
                                return ce.type !== PERFORM_ACTION && shouldFilterActions(P) && (je = filterLiftedState(je, P.predicate, P.actionsSafelist, P.actionsBlocklist)), U.notify(ce, je), {
                                    state: je,
                                    action: ce
                                }
                            }, {
                                state: $,
                                action: null
                            })).subscribe(({
                                state: Ae,
                                action: ce
                            }) => {
                                k.next(Ae), ce.type === PERFORM_ACTION && C.next(ce.action)
                            }),
                            le = U.start$.subscribe(() => {
                                this.refresh()
                            }),
                            oe = k.asObservable(),
                            Te = oe.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_6__.U)(unliftState));
                        this.extensionStartSubscription = le, this.stateSubscription = B, this.dispatcher = _, this.liftedState = oe, this.state = Te
                    }
                    dispatch(_) {
                        this.dispatcher.next(_)
                    }
                    next(_) {
                        this.dispatcher.next(_)
                    }
                    error(_) {}
                    complete() {}
                    performAction(_) {
                        this.dispatch(new PerformAction(_, +Date.now()))
                    }
                    refresh() {
                        this.dispatch(new Refresh)
                    }
                    reset() {
                        this.dispatch(new Reset(+Date.now()))
                    }
                    rollback() {
                        this.dispatch(new Rollback(+Date.now()))
                    }
                    commit() {
                        this.dispatch(new Commit(+Date.now()))
                    }
                    sweep() {
                        this.dispatch(new Sweep)
                    }
                    toggleAction(_) {
                        this.dispatch(new ToggleAction(_))
                    }
                    jumpToAction(_) {
                        this.dispatch(new JumpToAction(_))
                    }
                    jumpToState(_) {
                        this.dispatch(new JumpToState(_))
                    }
                    importState(_) {
                        this.dispatch(new ImportState(_))
                    }
                    lockChanges(_) {
                        this.dispatch(new LockChanges(_))
                    }
                    pauseRecording(_) {
                        this.dispatch(new PauseRecording(_))
                    }
                }
                return Re.\u0275fac = function(_) {
                    return new(_ || Re)(_angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsDispatcher), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.UO), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.n$), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(DevtoolsExtension), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y$), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_angular_core__WEBPACK_IMPORTED_MODULE_0__.qLn), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(_ngrx_store__WEBPACK_IMPORTED_MODULE_1__.Y6), _angular_core__WEBPACK_IMPORTED_MODULE_0__.LFG(STORE_DEVTOOLS_CONFIG))
                }, Re.\u0275prov = _angular_core__WEBPACK_IMPORTED_MODULE_0__.Yz7({
                    token: Re,
                    factory: Re.\u0275fac
                }), Re
            })();
            const IS_EXTENSION_OR_MONITOR_PRESENT = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.OlP("@ngrx/store-devtools Is Devtools Extension or Monitor Present");

            function createIsExtensionOrMonitorPresent(Re, he) {
                return Boolean(Re) || he.monitor !== noMonitor
            }

            function createReduxDevtoolsExtension() {
                const Re = "__REDUX_DEVTOOLS_EXTENSION__";
                return "object" == typeof window && typeof window[Re] < "u" ? window[Re] : null
            }

            function provideStoreDevtools(Re = {}) {
                return {\
                    u0275providers: [DevtoolsExtension, DevtoolsDispatcher, StoreDevtools, {
                        provide: INITIAL_OPTIONS,
                        useValue: Re
                    }, {
                        provide: IS_EXTENSION_OR_MONITOR_PRESENT,
                        deps: [REDUX_DEVTOOLS_EXTENSION, STORE_DEVTOOLS_CONFIG],
                        useFactory: createIsExtensionOrMonitorPresent
                    }, {
                        provide: REDUX_DEVTOOLS_EXTENSION,
                        useFactory: createReduxDevtoolsExtension
                    }, {
                        provide: STORE_DEVTOOLS_CONFIG,
                        deps: [INITIAL_OPTIONS],
                        useFactory: createConfig
                    }, {
                        provide: _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.FR,
                        deps: [StoreDevtools],
                        useFactory: createStateObservable
                    }, {
                        provide: _ngrx_store__WEBPACK_IMPORTED_MODULE_1__.mK,
                        useExisting: DevtoolsDispatcher
                    }]
                }
            }

            function createStateObservable(Re) {
                return Re.state
            }
            let StoreDevtoolsModule = (() => {
                class Re {
                    static instrument(_ = {}) {
                        return {
                            ngModule: Re,
                            providers: [...provideStoreDevtools(_).\u0275providers]
                        }
                    }
                }
                return Re.\u0275fac = function(_) {
                    return new(_ || Re)
                }, Re.\u0275mod = _angular_core__WEBPACK_IMPORTED_MODULE_0__.oAB({
                    type: Re
                }), Re.\u0275inj = _angular_core__WEBPACK_IMPORTED_MODULE_0__.cJS({}), Re
            })()
        },
        9653: (Re, he, _) => {
            "use strict";
            _.d(he, {
                UO: () => we,
                qg: () => _e,
                Y6: () => Me,
                mK: () => Cn,
                n$: () => tn,
                Y$: () => _r,
                FR: () => Ut,
                yh: () => jt,
                CK: () => ls,
                Aw: () => Ho,
                cr: () => hi,
                wb: () => pn,
                qC: () => Nn,
                PH: () => le,
                ZF: () => Fr,
                Lq: () => to,
                P1: () => Er,
                on: () => Oo,
                Ky: () => oe
            });
            var t = _(4650),
                r = _(1135),
                U = _(9751),
                C = _(7579),
                x = _(233),
                V = _(5363),
                P = _(1365),
                $ = _(5026),
                K = _(4004),
                F = _(1884);
            const k = {};

            function le(it, Rt) {
                if (k[it] = (k[it] || 0) + 1, "function" == typeof Rt) return Ae(it, (...$t) => ({ ...Rt(...$t),
                    type: it
                }));
                switch (Rt ? Rt._as : "empty") {
                    case "empty":
                        return Ae(it, () => ({
                            type: it
                        }));
                    case "props":
                        return Ae(it, $t => ({ ...$t,
                            type: it
                        }));
                    default:
                        throw new Error("Unexpected config.")
                }
            }

            function oe() {
                return {
                    _as: "props",
                    _p: void 0
                }
            }

            function Ae(it, Rt) {
                return Object.defineProperty(Rt, "type", {
                    value: it,
                    writable: !1
                })
            }
            const _e = "@ngrx/store/init";
            let we = (() => {
                class it extends r.X {
                    constructor() {
                        super({
                            type: _e
                        })
                    }
                    next(Tt) {
                        if ("function" == typeof Tt) throw new TypeError("\n        Dispatch expected an object, instead it received a function.\n        If you're using the createAction function, make sure to invoke the function\n        before dispatching the action. For example, someAction should be someAction().");
                        if (typeof Tt > "u") throw new TypeError("Actions must be objects");
                        if (typeof Tt.type > "u") throw new TypeError("Actions must have a type property");
                        super.next(Tt)
                    }
                    complete() {}
                    ngOnDestroy() {
                        super.complete()
                    }
                }
                return it.\u0275fac = function(Tt) {
                    return new(Tt || it)
                }, it.\u0275prov = t.Yz7({
                    token: it,
                    factory: it.\u0275fac
                }), it
            })();
            const ke = [we],
                Je = new t.OlP("@ngrx/store Internal Root Guard"),
                ue = new t.OlP("@ngrx/store Internal Initial State"),
                Me = new t.OlP("@ngrx/store Initial State"),
                Ke = new t.OlP("@ngrx/store Reducer Factory"),
                Be = new t.OlP("@ngrx/store Internal Reducer Factory Provider"),
                He = new t.OlP("@ngrx/store Initial Reducers"),
                xt = new t.OlP("@ngrx/store Internal Initial Reducers"),
                kt = new t.OlP("@ngrx/store Store Features"),
                St = new t.OlP("@ngrx/store Internal Store Reducers"),
                Ct = new t.OlP("@ngrx/store Internal Feature Reducers"),
                ht = new t.OlP("@ngrx/store Internal Feature Configs"),
                Pe = new t.OlP("@ngrx/store Internal Store Features"),
                De = new t.OlP("@ngrx/store Internal Feature Reducers Token"),
                J = new t.OlP("@ngrx/store Feature Reducers"),
                fe = new t.OlP("@ngrx/store User Provided Meta Reducers"),
                Fe = new t.OlP("@ngrx/store Meta Reducers"),
                at = new t.OlP("@ngrx/store Internal Resolved Meta Reducers"),
                ct = new t.OlP("@ngrx/store User Runtime Checks Config"),
                vt = new t.OlP("@ngrx/store Internal User Runtime Checks Config"),
                Qt = new t.OlP("@ngrx/store Internal Runtime Checks"),
                Ge = new t.OlP("@ngrx/store Check if Action types are unique");

            function _n(it, Rt = {}) {
                const Tt = Object.keys(it),
                    $t = {};
                for (let cn = 0; cn < Tt.length; cn++) {
                    const Tr = Tt[cn];
                    "function" == typeof it[Tr] && ($t[Tr] = it[Tr])
                }
                const xn = Object.keys($t);
                return function(Tr, li) {
                    Tr = void 0 === Tr ? Rt : Tr;
                    let mi = !1;
                    const Ki = {};
                    for (let Gr = 0; Gr < xn.length; Gr++) {
                        const ei = xn[Gr],
                            cs = Tr[ei],
                            Qo = (0, $t[ei])(cs, li);
                        Ki[ei] = Qo, mi = mi || Qo !== cs
                    }
                    return mi ? Ki : Tr
                }
            }

            function Nn(...it) {
                return function(Rt) {
                    if (0 === it.length) return Rt;
                    const Tt = it[it.length - 1];
                    return it.slice(0, -1).reduceRight((xn, cn) => cn(xn), Tt(Rt))
                }
            }

            function kn(it, Rt) {
                return Array.isArray(Rt) && Rt.length > 0 && (it = Nn.apply(null, [...Rt, it])), (Tt, $t) => {
                    const xn = it(Tt);
                    return (cn, Tr) => xn(cn = void 0 === cn ? $t : cn, Tr)
                }
            }
            new t.OlP("@ngrx/store Root Store Provider"), new t.OlP("@ngrx/store Feature State Provider");
            class tn extends U.y {}
            class Cn extends we {}
            const pn = "@ngrx/store/update-reducers";
            let Rn = (() => {
                class it extends r.X {
                    constructor(Tt, $t, xn, cn) {
                        super(cn(xn, $t)), this.dispatcher = Tt, this.initialState = $t, this.reducers = xn, this.reducerFactory = cn
                    }
                    get currentReducers() {
                        return this.reducers
                    }
                    addFeature(Tt) {
                        this.addFeatures([Tt])
                    }
                    addFeatures(Tt) {
                        const $t = Tt.reduce((xn, {
                            reducers: cn,
                            reducerFactory: Tr,
                            metaReducers: li,
                            initialState: mi,
                            key: Ki
                        }) => {
                            const Gr = "function" == typeof cn ? function vn(it) {
                                const Rt = Array.isArray(it) && it.length > 0 ? Nn(...it) : Tt => Tt;
                                return (Tt, $t) => (Tt = Rt(Tt), (xn, cn) => Tt(xn = void 0 === xn ? $t : xn, cn))
                            }(li)(cn, mi) : kn(Tr, li)(cn, mi);
                            return xn[Ki] = Gr, xn
                        }, {});
                        this.addReducers($t)
                    }
                    removeFeature(Tt) {
                        this.removeFeatures([Tt])
                    }
                    removeFeatures(Tt) {
                        this.removeReducers(Tt.map($t => $t.key))
                    }
                    addReducer(Tt, $t) {
                        this.addReducers({
                            [Tt]: $t
                        })
                    }
                    addReducers(Tt) {
                        this.reducers = { ...this.reducers,
                            ...Tt
                        }, this.updateReducers(Object.keys(Tt))
                    }
                    removeReducer(Tt) {
                        this.removeReducers([Tt])
                    }
                    removeReducers(Tt) {
                        Tt.forEach($t => {
                            this.reducers = function Ln(it, Rt) {
                                return Object.keys(it).filter(Tt => Tt !== Rt).reduce((Tt, $t) => Object.assign(Tt, {
                                    [$t]: it[$t]
                                }), {})
                            }(this.reducers, $t)
                        }), this.updateReducers(Tt)
                    }
                    updateReducers(Tt) {
                        this.next(this.reducerFactory(this.reducers, this.initialState)), this.dispatcher.next({
                            type: pn,
                            features: Tt
                        })
                    }
                    ngOnDestroy() {
                        this.complete()
                    }
                }
                return it.\u0275fac = function(Tt) {
                    return new(Tt || it)(t.LFG(Cn), t.LFG(Me), t.LFG(He), t.LFG(Ke))
                }, it.\u0275prov = t.Yz7({
                    token: it,
                    factory: it.\u0275fac
                }), it
            })();
            const Qn = [Rn, {
                provide: tn,
                useExisting: Rn
            }, {
                provide: Cn,
                useExisting: we
            }];
            let _r = (() => {
                class it extends C.x {
                    ngOnDestroy() {
                        this.complete()
                    }
                }
                return it.\u0275fac = function() {
                    let Rt;
                    return function($t) {
                        return (Rt || (Rt = t.n5z(it)))($t || it)
                    }
                }(), it.\u0275prov = t.Yz7({
                    token: it,
                    factory: it.\u0275fac
                }), it
            })();
            const Mr = [_r];
            class Ut extends U.y {}
            let dt = (() => {
                class it extends r.X {
                    constructor(Tt, $t, xn, cn) {
                        super(cn);
                        const Ki = Tt.pipe((0, V.Q)(x.N)).pipe((0, P.M)($t)).pipe((0, $.R)(et, {
                            state: cn
                        }));
                        this.stateSubscription = Ki.subscribe(({
                            state: Gr,
                            action: ei
                        }) => {
                            this.next(Gr), xn.next(ei)
                        })
                    }
                    ngOnDestroy() {
                        this.stateSubscription.unsubscribe(), this.complete()
                    }
                }
                return it.INIT = _e, it.\u0275fac = function(Tt) {
                    return new(Tt || it)(t.LFG(we), t.LFG(tn), t.LFG(_r), t.LFG(Me))
                }, it.\u0275prov = t.Yz7({
                    token: it,
                    factory: it.\u0275fac
                }), it
            })();

            function et(it = {
                state: void 0
            }, [Rt, Tt]) {
                const {
                    state: $t
                } = it;
                return {
                    state: Tt($t, Rt),
                    action: Rt
                }
            }
            const Pt = [dt, {
                provide: Ut,
                useExisting: dt
            }];
            let jt = (() => {
                class it extends U.y {
                    constructor(Tt, $t, xn) {
                        super(), this.actionsObserver = $t, this.reducerManager = xn, this.source = Tt
                    }
                    select(Tt, ...$t) {
                        return $n.call(null, Tt, ...$t)(this)
                    }
                    lift(Tt) {
                        const $t = new it(this, this.actionsObserver, this.reducerManager);
                        return $t.operator = Tt, $t
                    }
                    dispatch(Tt) {
                        this.actionsObserver.next(Tt)
                    }
                    next(Tt) {
                        this.actionsObserver.next(Tt)
                    }
                    error(Tt) {
                        this.actionsObserver.error(Tt)
                    }
                    complete() {
                        this.actionsObserver.complete()
                    }
                    addReducer(Tt, $t) {
                        this.reducerManager.addReducer(Tt, $t)
                    }
                    removeReducer(Tt) {
                        this.reducerManager.removeReducer(Tt)
                    }
                }
                return it.\u0275fac = function(Tt) {
                    return new(Tt || it)(t.LFG(Ut), t.LFG(we), t.LFG(Rn))
                }, it.\u0275prov = t.Yz7({
                    token: it,
                    factory: it.\u0275fac
                }), it
            })();
            const on = [jt];

            function $n(it, Rt, ...Tt) {
                return function(xn) {
                    let cn;
                    if ("string" == typeof it) {
                        const Tr = [Rt, ...Tt].filter(Boolean);
                        cn = xn.pipe(function G(...it) {
                            const Rt = it.length;
                            if (0 === Rt) throw new Error("list of properties cannot be empty.");
                            return (0, K.U)(Tt => {
                                let $t = Tt;
                                for (let xn = 0; xn < Rt; xn++) {
                                    const cn = $t ? .[it[xn]];
                                    if (!(typeof cn < "u")) return;
                                    $t = cn
                                }
                                return $t
                            })
                        }(it, ...Tr))
                    } else {
                        if ("function" != typeof it) throw new TypeError(`Unexpected type '${typeof it}' in select operator, expected 'string' or 'function'`);
                        cn = xn.pipe((0, K.U)(Tr => it(Tr, Rt)))
                    }
                    return cn.pipe((0, F.x)())
                }
            }
            const Xn = "https://ngrx.io/guide/store/configuration/runtime-checks";

            function sn(it) {
                return void 0 === it
            }

            function cr(it) {
                return null === it
            }

            function Jn(it) {
                return Array.isArray(it)
            }

            function Kn(it) {
                return "object" == typeof it && null !== it
            }

            function hr(it) {
                return "function" == typeof it
            }

            function Pi(it, Rt) {
                return it === Rt
            }

            function To(it, Rt, Tt) {
                for (let $t = 0; $t < it.length; $t++)
                    if (!Tt(it[$t], Rt[$t])) return !0;
                return !1
            }

            function br(it, Rt = Pi, Tt = Pi) {
                let cn, $t = null,
                    xn = null;
                return {
                    memoized: function Ki() {
                        if (void 0 !== cn) return cn.result;
                        if (!$t) return xn = it.apply(null, arguments), $t = arguments, xn;
                        if (!To(arguments, $t, Rt)) return xn;
                        const Gr = it.apply(null, arguments);
                        return $t = arguments, Tt(xn, Gr) ? xn : (xn = Gr, Gr)
                    },
                    reset: function Tr() {
                        $t = null, xn = null
                    },
                    setResult: function li(Gr) {
                        cn = {
                            result: Gr
                        }
                    },
                    clearResult: function mi() {
                        cn = void 0
                    }
                }
            }

            function Er(...it) {
                return function zr(it, Rt = {
                    stateFn: jr
                }) {
                    return function(...Tt) {
                        let $t = Tt;
                        if (Array.isArray($t[0])) {
                            const [Gr, ...ei] = $t;
                            $t = [...Gr, ...ei]
                        }
                        const xn = $t.slice(0, $t.length - 1),
                            cn = $t[$t.length - 1],
                            Tr = xn.filter(Gr => Gr.release && "function" == typeof Gr.release),
                            li = it(function(...Gr) {
                                return cn.apply(null, Gr)
                            }),
                            mi = br(function(Gr, ei) {
                                return Rt.stateFn.apply(null, [Gr, xn, ei, li])
                            });
                        return Object.assign(mi.memoized, {
                            release: function Ki() {
                                mi.reset(), li.reset(), Tr.forEach(Gr => Gr.release())
                            },
                            projector: li.memoized,
                            setResult: mi.setResult,
                            clearResult: mi.clearResult
                        })
                    }
                }(br)(...it)
            }

            function jr(it, Rt, Tt, $t) {
                if (void 0 === Tt) {
                    const cn = Rt.map(Tr => Tr(it));
                    return $t.memoized.apply(null, cn)
                }
                const xn = Rt.map(cn => cn(it, Tt));
                return $t.memoized.apply(null, [...xn, Tt])
            }

            function Fr(it) {
                return Er(Rt => {
                    const Tt = Rt[it];
                    return (0, t.X6Q)() && !(it in Rt) && console.warn(`@ngrx/store: The feature name "${it}" does not exist in the state, therefore createFeatureSelector cannot access it.  Be sure it is imported in a loaded module using StoreModule.forRoot('${it}', ...) or StoreModule.forFeature('${it}', ...).  If the default state is intended to be undefined, as is the case with router state, this development-only warning message can be ignored.`), Tt
                }, Rt => Rt)
            }

            function ae(it, Rt) {
                return Rt instanceof t.OlP ? it.get(Rt) : Rt
            }

            function Xe(it, Rt, Tt) {
                return Tt.map(($t, xn) => {
                    if (Rt[xn] instanceof t.OlP) {
                        const cn = it.get(Rt[xn]);
                        return {
                            key: $t.key,
                            reducerFactory: cn.reducerFactory ? cn.reducerFactory : _n,
                            metaReducers: cn.metaReducers ? cn.metaReducers : [],
                            initialState: cn.initialState
                        }
                    }
                    return $t
                })
            }

            function Dt(it, Rt) {
                return Rt.map($t => $t instanceof t.OlP ? it.get($t) : $t)
            }

            function Xt(it) {
                return "function" == typeof it ? it() : it
            }

            function dn(it, Rt) {
                return it.concat(Rt)
            }

            function er(it) {
                if (it) throw new TypeError("The root Store has been provided more than once. Feature modules should provide feature states instead.");
                return "guarded"
            }

            function Tn(it) {
                Object.freeze(it);
                const Rt = hr(it);
                return Object.getOwnPropertyNames(it).forEach(Tt => {
                    if (!Tt.startsWith("\u0275") && function Si(it, Rt) {
                            return Object.prototype.hasOwnProperty.call(it, Rt)
                        }(it, Tt) && (!Rt || "caller" !== Tt && "callee" !== Tt && "arguments" !== Tt)) {
                        const $t = it[Tt];
                        (Kn($t) || hr($t)) && !Object.isFrozen($t) && Tn($t)
                    }
                }), it
            }

            function bi(it, Rt = []) {
                return (sn(it) || cr(it)) && 0 === Rt.length ? {
                    path: ["root"],
                    value: it
                } : Object.keys(it).reduce(($t, xn) => {
                    if ($t) return $t;
                    const cn = it[xn];
                    return function ai(it) {
                        return hr(it) && it.hasOwnProperty("\u0275cmp")
                    }(cn) ? $t : !(sn(cn) || cr(cn) || function In(it) {
                        return "number" == typeof it
                    }(cn) || function Yn(it) {
                        return "boolean" == typeof it
                    }(cn) || function wr(it) {
                        return "string" == typeof it
                    }(cn) || Jn(cn)) && (function Jr(it) {
                        if (! function si(it) {
                                return Kn(it) && !Jn(it)
                            }(it)) return !1;
                        const Rt = Object.getPrototypeOf(it);
                        return Rt === Object.prototype || null === Rt
                    }(cn) ? bi(cn, [...Rt, xn]) : {
                        path: [...Rt, xn],
                        value: cn
                    })
                }, !1)
            }

            function ji(it, Rt) {
                if (!1 === it) return;
                const Tt = it.path.join("."),
                    $t = new Error(`Detected unserializable ${Rt} at "${Tt}". ${Xn}#strict${Rt}serializability`);
                throw $t.value = it.value, $t.unserializablePath = Tt, $t
            }

            function Ue(it) {
                return (0, t.X6Q)() ? {
                    strictStateSerializability: !1,
                    strictActionSerializability: !1,
                    strictStateImmutability: !0,
                    strictActionImmutability: !0,
                    strictActionWithinNgZone: !1,
                    strictActionTypeUniqueness: !1,
                    ...it
                } : {
                    strictStateSerializability: !1,
                    strictActionSerializability: !1,
                    strictStateImmutability: !1,
                    strictActionImmutability: !1,
                    strictActionWithinNgZone: !1,
                    strictActionTypeUniqueness: !1
                }
            }

            function Le({
                strictActionSerializability: it,
                strictStateSerializability: Rt
            }) {
                return Tt => it || Rt ? function Lr(it, Rt) {
                    return function(Tt, $t) {
                        Rt.action($t) && ji(bi($t), "action");
                        const xn = it(Tt, $t);
                        return Rt.state() && ji(bi(xn), "state"), xn
                    }
                }(Tt, {
                    action: $t => it && !zt($t),
                    state: () => Rt
                }) : Tt
            }

            function ot({
                strictActionImmutability: it,
                strictStateImmutability: Rt
            }) {
                return Tt => it || Rt ? function Kr(it, Rt) {
                    return function(Tt, $t) {
                        const xn = Rt.action($t) ? Tn($t) : $t,
                            cn = it(Tt, xn);
                        return Rt.state() ? Tn(cn) : cn
                    }
                }(Tt, {
                    action: $t => it && !zt($t),
                    state: () => Rt
                }) : Tt
            }

            function zt(it) {
                return it.type.startsWith("@ngrx")
            }

            function Ht({
                strictActionWithinNgZone: it
            }) {
                return Rt => it ? function ye(it, Rt) {
                    return function(Tt, $t) {
                        if (Rt.action($t) && !t.R0b.isInAngularZone()) throw new Error(`Action '${$t.type}' running outside NgZone. ${Xn}#strictactionwithinngzone`);
                        return it(Tt, $t)
                    }
                }(Rt, {
                    action: Tt => it && !zt(Tt)
                }) : Rt
            }

            function an(it) {
                return [{
                    provide: vt,
                    useValue: it
                }, {
                    provide: ct,
                    useFactory: yn,
                    deps: [vt]
                }, {
                    provide: Qt,
                    deps: [ct],
                    useFactory: Ue
                }, {
                    provide: Fe,
                    multi: !0,
                    deps: [Qt],
                    useFactory: ot
                }, {
                    provide: Fe,
                    multi: !0,
                    deps: [Qt],
                    useFactory: Le
                }, {
                    provide: Fe,
                    multi: !0,
                    deps: [Qt],
                    useFactory: Ht
                }]
            }

            function Kt() {
                return [{
                    provide: Ge,
                    multi: !0,
                    deps: [Qt],
                    useFactory: Zn
                }]
            }

            function yn(it) {
                return it
            }

            function Zn(it) {
                if (!it.strictActionTypeUniqueness) return;
                const Rt = Object.entries(k).filter(([, Tt]) => Tt > 1).map(([Tt]) => Tt);
                if (Rt.length) throw new Error(`Action types are registered more than once, ${Rt.map(Tt=>`"${Tt}"`).join(", ")}. ${Xn}#strictactiontypeuniqueness`)
            }

            function Ur(it, Rt) {
                return [{
                    provide: Je,
                    useFactory: er,
                    deps: [
                        [jt, new t.FiY, new t.tp0]
                    ]
                }, {
                    provide: ue,
                    useValue: Rt.initialState
                }, {
                    provide: Me,
                    useFactory: Xt,
                    deps: [ue]
                }, {
                    provide: xt,
                    useValue: it
                }, {
                    provide: St,
                    useExisting: it instanceof t.OlP ? it : xt
                }, {
                    provide: He,
                    deps: [t.zs3, xt, [new t.tBr(St)]],
                    useFactory: ae
                }, {
                    provide: fe,
                    useValue: Rt.metaReducers ? Rt.metaReducers : []
                }, {
                    provide: at,
                    deps: [Fe, fe],
                    useFactory: dn
                }, {
                    provide: Be,
                    useValue: Rt.reducerFactory ? Rt.reducerFactory : _n
                }, {
                    provide: Ke,
                    deps: [Be, at],
                    useFactory: kn
                }, ke, Qn, Mr, Pt, on, an(Rt.runtimeChecks), Kt()]
            }

            function $r(it, Rt, Tt = {}) {
                return [{
                    provide: ht,
                    multi: !0,
                    useValue: it instanceof Object ? {} : Tt
                }, {
                    provide: kt,
                    multi: !0,
                    useValue: {
                        key: it instanceof Object ? it.name : it,
                        reducerFactory: Tt instanceof t.OlP || !Tt.reducerFactory ? _n : Tt.reducerFactory,
                        metaReducers: Tt instanceof t.OlP || !Tt.metaReducers ? [] : Tt.metaReducers,
                        initialState: Tt instanceof t.OlP || !Tt.initialState ? void 0 : Tt.initialState
                    }
                }, {
                    provide: Pe,
                    deps: [t.zs3, ht, kt],
                    useFactory: Xe
                }, {
                    provide: Ct,
                    multi: !0,
                    useValue: it instanceof Object ? it.reducer : Rt
                }, {
                    provide: De,
                    multi: !0,
                    useExisting: Rt instanceof t.OlP ? Rt : Ct
                }, {
                    provide: J,
                    multi: !0,
                    deps: [t.zs3, Ct, [new t.tBr(De)]],
                    useFactory: Dt
                }, Kt()]
            }
            let hi = (() => {
                    class it {
                        constructor(Tt, $t, xn, cn, Tr, li) {}
                    }
                    return it.\u0275fac = function(Tt) {
                        return new(Tt || it)(t.LFG(we), t.LFG(tn), t.LFG(_r), t.LFG(jt), t.LFG(Je, 8), t.LFG(Ge, 8))
                    }, it.\u0275mod = t.oAB({
                        type: it
                    }), it.\u0275inj = t.cJS({}), it
                })(),
                ls = (() => {
                    class it {
                        constructor(Tt, $t, xn, cn, Tr) {
                            this.features = Tt, this.featureReducers = $t, this.reducerManager = xn;
                            const li = Tt.map((mi, Ki) => {
                                const ei = $t.shift()[Ki];
                                return { ...mi,
                                    reducers: ei,
                                    initialState: Xt(mi.initialState)
                                }
                            });
                            xn.addFeatures(li)
                        }
                        ngOnDestroy() {
                            this.reducerManager.removeFeatures(this.features)
                        }
                    }
                    return it.\u0275fac = function(Tt) {
                        return new(Tt || it)(t.LFG(Pe), t.LFG(J), t.LFG(Rn), t.LFG(hi), t.LFG(Ge, 8))
                    }, it.\u0275mod = t.oAB({
                        type: it
                    }), it.\u0275inj = t.cJS({}), it
                })(),
                Ho = (() => {
                    class it {
                        static forRoot(Tt, $t = {}) {
                            return {
                                ngModule: hi,
                                providers: [...Ur(Tt, $t)]
                            }
                        }
                        static forFeature(Tt, $t, xn = {}) {
                            return {
                                ngModule: ls,
                                providers: [...$r(Tt, $t, xn)]
                            }
                        }
                    }
                    return it.\u0275fac = function(Tt) {
                        return new(Tt || it)
                    }, it.\u0275mod = t.oAB({
                        type: it
                    }), it.\u0275inj = t.cJS({}), it
                })();

            function Oo(...it) {
                return {
                    reducer: it.pop(),
                    types: it.map($t => $t.type)
                }
            }

            function to(it, ...Rt) {
                const Tt = new Map;
                for (const $t of Rt)
                    for (const xn of $t.types) {
                        const cn = Tt.get(xn);
                        Tt.set(xn, cn ? (li, mi) => $t.reducer(cn(li, mi), mi) : $t.reducer)
                    }
                return function($t = it, xn) {
                    const cn = Tt.get(xn.type);
                    return cn ? cn($t, xn) : $t
                }
            }
        },
        3416: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Zw: () => Te,
                aw: () => ht,
                X$: () => Ct,
                sK: () => kt
            });
            var t = _(4650),
                r = _(9646),
                U = _(9751),
                C = _(576);

            function x(Pe) {
                return !!Pe && (Pe instanceof U.y || (0, C.m)(Pe.lift) && (0, C.m)(Pe.subscribe))
            }
            var V = _(4128),
                P = _(7272),
                $ = _(9770),
                K = _(5698),
                G = _(4707),
                F = _(3099);

            function k(Pe, De, J) {
                let fe, Fe = !1;
                return Pe && "object" == typeof Pe ? ({
                    bufferSize: fe = 1 / 0,
                    windowTime: De = 1 / 0,
                    refCount: Fe = !1,
                    scheduler: J
                } = Pe) : fe = Pe ? ? 1 / 0, (0, F.B)({
                    connector: () => new G.t(fe, De, J),
                    resetOnError: !0,
                    resetOnComplete: !1,
                    resetOnRefCountZero: Fe
                })
            }
            var B = _(4004),
                le = _(4351),
                oe = _(3900);
            class Te {}
            let Ae = (() => {
                class Pe extends Te {
                    getTranslation(J) {
                        return (0, r.of)({})
                    }
                }
                return Pe.\u0275fac = function() {
                    let De;
                    return function(fe) {
                        return (De || (De = t.n5z(Pe)))(fe || Pe)
                    }
                }(), Pe.\u0275prov = t.Yz7({
                    token: Pe,
                    factory: Pe.\u0275fac
                }), Pe
            })();
            class ce {}
            let be = (() => {
                class Pe {
                    handle(J) {
                        return J.key
                    }
                }
                return Pe.\u0275fac = function(J) {
                    return new(J || Pe)
                }, Pe.\u0275prov = t.Yz7({
                    token: Pe,
                    factory: Pe.\u0275fac
                }), Pe
            })();

            function je(Pe, De) {
                if (Pe === De) return !0;
                if (null === Pe || null === De) return !1;
                if (Pe != Pe && De != De) return !0;
                let Fe, at, ct, J = typeof Pe;
                if (J == typeof De && "object" == J) {
                    if (!Array.isArray(Pe)) {
                        if (Array.isArray(De)) return !1;
                        for (at in ct = Object.create(null), Pe) {
                            if (!je(Pe[at], De[at])) return !1;
                            ct[at] = !0
                        }
                        for (at in De)
                            if (!(at in ct) && typeof De[at] < "u") return !1;
                        return !0
                    }
                    if (!Array.isArray(De)) return !1;
                    if ((Fe = Pe.length) == De.length) {
                        for (at = 0; at < Fe; at++)
                            if (!je(Pe[at], De[at])) return !1;
                        return !0
                    }
                }
                return !1
            }

            function me(Pe) {
                return typeof Pe < "u" && null !== Pe
            }

            function ge(Pe) {
                return Pe && "object" == typeof Pe && !Array.isArray(Pe)
            }

            function _e(Pe, De) {
                let J = Object.assign({}, Pe);
                return ge(Pe) && ge(De) && Object.keys(De).forEach(fe => {
                    ge(De[fe]) ? fe in Pe ? J[fe] = _e(Pe[fe], De[fe]) : Object.assign(J, {
                        [fe]: De[fe]
                    }) : Object.assign(J, {
                        [fe]: De[fe]
                    })
                }), J
            }
            class we {}
            let ke = (() => {
                class Pe extends we {
                    constructor() {
                        super(...arguments), this.templateMatcher = /{{\s?([^{}\s]*)\s?}}/g
                    }
                    interpolate(J, fe) {
                        let Fe;
                        return Fe = "string" == typeof J ? this.interpolateString(J, fe) : "function" == typeof J ? this.interpolateFunction(J, fe) : J, Fe
                    }
                    getValue(J, fe) {
                        let Fe = "string" == typeof fe ? fe.split(".") : [fe];
                        fe = "";
                        do {
                            fe += Fe.shift(), !me(J) || !me(J[fe]) || "object" != typeof J[fe] && Fe.length ? Fe.length ? fe += "." : J = void 0 : (J = J[fe], fe = "")
                        } while (Fe.length);
                        return J
                    }
                    interpolateFunction(J, fe) {
                        return J(fe)
                    }
                    interpolateString(J, fe) {
                        return fe ? J.replace(this.templateMatcher, (Fe, at) => {
                            let ct = this.getValue(fe, at);
                            return me(ct) ? ct : Fe
                        }) : J
                    }
                }
                return Pe.\u0275fac = function() {
                    let De;
                    return function(fe) {
                        return (De || (De = t.n5z(Pe)))(fe || Pe)
                    }
                }(), Pe.\u0275prov = t.Yz7({
                    token: Pe,
                    factory: Pe.\u0275fac
                }), Pe
            })();
            class Je {}
            let ue = (() => {
                class Pe extends Je {
                    compile(J, fe) {
                        return J
                    }
                    compileTranslations(J, fe) {
                        return J
                    }
                }
                return Pe.\u0275fac = function() {
                    let De;
                    return function(fe) {
                        return (De || (De = t.n5z(Pe)))(fe || Pe)
                    }
                }(), Pe.\u0275prov = t.Yz7({
                    token: Pe,
                    factory: Pe.\u0275fac
                }), Pe
            })();
            class Me {
                constructor() {
                    this.currentLang = this.defaultLang, this.translations = {}, this.langs = [], this.onTranslationChange = new t.vpe, this.onLangChange = new t.vpe, this.onDefaultLangChange = new t.vpe
                }
            }
            const Ke = new t.OlP("USE_STORE"),
                Be = new t.OlP("USE_DEFAULT_LANG"),
                He = new t.OlP("DEFAULT_LANGUAGE"),
                xt = new t.OlP("USE_EXTEND");
            let kt = (() => {
                    class Pe {
                        constructor(J, fe, Fe, at, ct, vt = !0, Qt = !1, Ge = !1, mt) {
                            this.store = J, this.currentLoader = fe, this.compiler = Fe, this.parser = at, this.missingTranslationHandler = ct, this.useDefaultLang = vt, this.isolate = Qt, this.extend = Ge, this.pending = !1, this._onTranslationChange = new t.vpe, this._onLangChange = new t.vpe, this._onDefaultLangChange = new t.vpe, this._langs = [], this._translations = {}, this._translationRequests = {}, mt && this.setDefaultLang(mt)
                        }
                        get onTranslationChange() {
                            return this.isolate ? this._onTranslationChange : this.store.onTranslationChange
                        }
                        get onLangChange() {
                            return this.isolate ? this._onLangChange : this.store.onLangChange
                        }
                        get onDefaultLangChange() {
                            return this.isolate ? this._onDefaultLangChange : this.store.onDefaultLangChange
                        }
                        get defaultLang() {
                            return this.isolate ? this._defaultLang : this.store.defaultLang
                        }
                        set defaultLang(J) {
                            this.isolate ? this._defaultLang = J : this.store.defaultLang = J
                        }
                        get currentLang() {
                            return this.isolate ? this._currentLang : this.store.currentLang
                        }
                        set currentLang(J) {
                            this.isolate ? this._currentLang = J : this.store.currentLang = J
                        }
                        get langs() {
                            return this.isolate ? this._langs : this.store.langs
                        }
                        set langs(J) {
                            this.isolate ? this._langs = J : this.store.langs = J
                        }
                        get translations() {
                            return this.isolate ? this._translations : this.store.translations
                        }
                        set translations(J) {
                            this.isolate ? this._translations = J : this.store.translations = J
                        }
                        setDefaultLang(J) {
                            if (J === this.defaultLang) return;
                            let fe = this.retrieveTranslations(J);
                            typeof fe < "u" ? (null == this.defaultLang && (this.defaultLang = J), fe.pipe((0, K.q)(1)).subscribe(Fe => {
                                this.changeDefaultLang(J)
                            })) : this.changeDefaultLang(J)
                        }
                        getDefaultLang() {
                            return this.defaultLang
                        }
                        use(J) {
                            if (J === this.currentLang) return (0, r.of)(this.translations[J]);
                            let fe = this.retrieveTranslations(J);
                            return typeof fe < "u" ? (this.currentLang || (this.currentLang = J), fe.pipe((0, K.q)(1)).subscribe(Fe => {
                                this.changeLang(J)
                            }), fe) : (this.changeLang(J), (0, r.of)(this.translations[J]))
                        }
                        retrieveTranslations(J) {
                            let fe;
                            return (typeof this.translations[J] > "u" || this.extend) && (this._translationRequests[J] = this._translationRequests[J] || this.getTranslation(J), fe = this._translationRequests[J]), fe
                        }
                        getTranslation(J) {
                            this.pending = !0;
                            const fe = this.currentLoader.getTranslation(J).pipe(k(1), (0, K.q)(1));
                            return this.loadingTranslations = fe.pipe((0, B.U)(Fe => this.compiler.compileTranslations(Fe, J)), k(1), (0, K.q)(1)), this.loadingTranslations.subscribe({
                                next: Fe => {
                                    this.translations[J] = this.extend && this.translations[J] ? { ...Fe,
                                        ...this.translations[J]
                                    } : Fe, this.updateLangs(), this.pending = !1
                                },
                                error: Fe => {
                                    this.pending = !1
                                }
                            }), fe
                        }
                        setTranslation(J, fe, Fe = !1) {
                            fe = this.compiler.compileTranslations(fe, J), this.translations[J] = (Fe || this.extend) && this.translations[J] ? _e(this.translations[J], fe) : fe, this.updateLangs(), this.onTranslationChange.emit({
                                lang: J,
                                translations: this.translations[J]
                            })
                        }
                        getLangs() {
                            return this.langs
                        }
                        addLangs(J) {
                            J.forEach(fe => {
                                -1 === this.langs.indexOf(fe) && this.langs.push(fe)
                            })
                        }
                        updateLangs() {
                            this.addLangs(Object.keys(this.translations))
                        }
                        getParsedResult(J, fe, Fe) {
                            let at;
                            if (fe instanceof Array) {
                                let ct = {},
                                    vt = !1;
                                for (let Qt of fe) ct[Qt] = this.getParsedResult(J, Qt, Fe), x(ct[Qt]) && (vt = !0);
                                if (vt) {
                                    const Qt = fe.map(Ge => x(ct[Ge]) ? ct[Ge] : (0, r.of)(ct[Ge]));
                                    return (0, V.D)(Qt).pipe((0, B.U)(Ge => {
                                        let mt = {};
                                        return Ge.forEach((Lt, _n) => {
                                            mt[fe[_n]] = Lt
                                        }), mt
                                    }))
                                }
                                return ct
                            }
                            if (J && (at = this.parser.interpolate(this.parser.getValue(J, fe), Fe)), typeof at > "u" && null != this.defaultLang && this.defaultLang !== this.currentLang && this.useDefaultLang && (at = this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang], fe), Fe)), typeof at > "u") {
                                let ct = {
                                    key: fe,
                                    translateService: this
                                };
                                typeof Fe < "u" && (ct.interpolateParams = Fe), at = this.missingTranslationHandler.handle(ct)
                            }
                            return typeof at < "u" ? at : fe
                        }
                        get(J, fe) {
                            if (!me(J) || !J.length) throw new Error('Parameter "key" required');
                            if (this.pending) return this.loadingTranslations.pipe((0, le.b)(Fe => x(Fe = this.getParsedResult(Fe, J, fe)) ? Fe : (0, r.of)(Fe))); {
                                let Fe = this.getParsedResult(this.translations[this.currentLang], J, fe);
                                return x(Fe) ? Fe : (0, r.of)(Fe)
                            }
                        }
                        getStreamOnTranslationChange(J, fe) {
                            if (!me(J) || !J.length) throw new Error('Parameter "key" required');
                            return (0, P.z)((0, $.P)(() => this.get(J, fe)), this.onTranslationChange.pipe((0, oe.w)(Fe => {
                                const at = this.getParsedResult(Fe.translations, J, fe);
                                return "function" == typeof at.subscribe ? at : (0, r.of)(at)
                            })))
                        }
                        stream(J, fe) {
                            if (!me(J) || !J.length) throw new Error('Parameter "key" required');
                            return (0, P.z)((0, $.P)(() => this.get(J, fe)), this.onLangChange.pipe((0, oe.w)(Fe => {
                                const at = this.getParsedResult(Fe.translations, J, fe);
                                return x(at) ? at : (0, r.of)(at)
                            })))
                        }
                        instant(J, fe) {
                            if (!me(J) || !J.length) throw new Error('Parameter "key" required');
                            let Fe = this.getParsedResult(this.translations[this.currentLang], J, fe);
                            if (x(Fe)) {
                                if (J instanceof Array) {
                                    let at = {};
                                    return J.forEach((ct, vt) => {
                                        at[J[vt]] = J[vt]
                                    }), at
                                }
                                return J
                            }
                            return Fe
                        }
                        set(J, fe, Fe = this.currentLang) {
                            this.translations[Fe][J] = this.compiler.compile(fe, Fe), this.updateLangs(), this.onTranslationChange.emit({
                                lang: Fe,
                                translations: this.translations[Fe]
                            })
                        }
                        changeLang(J) {
                            this.currentLang = J, this.onLangChange.emit({
                                lang: J,
                                translations: this.translations[J]
                            }), null == this.defaultLang && this.changeDefaultLang(J)
                        }
                        changeDefaultLang(J) {
                            this.defaultLang = J, this.onDefaultLangChange.emit({
                                lang: J,
                                translations: this.translations[J]
                            })
                        }
                        reloadLang(J) {
                            return this.resetLang(J), this.getTranslation(J)
                        }
                        resetLang(J) {
                            this._translationRequests[J] = void 0, this.translations[J] = void 0
                        }
                        getBrowserLang() {
                            if (typeof window > "u" || typeof window.navigator > "u") return;
                            let J = window.navigator.languages ? window.navigator.languages[0] : null;
                            return J = J || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage, typeof J > "u" ? void 0 : (-1 !== J.indexOf("-") && (J = J.split("-")[0]), -1 !== J.indexOf("_") && (J = J.split("_")[0]), J)
                        }
                        getBrowserCultureLang() {
                            if (typeof window > "u" || typeof window.navigator > "u") return;
                            let J = window.navigator.languages ? window.navigator.languages[0] : null;
                            return J = J || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage, J
                        }
                    }
                    return Pe.\u0275fac = function(J) {
                        return new(J || Pe)(t.LFG(Me), t.LFG(Te), t.LFG(Je), t.LFG(we), t.LFG(ce), t.LFG(Be), t.LFG(Ke), t.LFG(xt), t.LFG(He))
                    }, Pe.\u0275prov = t.Yz7({
                        token: Pe,
                        factory: Pe.\u0275fac
                    }), Pe
                })(),
                Ct = (() => {
                    class Pe {
                        constructor(J, fe) {
                            this.translate = J, this._ref = fe, this.value = "", this.lastKey = null, this.lastParams = []
                        }
                        updateValue(J, fe, Fe) {
                            let at = ct => {
                                this.value = void 0 !== ct ? ct : J, this.lastKey = J, this._ref.markForCheck()
                            };
                            if (Fe) {
                                let ct = this.translate.getParsedResult(Fe, J, fe);
                                x(ct.subscribe) ? ct.subscribe(at) : at(ct)
                            }
                            this.translate.get(J, fe).subscribe(at)
                        }
                        transform(J, ...fe) {
                            if (!J || !J.length) return J;
                            if (je(J, this.lastKey) && je(fe, this.lastParams)) return this.value;
                            let Fe;
                            if (me(fe[0]) && fe.length)
                                if ("string" == typeof fe[0] && fe[0].length) {
                                    let at = fe[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g, '"$2":').replace(/:(\s)?(\')(.*?)(\')/g, ':"$3"');
                                    try {
                                        Fe = JSON.parse(at)
                                    } catch {
                                        throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${fe[0]}`)
                                    }
                                } else "object" == typeof fe[0] && !Array.isArray(fe[0]) && (Fe = fe[0]);
                            return this.lastKey = J, this.lastParams = fe, this.updateValue(J, Fe), this._dispose(), this.onTranslationChange || (this.onTranslationChange = this.translate.onTranslationChange.subscribe(at => {
                                this.lastKey && at.lang === this.translate.currentLang && (this.lastKey = null, this.updateValue(J, Fe, at.translations))
                            })), this.onLangChange || (this.onLangChange = this.translate.onLangChange.subscribe(at => {
                                this.lastKey && (this.lastKey = null, this.updateValue(J, Fe, at.translations))
                            })), this.onDefaultLangChange || (this.onDefaultLangChange = this.translate.onDefaultLangChange.subscribe(() => {
                                this.lastKey && (this.lastKey = null, this.updateValue(J, Fe))
                            })), this.value
                        }
                        _dispose() {
                            typeof this.onTranslationChange < "u" && (this.onTranslationChange.unsubscribe(), this.onTranslationChange = void 0), typeof this.onLangChange < "u" && (this.onLangChange.unsubscribe(), this.onLangChange = void 0), typeof this.onDefaultLangChange < "u" && (this.onDefaultLangChange.unsubscribe(), this.onDefaultLangChange = void 0)
                        }
                        ngOnDestroy() {
                            this._dispose()
                        }
                    }
                    return Pe.\u0275fac = function(J) {
                        return new(J || Pe)(t.Y36(kt, 16), t.Y36(t.sBO, 16))
                    }, Pe.\u0275pipe = t.Yjl({
                        name: "translate",
                        type: Pe,
                        pure: !1
                    }), Pe.\u0275prov = t.Yz7({
                        token: Pe,
                        factory: Pe.\u0275fac
                    }), Pe
                })(),
                ht = (() => {
                    class Pe {
                        static forRoot(J = {}) {
                            return {
                                ngModule: Pe,
                                providers: [J.loader || {
                                    provide: Te,
                                    useClass: Ae
                                }, J.compiler || {
                                    provide: Je,
                                    useClass: ue
                                }, J.parser || {
                                    provide: we,
                                    useClass: ke
                                }, J.missingTranslationHandler || {
                                    provide: ce,
                                    useClass: be
                                }, Me, {
                                    provide: Ke,
                                    useValue: J.isolate
                                }, {
                                    provide: Be,
                                    useValue: J.useDefaultLang
                                }, {
                                    provide: xt,
                                    useValue: J.extend
                                }, {
                                    provide: He,
                                    useValue: J.defaultLanguage
                                }, kt]
                            }
                        }
                        static forChild(J = {}) {
                            return {
                                ngModule: Pe,
                                providers: [J.loader || {
                                    provide: Te,
                                    useClass: Ae
                                }, J.compiler || {
                                    provide: Je,
                                    useClass: ue
                                }, J.parser || {
                                    provide: we,
                                    useClass: ke
                                }, J.missingTranslationHandler || {
                                    provide: ce,
                                    useClass: be
                                }, {
                                    provide: Ke,
                                    useValue: J.isolate
                                }, {
                                    provide: Be,
                                    useValue: J.useDefaultLang
                                }, {
                                    provide: xt,
                                    useValue: J.extend
                                }, {
                                    provide: He,
                                    useValue: J.defaultLanguage
                                }, kt]
                            }
                        }
                    }
                    return Pe.\u0275fac = function(J) {
                        return new(J || Pe)
                    }, Pe.\u0275mod = t.oAB({
                        type: Pe
                    }), Pe.\u0275inj = t.cJS({}), Pe
                })()
        },
        640: (Re, he, _) => {
            "use strict";
            _.d(he, {
                u_: () => _e,
                fI: () => Me,
                NM: () => ht,
                dF: () => Je
            });
            var t = _(4650),
                r = _(7799),
                U = _(6895),
                C = _(6583),
                x = _(9300),
                V = _(5577),
                P = _(1135);
            const k = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,
                B = Pe => {
                    if ("string" != typeof Pe) throw new TypeError("Invalid argument expected string");
                    const De = Pe.match(k);
                    if (!De) throw new Error(`Invalid argument not valid semver ('${Pe}' received)`);
                    return De.shift(), De
                },
                le = Pe => "*" === Pe || "x" === Pe || "X" === Pe,
                oe = Pe => {
                    const De = parseInt(Pe, 10);
                    return isNaN(De) ? Pe : De
                },
                Ae = (Pe, De) => {
                    if (le(Pe) || le(De)) return 0;
                    const [J, fe] = ((Pe, De) => typeof Pe != typeof De ? [String(Pe), String(De)] : [Pe, De])(oe(Pe), oe(De));
                    return J > fe ? 1 : J < fe ? -1 : 0
                },
                ce = (Pe, De) => {
                    for (let J = 0; J < Math.max(Pe.length, De.length); J++) {
                        const fe = Ae(Pe[J] || "0", De[J] || "0");
                        if (0 !== fe) return fe
                    }
                    return 0
                },
                be = {
                    ">": [1],
                    ">=": [0, 1],
                    "=": [0],
                    "<=": [-1, 0],
                    "<": [-1]
                },
                je = Object.keys(be),
                me = Pe => {
                    if ("string" != typeof Pe) throw new TypeError("Invalid operator type, expected string but got " + typeof Pe);
                    if (-1 === je.indexOf(Pe)) throw new Error(`Invalid operator, expected one of ${je.join("|")}`)
                },
                ge = new t.OlP("okta.config.angular"),
                _e = new t.OlP("okta.auth");
            let we = (() => {
                class Pe {
                    constructor(J) {
                        J && (this.config = J)
                    }
                    getConfig() {
                        return this.config
                    }
                    setConfig(J) {
                        this.config = J
                    }
                }
                return Pe.\u0275fac = function(J) {
                    return new(J || Pe)(t.LFG(ge, 8))
                }, Pe.\u0275prov = t.Yz7({
                    token: Pe,
                    factory: Pe.\u0275fac,
                    providedIn: "root"
                }), Pe
            })();
            let Je = (() => {
                class Pe {
                    constructor(J, fe, Fe) {
                        this.configService = J, this.oktaAuth = fe, this.injector = Fe
                    }
                    ngOnInit() {
                        return function(Pe, De, J, fe) {
                            return new(J || (J = Promise))(function(at, ct) {
                                function vt(mt) {
                                    try {
                                        Ge(fe.next(mt))
                                    } catch (Lt) {
                                        ct(Lt)
                                    }
                                }

                                function Qt(mt) {
                                    try {
                                        Ge(fe.throw(mt))
                                    } catch (Lt) {
                                        ct(Lt)
                                    }
                                }

                                function Ge(mt) {
                                    mt.done ? at(mt.value) : function Fe(at) {
                                        return at instanceof J ? at : new J(function(ct) {
                                            ct(at)
                                        })
                                    }(mt.value).then(vt, Qt)
                                }
                                Ge((fe = fe.apply(Pe, De || [])).next())
                            })
                        }(this, void 0, void 0, function*() {
                            const J = this.configService.getConfig();
                            if (!J) throw new Error("Okta config is not provided");
                            try {
                                yield this.oktaAuth.handleLoginRedirect()
                            } catch (fe) {
                                if ((this.oktaAuth.isInteractionRequiredError || this.oktaAuth.idx.isInteractionRequiredError)(fe) && this.injector) {
                                    const {
                                        onAuthResume: at,
                                        onAuthRequired: ct
                                    } = J, vt = at || ct;
                                    if (vt) return void vt(this.oktaAuth, this.injector)
                                }
                                this.error = fe.toString()
                            }
                        })
                    }
                }
                return Pe.\u0275fac = function(J) {
                    return new(J || Pe)(t.Y36(we), t.Y36(_e), t.Y36(t.zs3, 8))
                }, Pe.\u0275cmp = t.Xpm({
                    type: Pe,
                    selectors: [
                        ["ng-component"]
                    ],
                    decls: 2,
                    vars: 1,
                    template: function(J, fe) {
                        1 & J && (t.TgZ(0, "div"), t._uU(1), t.qZA()), 2 & J && (t.xp6(1), t.Oqu(fe.error))
                    },
                    encapsulation: 2
                }), Pe
            })();
            var ue = function(Pe, De, J, fe) {
                return new(J || (J = Promise))(function(at, ct) {
                    function vt(mt) {
                        try {
                            Ge(fe.next(mt))
                        } catch (Lt) {
                            ct(Lt)
                        }
                    }

                    function Qt(mt) {
                        try {
                            Ge(fe.throw(mt))
                        } catch (Lt) {
                            ct(Lt)
                        }
                    }

                    function Ge(mt) {
                        mt.done ? at(mt.value) : function Fe(at) {
                            return at instanceof J ? at : new J(function(ct) {
                                ct(at)
                            })
                        }(mt.value).then(vt, Qt)
                    }
                    Ge((fe = fe.apply(Pe, De || [])).next())
                })
            };
            let Me = (() => {
                class Pe {
                    constructor(J, fe, Fe) {
                        this.oktaAuth = J, this.injector = fe, this.configService = Fe, this.updateAuthStateListener = vt => ue(this, void 0, void 0, function*() {
                            (yield this.isAuthenticated(this.routeData, vt)) || this.handleLogin(this.state.url, this.routeData)
                        });
                        const at = this.configService.getConfig();
                        if (!at) throw new Error("Okta config is not provided");
                        this.onAuthRequired = at.onAuthRequired, fe.get(r.F0).events.pipe((0, x.h)(vt => vt instanceof r.OD && this.state && this.state.url !== vt.url)).subscribe(() => {
                            this.oktaAuth.authStateManager.unsubscribe(this.updateAuthStateListener)
                        })
                    }
                    canLoad(J) {
                        var fe;
                        return ue(this, void 0, void 0, function*() {
                            if (this.onAuthRequired = (null === (fe = J.data) || void 0 === fe ? void 0 : fe.onAuthRequired) || this.onAuthRequired, yield this.isAuthenticated(J.data)) return !0;
                            const ct = this.injector.get(r.F0).getCurrentNavigation(),
                                vt = ct ? ct.extractedUrl.toString() : void 0;
                            return yield this.handleLogin(vt, J.data), !1
                        })
                    }
                    canActivate(J, fe) {
                        return ue(this, void 0, void 0, function*() {
                            return this.state = fe, this.routeData = J.data, this.onAuthRequired = J.data && J.data.onAuthRequired || this.onAuthRequired, this.oktaAuth.authStateManager.subscribe(this.updateAuthStateListener), !!(yield this.isAuthenticated(J.data)) || (yield this.handleLogin(fe.url, J.data), !1)
                        })
                    }
                    canActivateChild(J, fe) {
                        return ue(this, void 0, void 0, function*() {
                            return this.canActivate(J, fe)
                        })
                    }
                    isAuthenticated(J, fe) {
                        var Fe, at, ct;
                        return ue(this, void 0, void 0, function*() {
                            let Qt = fe ? fe ? .isAuthenticated : yield this.oktaAuth.isAuthenticated();
                            return !(null === (Fe = J ? .okta) || void 0 === Fe) && Fe.acrValues && (fe || (fe = this.oktaAuth.authStateManager.getAuthState()), Qt = (null === (at = fe ? .idToken) || void 0 === at ? void 0 : at.claims.acr) === (null === (ct = J ? .okta) || void 0 === ct ? void 0 : ct.acrValues)), Qt
                        })
                    }
                    handleLogin(J, fe) {
                        var Fe;
                        return ue(this, void 0, void 0, function*() {
                            J && this.oktaAuth.setOriginalUri(J);
                            const at = {};
                            !(null === (Fe = fe ? .okta) || void 0 === Fe) && Fe.acrValues && (at.acrValues = fe.okta.acrValues), this.onAuthRequired ? this.onAuthRequired(this.oktaAuth, this.injector, at) : this.oktaAuth.signInWithRedirect(at)
                        })
                    }
                }
                return Pe.\u0275fac = function(J) {
                    return new(J || Pe)(t.LFG(_e), t.LFG(t.zs3), t.LFG(we))
                }, Pe.\u0275prov = t.Yz7({
                    token: Pe,
                    factory: Pe.\u0275fac
                }), Pe
            })();
            const Be = {
                isAuthenticated: !1
            };
            let He = (() => {
                class Pe {
                    constructor(J) {
                        this.oktaAuth = J, this._authState = new P.X(Be), this.authState$ = this._authState.asObservable(), this.updateAuthState = this.updateAuthState.bind(this);
                        const fe = this.oktaAuth.authStateManager.getAuthState() || Be;
                        this._authState.next(fe), this.oktaAuth.authStateManager.subscribe(this.updateAuthState)
                    }
                    ngOnDestroy() {
                        this.oktaAuth.authStateManager.unsubscribe(this.updateAuthState)
                    }
                    hasAnyGroups(J) {
                        return this.authState$.pipe((0, V.z)(({
                            isAuthenticated: fe,
                            idToken: Fe
                        }) => function(Pe, De, J, fe) {
                            return new(J || (J = Promise))(function(at, ct) {
                                function vt(mt) {
                                    try {
                                        Ge(fe.next(mt))
                                    } catch (Lt) {
                                        ct(Lt)
                                    }
                                }

                                function Qt(mt) {
                                    try {
                                        Ge(fe.throw(mt))
                                    } catch (Lt) {
                                        ct(Lt)
                                    }
                                }

                                function Ge(mt) {
                                    mt.done ? at(mt.value) : function Fe(at) {
                                        return at instanceof J ? at : new J(function(ct) {
                                            ct(at)
                                        })
                                    }(mt.value).then(vt, Qt)
                                }
                                Ge((fe = fe.apply(Pe, De || [])).next())
                            })
                        }(this, void 0, void 0, function*() {
                            if (!fe || !Fe) return !1;
                            "string" == typeof J && (J = {
                                groups: [J]
                            }), Array.isArray(J) && (J = {
                                groups: J
                            });
                            const at = Object.keys(J)[0],
                                ct = J[at];
                            if (Fe.claims[at]) return ct.some(Qt => Fe.claims[at].includes(Qt));
                            const vt = yield this.oktaAuth.getUser();
                            return !!vt[at] && ct.some(Qt => vt[at].includes(Qt))
                        })))
                    }
                    updateAuthState(J) {
                        this._authState.next(J)
                    }
                }
                return Pe.\u0275fac = function(J) {
                    return new(J || Pe)(t.LFG(_e))
                }, Pe.\u0275prov = t.Yz7({
                    token: Pe,
                    factory: Pe.\u0275fac
                }), Pe
            })();
            class St {
                static setupOktaAuth(De, J, fe) {
                    if (!De._oktaUserAgent || !((Pe, De, J) => {
                            me(J);
                            const fe = ((Pe, De) => {
                                const J = B(Pe),
                                    fe = B(De),
                                    Fe = J.pop(),
                                    at = fe.pop(),
                                    ct = ce(J, fe);
                                return 0 !== ct ? ct : Fe && at ? ce(Fe.split("."), at.split(".")) : Fe || at ? Fe ? -1 : 1 : 0
                            })(Pe, De);
                            return be[J].includes(fe)
                        })(De._oktaUserAgent.getVersion(), "5.3.1", ">=")) throw new C.Rag("Passed in oktaAuth is not compatible with the SDK, minimum supported okta-auth-js version is 5.3.1.");
                    De._oktaUserAgent.addEnvironment("@okta/okta-angular/6.5.1"), De._oktaUserAgent.addEnvironment(`Angular/${t.q4F.full}`), !De.options.restoreOriginalUri && J && fe && (De.options.restoreOriginalUri = (at, ct) => function(Pe, De, J, fe) {
                        return new(J || (J = Promise))(function(at, ct) {
                            function vt(mt) {
                                try {
                                    Ge(fe.next(mt))
                                } catch (Lt) {
                                    ct(Lt)
                                }
                            }

                            function Qt(mt) {
                                try {
                                    Ge(fe.throw(mt))
                                } catch (Lt) {
                                    ct(Lt)
                                }
                            }

                            function Ge(mt) {
                                mt.done ? at(mt.value) : function Fe(at) {
                                    return at instanceof J ? at : new J(function(ct) {
                                        ct(at)
                                    })
                                }(mt.value).then(vt, Qt)
                            }
                            Ge((fe = fe.apply(Pe, De || [])).next())
                        })
                    }(this, void 0, void 0, function*() {
                        const vt = window.location.origin + fe.prepareExternalUrl(""),
                            Qt = (0, C.QNm)(ct || "/", vt);
                        J.navigateByUrl(Qt)
                    })), De.start()
                }
                static createOktaAuth(De, J, fe) {
                    const Fe = De.getConfig();
                    if (!Fe) throw new Error("Okta config is not provided");
                    const {
                        oktaAuth: at
                    } = Fe;
                    if (!at) throw new Error("Okta config should contain oktaAuth");
                    return St.setupOktaAuth(at, J, fe), at
                }
            }
            let ht = (() => {
                class Pe {
                    static forRoot(J) {
                        return {
                            ngModule: Pe,
                            providers: [{
                                provide: ge,
                                useValue: J
                            }]
                        }
                    }
                }
                return Pe.\u0275fac = function(J) {
                    return new(J || Pe)
                }, Pe.\u0275mod = t.oAB({
                    type: Pe
                }), Pe.\u0275inj = t.cJS({
                    providers: [we, He, Me, {
                        provide: _e,
                        useFactory: St.createOktaAuth,
                        deps: [we, [new t.FiY, r.F0],
                            [new t.FiY, U.Ye]
                        ]
                    }]
                }), Pe
            })()
        },
        6583: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Rag: () => fe,
                ZPm: () => ep,
                QNm: () => Pe
            });
            var t = {};
            _.r(t), _.d(t, {
                ACCESS_TOKEN_STORAGE_KEY: () => Mr,
                CACHE_STORAGE_NAME: () => tn,
                DEFAULT_CACHE_DURATION: () => kn,
                DEFAULT_CODE_CHALLENGE_METHOD: () => on,
                DEFAULT_MAX_CLOCK_SKEW: () => Nn,
                DEFAULT_POLLING_DELAY: () => _n,
                IDX_API_VERSION: () => $n,
                IDX_RESPONSE_STORAGE_NAME: () => _r,
                ID_TOKEN_STORAGE_KEY: () => Ut,
                IOS_MAX_RETRY_COUNT: () => Ln,
                MAX_VERIFIER_LENGTH: () => jt,
                MIN_VERIFIER_LENGTH: () => Pt,
                ORIGINAL_URI_STORAGE_NAME: () => Qn,
                PKCE_STORAGE_NAME: () => Cn,
                REFERRER_PATH_STORAGE_KEY: () => et,
                REFRESH_TOKEN_STORAGE_KEY: () => dt,
                SHARED_TRANSACTION_STORAGE_NAME: () => Rn,
                STATE_TOKEN_KEY_NAME: () => Lt,
                TOKEN_STORAGE_NAME: () => vn,
                TRANSACTION_STORAGE_NAME: () => pn
            });
            var r = {};
            _.r(r), _.d(r, {
                getUserAgent: () => si,
                hasTextEncoder: () => yi,
                isBrowser: () => In,
                isDPoPSupported: () => To,
                isFingerprintSupported: () => Jr,
                isHTTPS: () => Ji,
                isIE11OrLess: () => Kn,
                isIOS: () => lr,
                isLocalhost: () => Pi,
                isPKCESupported: () => eo,
                isPopupPostMessageSupported: () => hr,
                isTokenVerifySupported: () => Si
            });
            var U = {};
            _.r(U), _.d(U, {
                AuthenticatorEnrollmentData: () => Gi,
                AuthenticatorVerificationData: () => Ci,
                ChallengeAuthenticator: () => Wt,
                ChallengePoll: () => en,
                EnrollAuthenticator: () => R,
                EnrollPoll: () => ie,
                EnrollProfile: () => Ic,
                EnrollmentChannelData: () => gt,
                GenericRemediator: () => us,
                Identify: () => X,
                ReEnrollAuthenticator: () => Y,
                ReEnrollAuthenticatorWarning: () => H,
                RedirectIdp: () => Ie,
                Remediator: () => $i,
                ResetAuthenticator: () => Ws,
                SelectAuthenticatorAuthenticate: () => An,
                SelectAuthenticatorEnroll: () => nr,
                SelectAuthenticatorUnlockAccount: () => Ga,
                SelectEnrollProfile: () => Yc,
                SelectEnrollmentChannel: () => rt,
                Skip: () => Fi
            });
            var C = {};
            _.r(C), _.d(C, {
                atob: () => cr,
                base64ToBase64Url: () => Hr,
                base64UrlDecode: () => co,
                base64UrlToBase64: () => Sr,
                base64UrlToBuffer: () => Lo,
                base64UrlToString: () => Ai,
                btoa: () => Jn,
                bufferToBase64Url: () => Xi,
                getOidcHash: () => Wo,
                stringToBase64Url: () => dr,
                stringToBuffer: () => ri,
                verifyToken: () => Ii,
                webcrypto: () => wr
            });
            var x = {};
            _.r(x), _.d(x, {
                buildCredentialCreationOptions: () => yp,
                buildCredentialRequestOptions: () => oh,
                getAssertion: () => If,
                getAttestation: () => Pf
            });
            var V = {};
            _.r(V), _.d(V, {
                addEmail: () => tf,
                addPhone: () => bd,
                deleteEmail: () => Lu,
                deletePassword: () => kp,
                deletePhone: () => Rp,
                enrollPassword: () => gh,
                getEmail: () => ef,
                getEmailChallenge: () => Ip,
                getEmails: () => Xd,
                getPassword: () => mh,
                getPhone: () => hh,
                getPhones: () => yd,
                getProfile: () => Zf,
                getProfileSchema: () => Wf,
                sendEmailChallenge: () => Pp,
                sendPhoneChallenge: () => Bu,
                updatePassword: () => Fp,
                updateProfile: () => ph,
                verifyEmailChallenge: () => Np,
                verifyPhoneChallenge: () => Cd
            });
            var P = _(5861),
                $ = (() => {
                    return (u = $ || ($ = {})).SUCCESS = "SUCCESS", u.PENDING = "PENDING", u.FAILURE = "FAILURE", u.TERMINAL = "TERMINAL", u.CANCELED = "CANCELED", $;
                    var u
                })(),
                K = (() => {
                    return (u = K || (K = {})).OKTA_PASSWORD = "okta_password", u.OKTA_EMAIL = "okta_email", u.PHONE_NUMBER = "phone_number", u.GOOGLE_AUTHENTICATOR = "google_otp", u.SECURITY_QUESTION = "security_question", u.OKTA_VERIFY = "okta_verify", u.WEBAUTHN = "webauthn", K;
                    var u
                })(),
                G = (() => {
                    return (u = G || (G = {})).PASSWORD_RECOVERY = "recover-password", u.REGISTRATION = "enroll-profile", u.SOCIAL_IDP = "redirect-idp", u.ACCOUNT_UNLOCK = "unlock-account", G;
                    var u
                })();

            function F(u) {
                return u && (u.key || u.id)
            }

            function B() {
                var u = function k() {
                    return typeof window < "u" ? window.console : typeof console < "u" ? console : void 0
                }();
                return u && u.log ? u : {
                    log: function() {},
                    warn: function() {},
                    group: function() {},
                    groupEnd: function() {}
                }
            }

            function le(u) {
                B().warn("[okta-auth-sdk] WARN: " + u)
            }

            function be(u) {
                var c = {};
                for (var p in u)
                    if (Object.prototype.hasOwnProperty.call(u, p)) {
                        var b = u[p];
                        null != b && (c[p] = b)
                    }
                return c
            }

            function je(u) {
                if (u) {
                    var c = JSON.stringify(u);
                    if (c) return JSON.parse(c)
                }
                return u
            }

            function me(u, ...c) {
                var p = {};
                for (var b in u) Object.prototype.hasOwnProperty.call(u, b) && -1 == c.indexOf(b) && (p[b] = u[b]);
                return je(p)
            }

            function ge(u, c) {
                for (var p = u.length; p--;) {
                    var b = u[p],
                        I = !0;
                    for (var Q in c)
                        if (Object.prototype.hasOwnProperty.call(c, Q) && b[Q] !== c[Q]) {
                            I = !1;
                            break
                        }
                    if (I) return b
                }
            }

            function _e(u, c, p) {
                if (u && u._links) {
                    var b = je(u._links[c]);
                    if (!(b && b.name && p)) return b;
                    if (b.name === p) return b
                }
            }
            class we extends Error {
                constructor(c) {
                    super(c), Object.setPrototypeOf(this, new.target.prototype)
                }
            }

            function ke(u) {
                return "[object String]" === Object.prototype.toString.call(u)
            }

            function Je(u) {
                return "[object Object]" === Object.prototype.toString.call(u)
            }

            function Me(u) {
                return !!u && "[object Function]" === {}.toString.call(u)
            }
            let Be = (() => {
                class u extends we {
                    constructor(p, b, I) {
                        var Q;
                        super(null !== (Q = b.error) && void 0 !== Q ? Q : u.UNKNOWN_ERROR), this.name = "WWWAuthError", this.resp = null, this.scheme = p, this.parameters = b, I && (this.resp = I)
                    }
                    get error() {
                        return this.parameters.error
                    }
                    get errorCode() {
                        return this.error
                    }
                    get error_description() {
                        return this.parameters.error_description
                    }
                    get errorDescription() {
                        return this.error_description
                    }
                    get errorSummary() {
                        return this.errorDescription
                    }
                    get realm() {
                        return this.parameters.realm
                    }
                    static parseHeader(p) {
                        var b;
                        if (!p) return null;
                        const I = /(?:,|, )?([a-zA-Z0-9!#$%&'*+\-.^_`|~]+)=(?:"([a-zA-Z0-9!#$%&'*+\-.,^_`|~ /:]+)"|([a-zA-Z0-9!#$%&'*+\-.^_`|~/:]+))/g,
                            Q = p.indexOf(" "),
                            ve = p.slice(0, Q),
                            Ve = p.slice(Q + 1),
                            ze = {};
                        let lt;
                        for (; null !== (lt = I.exec(Ve));) ze[lt[1]] = null !== (b = lt[2]) && void 0 !== b ? b : lt[3];
                        return new u(ve, ze)
                    }
                    static getWWWAuthenticateHeader(p = {}) {
                        var b;
                        return Me(p ? .get) ? p.get("WWW-Authenticate") : null !== (b = p["www-authenticate"]) && void 0 !== b ? b : p["WWW-Authenticate"]
                    }
                }
                return u.UNKNOWN_ERROR = "UNKNOWN_WWW_AUTH_ERROR", u
            })();

            function xt(u) {
                for (var c = "abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", p = "", b = 0, I = c.length; b < u; ++b) p += c[Math.floor(Math.random() * I)];
                return p
            }

            function kt(u) {
                return new Promise(function(c) {
                    setTimeout(c, u)
                })
            }

            function St(u, c) {
                const p = u.split(c);
                return [p[0], p.splice(1, p.length).join(c)]
            }

            function Ct(u) {
                return /^[a-z][a-z0-9+.-]*:/i.test(u)
            }

            function Pe(u = "", c) {
                return Ct(u) && (u = u.substring(c.length)), "/" === u[0] ? u : `/${u}`
            }

            function De(u) {
                var c = [];
                if (null !== u)
                    for (var p in u) Object.prototype.hasOwnProperty.call(u, p) && null != u[p] && c.push(p + "=" + encodeURIComponent(u[p]));
                return c.length ? "?" + c.join("&") : ""
            }

            function J(u) {
                if (u) {
                    var c = u.replace(/^\s+|\s+$/gm, "");
                    return c.replace(/\/+$/, "")
                }
            }
            class fe extends we {
                constructor(c, p) {
                    super(c), this.name = "AuthSdkError", this.errorCode = "INTERNAL", this.errorSummary = c, this.errorLink = "INTERNAL", this.errorId = "INTERNAL", this.errorCauses = [], p && (this.xhr = p)
                }
            }

            function Fe() {
                return xt(64)
            }

            function ct(u, c = {}) {
                return J(c.issuer) || u.options.issuer
            }

            function vt(u, c = {}) {
                const p = ct(u, c);
                return p.indexOf("/oauth2") > 0 ? p : p + "/oauth2"
            }

            function Qt(u, c = {}) {
                return ct(u, c).split("/oauth2")[0]
            }

            function Ge(u, c) {
                if (arguments.length > 2) throw new fe('As of version 3.0, "getOAuthUrls" takes only a single set of options');
                var p = J((c = c || {}).authorizeUrl) || u.options.authorizeUrl,
                    b = ct(u, c),
                    I = J(c.userinfoUrl) || u.options.userinfoUrl,
                    Q = J(c.tokenUrl) || u.options.tokenUrl,
                    ve = J(c.logoutUrl) || u.options.logoutUrl,
                    Ve = J(c.revokeUrl) || u.options.revokeUrl,
                    ze = vt(u, c);
                return {
                    issuer: b,
                    authorizeUrl: p = p || ze + "/v1/authorize",
                    userinfoUrl: I = I || ze + "/v1/userinfo",
                    tokenUrl: Q = Q || ze + "/v1/token",
                    revokeUrl: Ve = Ve || ze + "/v1/revoke",
                    logoutUrl: ve = ve || ze + "/v1/logout"
                }
            }

            function mt(u, c) {
                const I = {
                    issuer: u.options.issuer,
                    urls: Ge(u, c),
                    clientId: c.clientId,
                    redirectUri: c.redirectUri,
                    responseType: c.responseType,
                    responseMode: c.responseMode,
                    scopes: c.scopes,
                    state: c.state,
                    nonce: c.nonce,
                    ignoreSignature: c.ignoreSignature,
                    acrValues: c.acrValues,
                    extraParams: c.extraParams
                };
                return !1 === c.pkce ? I : Object.assign(Object.assign({}, I), {
                    codeVerifier: c.codeVerifier,
                    codeChallengeMethod: c.codeChallengeMethod,
                    codeChallenge: c.codeChallenge
                })
            }
            const Lt = "oktaStateToken",
                _n = 500,
                Ln = 3,
                Nn = 300,
                kn = 86400,
                vn = "okta-token-storage",
                tn = "okta-cache-storage",
                Cn = "okta-pkce-storage",
                pn = "okta-transaction-storage",
                Rn = "okta-shared-transaction-storage",
                Qn = "okta-original-uri-storage",
                _r = "okta-idx-response-storage",
                Mr = "accessToken",
                Ut = "idToken",
                dt = "refreshToken",
                et = "referrerPath",
                Pt = 43,
                jt = 128,
                on = "S256",
                $n = "1.0.0";
            class Xn extends we {
                constructor(c, p, b) {
                    super(c.errorSummary), this.name = "AuthApiError", this.errorSummary = c.errorSummary, this.errorCode = c.errorCode, this.errorLink = c.errorLink, this.errorId = c.errorId, this.errorCauses = c.errorCauses, p && (this.xhr = p), b && (this.meta = b)
                }
            }
            class sn extends we {
                constructor(c, p, b) {
                    super(p), this.resp = null, this.name = "OAuthError", this.errorCode = c, this.errorSummary = p, this.error = c, this.error_description = p, b && (this.resp = b)
                }
            }
            const cr = function(u) {
                    return atob(u)
                },
                Jn = function(u) {
                    return btoa(u)
                },
                wr = typeof crypto > "u" ? null : crypto,
                Yn = /windows phone|iemobile|wpdesktop/i;

            function In() {
                return typeof document < "u" && typeof window < "u"
            }

            function Kn() {
                if (!In()) return !1;
                const u = document.documentMode;
                return !!u && u <= 11
            }

            function si() {
                return navigator.userAgent
            }

            function Jr() {
                const u = si();
                return u && !Yn.test(u)
            }

            function hr() {
                if (!In()) return !1;
                const u = document.documentMode;
                return typeof window.postMessage < "u" && !(u && u < 10)
            }

            function ai() {
                return typeof wr < "u" && null !== wr && typeof wr.subtle < "u" && typeof Uint8Array < "u"
            }

            function Si() {
                return ai()
            }

            function yi() {
                return typeof TextEncoder < "u"
            }

            function eo() {
                return Si() && yi()
            }

            function Ji() {
                return !!In() && "https:" === window.location.protocol
            }

            function Pi() {
                return In() && "localhost" === window.location.hostname
            }

            function To() {
                return !Kn() && typeof window.indexedDB < "u" && yi() && ai()
            }

            function lr() {
                return In() && typeof navigator < "u" && typeof navigator.userAgent < "u" && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream
            }
            let Er, br = 0;

            function zr(u, c) {
                var p;
                if (c = c || {}, u.options.httpRequestInterceptors)
                    for (const ha of u.options.httpRequestInterceptors) ha(c);
                var b = c.url,
                    I = c.method,
                    Q = c.args,
                    ve = c.saveAuthnState,
                    Ve = c.accessToken,
                    ze = !0 === c.withCredentials,
                    Ot = u.options.storageUtil.storage,
                    At = u.storageManager.getHttpCache(u.options.cookies),
                    Nt = c.pollingIntent,
                    fn = null !== (p = u.options.pollDelay) && void 0 !== p ? p : 0;
                if (c.cacheResponse) {
                    var Hn = At.getStorage()[b];
                    if (Hn && Date.now() / 1e3 < Hn.expiresAt) return Promise.resolve(Hn.response)
                }
                var di = u._oktaUserAgent.getHttpHeader(),
                    Nr = Object.assign({
                        Accept: "application/json",
                        "Content-Type": "application/json"
                    }, di);
                Object.assign(Nr, u.options.headers, c.headers), Nr = be(Nr), Ve && ke(Ve) && (Nr.Authorization = "Bearer " + Ve);
                var No, zi, hc, Do = {
                    headers: Nr,
                    data: Q || void 0,
                    withCredentials: ze
                };
                if (Nt && In() && fn > 0) {
                    let ha, mc, ea, Ll = 0;
                    mc = () => {
                        const Es = Date.now() - br;
                        return Es < fn ? new Promise(Ar => setTimeout(() => {
                            document.hidden ? Ar(ha()) : Ar()
                        }, fn - Es)) : Promise.resolve()
                    }, ha = () => {
                        if (document.hidden) {
                            let Es;
                            return new Promise(Ar => {
                                Es = () => {
                                    document.hidden || (document.removeEventListener("visibilitychange", Es), Ar(mc()))
                                }, document.addEventListener("visibilitychange", Es)
                            })
                        }
                        return mc()
                    };
                    const Hp = () => u.options.httpRequestClient(I, b, Do).catch(Es => {
                        if ("Load failed" === Es ? .message && Ll < Ln) return Ll++, ea();
                        throw Es
                    });
                    ea = () => ha().then(Hp), hc = ea()
                } else hc = u.options.httpRequestClient(I, b, Do);
                return hc.then(function(ha) {
                    return (zi = ha.responseText) && ke(zi) && (zi = JSON.parse(zi)) && "object" == typeof zi && !zi.headers && (Array.isArray(zi) ? zi.forEach(mc => {
                        mc.headers = ha.headers
                    }) : zi.headers = ha.headers), ve && (zi.stateToken || Ot.delete(Lt)), zi && zi.stateToken && zi.expiresAt && Ot.set(Lt, zi.stateToken, zi.expiresAt, u.options.cookies), zi && c.cacheResponse && At.updateStorage(b, {
                        expiresAt: Math.floor(Date.now() / 1e3) + kn,
                        response: zi
                    }), zi
                }).catch(function(ha) {
                    throw No = ((u, c) => {
                        var p;
                        if (c instanceof Error) return new Xn({
                            errorSummary: c.message
                        });
                        let I, b = c,
                            Q = {};
                        if (b.responseText && ke(b.responseText)) try {
                            Q = JSON.parse(b.responseText)
                        } catch {
                            Q = {
                                errorSummary: "Unknown error"
                            }
                        }
                        b.status >= 500 && (Q.errorSummary = "Unknown error"), u.options.transformErrorXHR && (b = u.options.transformErrorXHR(je(b)));
                        const ve = null !== (p = Be.getWWWAuthenticateHeader(b ? .headers)) && void 0 !== p ? p : "";
                        if (I = Q.error && Q.error_description ? new sn(Q.error, Q.error_description, b) : new Xn(Q, b, {
                                wwwAuthHeader: ve
                            }), ve && b ? .status >= 400 && b ? .status < 500) {
                            const Ve = Be.parseHeader(ve);
                            if (403 === b.status && "insufficient_authentication_context" === Ve ? .error) {
                                const {
                                    max_age: ze,
                                    acr_values: lt
                                } = Ve.parameters;
                                I = new Xn({
                                    errorSummary: Ve.error,
                                    errorCauses: [{
                                        errorSummary: Ve.errorDescription
                                    }]
                                }, b, Object.assign({
                                    max_age: +ze
                                }, lt && {
                                    acr_values: lt
                                }))
                            } else "DPoP" === Ve ? .scheme && (I = Ve)
                        }
                        return I
                    })(u, ha), "E0000011" === No.errorCode && Ot.delete(Lt), No
                })
            }

            function Fr(u, c, p) {
                var b = {
                    url: c = Ct(c) ? c : u.getIssuerOrigin() + c,
                    method: "GET"
                };
                return Object.assign(b, p), zr(u, b)
            }

            function nt(u, c, p, b) {
                var I = {
                    url: c = Ct(c) ? c : u.getIssuerOrigin() + c,
                    method: "POST",
                    args: p,
                    saveAuthnState: !0
                };
                return Object.assign(I, b), zr(u, I)
            }
            In() && (br = Date.now(), Er = () => {
                document.hidden || (br = Date.now())
            }, document.addEventListener("visibilitychange", Er));
            var Ee = _(6958);

            function re(u) {
                for (var c = 1; c < arguments.length; c++) {
                    var p = arguments[c];
                    for (var b in p) u[b] = p[b]
                }
                return u
            }
            var Dt = function Xe(u, c) {
                    function p(I, Q, ve) {
                        if (!(typeof document > "u")) {
                            "number" == typeof(ve = re({}, c, ve)).expires && (ve.expires = new Date(Date.now() + 864e5 * ve.expires)), ve.expires && (ve.expires = ve.expires.toUTCString()), I = encodeURIComponent(I).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
                            var Ve = "";
                            for (var ze in ve) !ve[ze] || (Ve += "; " + ze, !0 !== ve[ze] && (Ve += "=" + ve[ze].split(";")[0]));
                            return document.cookie = I + "=" + u.write(Q, I) + Ve
                        }
                    }
                    return Object.create({
                        set: p,
                        get: function b(I) {
                            if (!(typeof document > "u" || arguments.length && !I)) {
                                for (var Q = document.cookie ? document.cookie.split("; ") : [], ve = {}, Ve = 0; Ve < Q.length; Ve++) {
                                    var ze = Q[Ve].split("="),
                                        lt = ze.slice(1).join("=");
                                    try {
                                        var Ot = decodeURIComponent(ze[0]);
                                        if (ve[Ot] = u.read(lt, Ot), I === Ot) break
                                    } catch {}
                                }
                                return I ? ve[I] : ve
                            }
                        },
                        remove: function(I, Q) {
                            p(I, "", re({}, Q, {
                                expires: -1
                            }))
                        },
                        withAttributes: function(I) {
                            return Xe(this.converter, re({}, this.attributes, I))
                        },
                        withConverter: function(I) {
                            return Xe(re({}, this.converter, I), this.attributes)
                        }
                    }, {
                        attributes: {
                            value: Object.freeze(c)
                        },
                        converter: {
                            value: Object.freeze(u)
                        }
                    })
                }({
                    read: function(u) {
                        return '"' === u[0] && (u = u.slice(1, -1)), u.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
                    },
                    write: function(u) {
                        return encodeURIComponent(u).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent)
                    }
                }, {
                    path: "/"
                }),
                Xt = _(8472);

            function dn(u, c) {
                var p = {};
                for (var b in u) Object.prototype.hasOwnProperty.call(u, b) && c.indexOf(b) < 0 && (p[b] = u[b]);
                if (null != u && "function" == typeof Object.getOwnPropertySymbols) {
                    var I = 0;
                    for (b = Object.getOwnPropertySymbols(u); I < b.length; I++) c.indexOf(b[I]) < 0 && Object.prototype.propertyIsEnumerable.call(u, b[I]) && (p[b[I]] = u[b[I]])
                }
                return p
            }

            function er(u) {
                return Kr.apply(this, arguments)
            }

            function Kr() {
                return (Kr = (0, P.Z)(function*(u, c = {}) {
                    const p = yield u.token.prepareTokenParams(c), b = mt(u, p);
                    let {
                        flow: I = "default",
                        withCredentials: Q = !0,
                        activationToken: ve,
                        recoveryToken: Ve,
                        maxAge: ze,
                        acrValues: lt
                    } = Object.assign(Object.assign({}, u.options), c);
                    return Object.assign(Object.assign({}, b), {
                        flow: I,
                        withCredentials: Q,
                        activationToken: ve,
                        recoveryToken: Ve,
                        maxAge: ze,
                        acrValues: lt
                    })
                })).apply(this, arguments)
            }

            function Tn(u, c) {
                return !!Lr(u, c) ? .interactionHandle
            }

            function Lr(u, c) {
                let p;
                c = be(c), c = Object.assign(Object.assign({}, u.options), c);
                try {
                    p = u.transactionManager.load(c)
                } catch {}
                if (p) {
                    if (Le(p, c)) return p;
                    le("Saved transaction meta does not match the current configuration. This may indicate that two apps are sharing a storage key.")
                }
            }

            function bi(u, c) {
                return ji.apply(this, arguments)
            }

            function ji() {
                return (ji = (0, P.Z)(function*(u, c) {
                    return c = be(c), Lr(u, c = Object.assign(Object.assign({}, u.options), c)) || er(u, c)
                })).apply(this, arguments)
            }

            function ye(u, c) {
                u.transactionManager.save(c, {
                    muteWarning: !0
                })
            }

            function Ue(u) {
                u.transactionManager.clear()
            }

            function Le(u, c = {}) {
                if (!1 === function zt(u, c, p) {
                        return !p.some(I => {
                            const Q = c[I];
                            if (Q && Q !== u[I]) return !0
                        })
                    }(u, c, ["issuer", "clientId", "redirectUri", "state", "codeChallenge", "codeChallengeMethod", "activationToken", "recoveryToken"])) return !1;
                const {
                    flow: b
                } = c;
                return !1 !== function ot(u, c) {
                    return !(c && "default" !== c && "proceed" !== c && c !== u.flow)
                }(u, b)
            }

            function Ht(u) {
                return {
                    meta: u,
                    interactionHandle: u.interactionHandle,
                    state: u.state
                }
            }

            function an(u) {
                return Kt.apply(this, arguments)
            }

            function Kt() {
                return (Kt = (0, P.Z)(function*(u, c = {}) {
                    let p = Lr(u, c = be(c));
                    if (p ? .interactionHandle) return Ht(p);
                    p = yield er(u, Object.assign(Object.assign({}, p), c));
                    const b = vt(u);
                    let {
                        clientId: I,
                        redirectUri: Q,
                        state: ve,
                        scopes: Ve,
                        withCredentials: ze,
                        codeChallenge: lt,
                        codeChallengeMethod: Ot,
                        activationToken: At,
                        recoveryToken: Nt,
                        maxAge: fn,
                        acrValues: Dn,
                        nonce: Hn
                    } = p;
                    const di = c.clientSecret || u.options.clientSecret;
                    ze = ze ? ? !0;
                    const Nr = `${b}/v1/interact`,
                        Do = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({
                            client_id: I,
                            scope: Ve.join(" "),
                            redirect_uri: Q,
                            code_challenge: lt,
                            code_challenge_method: Ot,
                            state: ve
                        }, At && {
                            activation_token: At
                        }), Nt && {
                            recovery_token: Nt
                        }), di && {
                            client_secret: di
                        }), fn && {
                            max_age: fn
                        }), Dn && {
                            acr_values: Dn
                        }), Hn && {
                            nonce: Hn
                        }),
                        hc = (yield zr(u, {
                            method: "POST",
                            url: Nr,
                            headers: {
                                "Content-Type": "application/x-www-form-urlencoded"
                            },
                            withCredentials: ze,
                            args: Do
                        })).interaction_handle,
                        ha = Object.assign(Object.assign({}, p), {
                            interactionHandle: hc,
                            withCredentials: ze,
                            state: ve,
                            scopes: Ve,
                            recoveryToken: Nt,
                            activationToken: At
                        });
                    return ye(u, ha), Ht(ha)
                })).apply(this, arguments)
            }
            "function" == typeof SuppressedError && SuppressedError;
            const yn = function(c) {
                    return !1 !== c.mutable
                },
                Zn = function(c) {
                    var p, b;
                    const I = {},
                        Q = [],
                        ve = {};
                    if (!c.value) return Q.push(c), {
                        defaultParamsForAction: I,
                        neededParamsForAction: Q,
                        immutableParamsForAction: ve
                    };
                    for (let Ve of c.value) yn(Ve) ? (Q.push(Ve), null !== (p = Ve.value) && void 0 !== p && p && (I[Ve.name] = Ve.value)) : ve[Ve.name] = null !== (b = Ve.value) && void 0 !== b ? b : "";
                    return {
                        defaultParamsForAction: I,
                        neededParamsForAction: Q,
                        immutableParamsForAction: ve
                    }
                },
                Ur = function(c, {
                    actionDefinition: p,
                    defaultParamsForAction: b = {},
                    immutableParamsForAction: I = {},
                    toPersist: Q = {}
                }) {
                    const ve = p.href;
                    return (0, P.Z)(function*(Ve = {}) {
                        var ze, lt;
                        const Ot = {
                                "Content-Type": "application/json",
                                Accept: p.accepts || "application/ion+json"
                            },
                            At = JSON.stringify(Object.assign(Object.assign(Object.assign({}, b), Ve), I));
                        try {
                            const Nt = {
                                url: ve,
                                method: p.method,
                                headers: Ot,
                                args: At,
                                withCredentials: null === (ze = Q ? .withCredentials) || void 0 === ze || ze
                            };
                            ("poll" === p.name || (null === (lt = p.name) || void 0 === lt ? void 0 : lt.endsWith("-poll"))) && (Nt.pollingIntent = !0);
                            const Dn = yield zr(c, Nt);
                            return c.idx.makeIdxResponse(Object.assign({}, Dn), Q, !0)
                        } catch (Nt) {
                            if (!(Nt instanceof Xn && Nt ? .xhr)) throw Nt;
                            const fn = Nt.xhr,
                                Dn = fn.responseJSON || JSON.parse(fn.responseText),
                                Hn = fn.headers["WWW-Authenticate"] || fn.headers["www-authenticate"],
                                di = c.idx.makeIdxResponse(Object.assign({}, Dn), Q, !1);
                            return 401 === fn.status && 'Oktadevicejwt realm="Okta Device"' === Hn && (di.stepUp = !0), di
                        }
                    })
                },
                Dr = function(c, p, b) {
                    const I = Ur,
                        {
                            defaultParams: Q,
                            neededParams: ve,
                            immutableParams: Ve
                        } = function(c) {
                            c = Array.isArray(c) ? c : [c];
                            const p = [],
                                b = {},
                                I = {};
                            for (let Q of c) {
                                const {
                                    defaultParamsForAction: ve,
                                    neededParamsForAction: Ve,
                                    immutableParamsForAction: ze
                                } = Zn(Q);
                                p.push(Ve), b[Q.name] = ve, I[Q.name] = ze
                            }
                            return {
                                defaultParams: b,
                                neededParams: p,
                                immutableParams: I
                            }
                        }(p),
                        ze = I(c, {
                            actionDefinition: p,
                            defaultParamsForAction: Q[p.name],
                            immutableParamsForAction: Ve[p.name],
                            toPersist: b
                        });
                    return ze.neededParams = ve, ze
                },
                Yr = /\$?(?<step>\w+)|(?:\[(?<index>\d+)\])/g,
                yo = {
                    remediation: !0,
                    context: !0
                },
                hi = (u, c) => {
                    Object.keys(c).forEach(p => {
                        if ("relatesTo" === p) {
                            const b = Array.isArray(c[p]) ? c[p][0] : c[p];
                            if ("string" == typeof b) {
                                const I = function Cr({
                                    path: u,
                                    json: c
                                }) {
                                    var p, b, I;
                                    const Q = [];
                                    let ve;
                                    for (; null !== (ve = Yr.exec(u));) {
                                        const lt = null !== (b = null === (p = ve ? .groups) || void 0 === p ? void 0 : p.step) && void 0 !== b ? b : null === (I = ve ? .groups) || void 0 === I ? void 0 : I.index;
                                        lt && Q.push(lt)
                                    }
                                    if (Q.length < 1) return;
                                    const Ve = Q.pop();
                                    let ze = c;
                                    for (const lt of Q)
                                        if (Object.prototype.hasOwnProperty.call(ze, lt)) {
                                            if ("object" != typeof ze[lt]) return;
                                            ze = ze[lt]
                                        }
                                    return ze[Ve]
                                }({
                                    path: b,
                                    json: u
                                });
                                if (I) return void(c[p] = I);
                                throw new fe(`Cannot resolve relatesTo: ${b}`)
                            }
                        }
                        Array.isArray(c[p]) && c[p].forEach(b => hi(u, b))
                    })
                },
                Ho = function(c, p, b = {}) {
                    var I;
                    const Q = (null === (I = p.remediation) || void 0 === I ? void 0 : I.value) || [];
                    Q.forEach(lt => {
                        var Ot;
                        if ("launch-authenticator" !== lt.name || "authenticatorChallenge" !== (null === (Ot = lt ? .relatesTo) || void 0 === Ot ? void 0 : Ot[0]) || p ? .authenticatorChallenge) return hi(p, lt);
                        delete lt.relatesTo
                    });
                    const ve = Q.map(lt => ((u, c, p) => {
                            if (c.rel) {
                                const I = function(c, p, b = {}) {
                                    return p.reduce((I, Q) => Object.assign(Object.assign({}, I), {
                                        [Q.name]: Dr(c, Q, b)
                                    }), {})
                                }(u, [c], p)[c.name];
                                return Object.assign(Object.assign({}, c), {
                                    action: I
                                })
                            }
                            return c
                        })(c, lt, b)),
                        {
                            context: Ve,
                            actions: ze
                        } = function(c, p, b = {}) {
                            const I = {},
                                Q = {};
                            return Object.keys(p).filter(ve => !yo[ve]).forEach(ve => {
                                if ("object" != typeof p[ve] || !p[ve]) return void(Q[ve] = p[ve]);
                                if (p[ve].rel) return void(I[p[ve].name] = Dr(c, p[ve], b));
                                const ze = p[ve],
                                    {
                                        value: lt,
                                        type: Ot
                                    } = ze,
                                    At = dn(ze, ["value", "type"]);
                                Q[ve] = Object.assign({
                                    type: Ot
                                }, At), "object" === Ot ? (Q[ve].value = {}, Object.entries(lt).forEach(([Nt, fn]) => {
                                    fn.rel ? I[`${ve}-${Nt.name||Nt}`] = Dr(c, fn, b) : Q[ve].value[Nt] = fn
                                })) : Q[ve].value = lt
                            }), {
                                context: Q,
                                actions: I
                            }
                        }(c, p, b);
                    return {
                        remediations: ve,
                        context: Ve,
                        actions: ze
                    }
                };
            var to = {
                makeIdxState: function Oo(u, c, p, b) {
                    var I, Q, ve;
                    const Ve = c,
                        {
                            remediations: ze,
                            context: lt,
                            actions: Ot
                        } = Ho(u, c, p),
                        At = [...ze],
                        Nt = function() {
                            var Hn = (0, P.Z)(function*(di, Nr = {}) {
                                const Do = ze.find(zi => zi.name === di);
                                return Do ? "function" != typeof Do.action ? Promise.reject(`Current remediation cannot make form submit action: [${di}]`) : Do.action(Nr) : Promise.reject(`Unknown remediation choice: [${di}]`)
                            });
                            return function(Nr) {
                                return Hn.apply(this, arguments)
                            }
                        }();
                    return {
                        proceed: Nt,
                        neededToProceed: At,
                        actions: Ot,
                        context: lt,
                        rawIdxState: Ve,
                        interactionCode: null === (ve = null === (Q = null === (I = Ve.successWithInteractionCode) || void 0 === I ? void 0 : I.value) || void 0 === Q ? void 0 : Q.find(Hn => "interaction_code" === Hn.name)) || void 0 === ve ? void 0 : ve.value,
                        toPersist: p,
                        requestDidSucceed: b
                    }
                }
            };
            const it = function(c) {
                switch (c) {
                    case "1.0.0":
                        return to;
                    case void 0:
                    case null:
                        throw new Error("Api version is required");
                    default:
                        throw new Error(`Unknown api version: ${c}.  Use an exact semver version.`)
                }
            };

            function Rt(u) {
                if (!u) throw new Error("version is required");
                if ((u ? ? "").replace(/[^0-9a-zA-Z._-]/, "") !== u || !u) throw new Error("invalid version supplied - version is required and uses semver syntax");
                it(u)
            }

            function Tt(u, c, p, b) {
                var I;
                const Q = null !== (I = c ? .version) && void 0 !== I ? I : $n;
                Rt(Q);
                const {
                    makeIdxState: ve
                } = it(Q);
                return ve(u, c, p, b)
            }

            function $t(u) {
                return u && u.version
            }

            function xn(u) {
                return u instanceof Xn
            }

            function cn(u) {
                return u instanceof sn
            }

            function li(u) {
                return mi.apply(this, arguments)
            }

            function mi() {
                return (mi = (0, P.Z)(function*(u, c = {}) {
                    var p;
                    let b, I;
                    const Q = u.transactionManager.loadIdxResponse(c);
                    if (Q && (b = Q.rawIdxResponse, I = Q.requestDidSucceed), !b) {
                        const Ve = c.version || $n,
                            ze = Qt(u),
                            {
                                interactionHandle: lt,
                                stateHandle: Ot
                            } = c,
                            At = null === (p = c.withCredentials) || void 0 === p || p;
                        try {
                            I = !0, Rt(Ve);
                            const Nt = `${ze}/idp/idx/introspect`,
                                fn = Ot ? {
                                    stateToken: Ot
                                } : {
                                    interactionHandle: lt
                                },
                                Dn = {
                                    "Content-Type": `application/ion+json; okta-version=${Ve}`,
                                    Accept: `application/ion+json; okta-version=${Ve}`
                                };
                            b = yield zr(u, {
                                method: "POST",
                                url: Nt,
                                headers: Dn,
                                withCredentials: At,
                                args: fn
                            })
                        } catch (Nt) {
                            if (!(xn(Nt) && Nt.xhr && $t(Nt.xhr.responseJSON))) throw Nt;
                            b = Nt.xhr.responseJSON, I = !1
                        }
                    }
                    const {
                        withCredentials: ve
                    } = c;
                    return Tt(u, b, {
                        withCredentials: ve
                    }, I)
                })).apply(this, arguments)
            }

            function ei(u) {
                return u.charAt(0).toUpperCase() + u.substring(1)
            }

            function Ao(u) {
                return u.value.find(({
                    name: c
                }) => "authenticator" === c)
            }

            function cs(u) {
                let c;
                if (F(u)) c = u;
                else {
                    if ("string" != typeof u) throw new Error("Invalid format for authenticator");
                    c = {
                        key: u
                    }
                }
                return c
            }

            function Qo(u, c) {
                return !!(u && c && (u.id && c.id ? u.id === c.id : u.key && c.key && u.key === c.key))
            }
            class $i {
                constructor(c, p = {}, b = {}) {
                    this.values = Object.assign({}, p), this.options = Object.assign({}, b), this.formatAuthenticators(), this.remediation = c
                }
                formatAuthenticators() {
                    if (this.values.authenticators = this.values.authenticators || [], this.values.authenticators = this.values.authenticators.map(c => cs(c)), this.values.authenticator) {
                        const c = cs(this.values.authenticator);
                        this.values.authenticators.some(b => Qo(c, b)) || this.values.authenticators.push(c)
                    }
                    this.values.authenticatorsData = this.values.authenticators.reduce((c, p) => ("object" == typeof p && Object.keys(p).length > 1 && c.push(p), c), this.values.authenticatorsData || [])
                }
                getName() {
                    return this.remediation.name
                }
                canRemediate(c) {
                    return ! function Gr(u) {
                        var c;
                        return null === (c = u.value) || void 0 === c ? void 0 : c.reduce((p, b) => (b.required && p.push(b.name), p), [])
                    }(this.remediation).find(I => !this.hasData(I))
                }
                getData(c) {
                    if (!c) return function Ki(u) {
                        var c;
                        return null === (c = u.value) || void 0 === c ? void 0 : c.map(p => p.name)
                    }(this.remediation).reduce((I, Q) => (I[Q] = this.getData(Q), I), {});
                    if ("function" == typeof this[`map${ei(c)}`]) {
                        const p = this[`map${ei(c)}`](this.remediation.value.find(({
                            name: b
                        }) => b === c));
                        if (p) return p
                    }
                    if (this.map && this.map[c]) {
                        const p = this.map[c];
                        for (let b = 0; b < p.length; b++) {
                            let I = this.values[p[b]];
                            if (I) return I
                        }
                    }
                    return this.values[c]
                }
                hasData(c) {
                    return !!this.getData(c)
                }
                getNextStep(c, p) {
                    const b = this.getName(),
                        I = this.getInputs(),
                        Q = this.getAuthenticator(),
                        ve = Q ? .type;
                    return Object.assign(Object.assign({
                        name: b,
                        inputs: I
                    }, ve && {
                        type: ve
                    }), Q && {
                        authenticator: Q
                    })
                }
                getInputs() {
                    const c = [];
                    return (this.remediation.value || []).forEach(b => {
                        let I, {
                            name: Q,
                            type: ve,
                            visible: Ve,
                            messages: ze
                        } = b;
                        if (!1 !== Ve) {
                            if ("function" == typeof this[`getInput${ei(Q)}`]) I = this[`getInput${ei(Q)}`](b);
                            else if ("object" !== ve) {
                                let lt;
                                const Ot = (this.map ? this.map[Q] : null) || [];
                                lt = 1 === Ot.length ? Ot[0] : Ot.find(At => Object.keys(this.values).includes(At)), lt && (I = Object.assign(Object.assign({}, b), {
                                    name: lt
                                }))
                            }
                            I || (I = b), Array.isArray(I) ? I.forEach(lt => c.push(lt)) : (ze && (I.messages = ze), c.push(I))
                        }
                    }), c
                }
                static getMessages(c) {
                    var p, b;
                    if (c.value) return null === (b = null === (p = c.value[0]) || void 0 === p ? void 0 : p.form) || void 0 === b ? void 0 : b.value.reduce((I, Q) => (Q.messages && (I = [...I, ...Q.messages.value]), I), [])
                }
                getValuesAfterProceed() {
                    const b = [...this.remediation.value || [], ...this.getInputs()];
                    for (const I of b) delete this.values[I.name];
                    return this.values
                }
                getAuthenticator() {
                    var c, p;
                    const b = null === (c = this.remediation.relatesTo) || void 0 === c ? void 0 : c.value;
                    if (!b) return;
                    const I = Ao(this.remediation);
                    if (!I) return b;
                    const Q = I.form.value.find(({
                            name: Ve
                        }) => "id" === Ve).value,
                        ve = null === (p = I.form.value.find(({
                            name: Ve
                        }) => "enrollmentId" === Ve)) || void 0 === p ? void 0 : p.value;
                    return Object.assign(Object.assign({}, b), {
                        id: Q,
                        enrollmentId: ve
                    })
                }
            }

            function Rs(u) {
                if (Array.isArray(u)) return u.map(p => "string" == typeof p || "number" == typeof p || "boolean" == typeof p ? p : Rs(p));
                const c = {};
                for (const [p, b] of Object.entries(u))
                    if (!(null === b || typeof b > "u"))
                        if ("object" == typeof b) {
                            const I = Object.keys(b);
                            if (["value", "form"].includes(p) && 1 === I.length && ["value", "form"].includes(I[0])) {
                                const Q = Rs(b);
                                Object.entries(Q).forEach(([ve, Ve]) => {
                                    c[ve] = Ve
                                })
                            } else c[p] = Rs(b)
                        } else c[p] = b;
                return c
            }
            class us extends $i {
                canRemediate() {
                    return "function" == typeof this.remediation.action && !("poll" !== this.remediation.name && !this.remediation.name.endsWith("-poll") && !this.options.step)
                }
                getData() {
                    return this.getInputs().reduce((p, {
                        name: b
                    }) => (p[b] = this.values[b], p), {})
                }
                getNextStep(c, p) {
                    const b = this.getName(),
                        I = this.getInputs(),
                        Q = this.remediation,
                        {
                            action: Nt
                        } = Q,
                        fn = dn(Q, ["href", "method", "rel", "accepts", "produces", "value", "action"]);
                    return Nt ? Object.assign(Object.assign(Object.assign({}, fn), !!I.length && {
                        inputs: I
                    }), {
                        action: (Dn = (0, P.Z)(function*(Hn) {
                            return c.idx.proceed(Object.assign({
                                step: b
                            }, Hn))
                        }), function(di) {
                            return Dn.apply(this, arguments)
                        })
                    }) : Object.assign({}, this.remediation);
                    var Dn
                }
                getInputs() {
                    return (this.remediation.value || []).filter(({
                        name: c
                    }) => "stateHandle" !== c).map(Rs).map(c => (c.type = c.type || "string", c))
                }
            }
            const oo = {
                remediators: {},
                getFlowSpecification: function(u, c = "default") {
                    return {
                        remediators: {}
                    }
                }
            };

            function Fs(u) {
                const {
                    neededToProceed: c,
                    interactionCode: p
                } = u;
                return !c.length && !p
            }

            function jo(u) {
                if (u && Array.isArray(u)) return u.reduce((c, p) => {
                    if (p.messages && (c = [...c, ...p.messages.value]), p.form) {
                        const b = jo(p.form.value) || [];
                        c = [...c, ...b]
                    }
                    if (p.options) {
                        let b = [];
                        p.options.forEach(Q => {
                            !Q.value || "string" == typeof Q.value || (b = [...b, Q.value])
                        });
                        const I = jo(b) || [];
                        c = [...c, ...I]
                    }
                    return c
                }, [])
            }

            function Ni(u, c) {
                var p;
                let b = [];
                const {
                    rawIdxState: I,
                    neededToProceed: Q
                } = u, ve = null === (p = I.messages) || void 0 === p ? void 0 : p.value.map(ze => ze);
                if (ve && (b = [...b, ...ve]), !c.useGenericRemediator)
                    for (let ze of Q) {
                        const lt = jo(ze.value);
                        lt && (b = [...b, ...lt])
                    }
                const Ve = {};
                return b = b.reduce((ze, lt) => {
                    var Ot;
                    const At = null === (Ot = lt.i18n) || void 0 === Ot ? void 0 : Ot.key;
                    return At && Ve[At] && lt.message === Ve[At].message || (Ve[At] = lt, ze = [...ze, lt]), ze
                }, []), b
            }

            function ii(u) {
                const c = [],
                    {
                        actions: p,
                        neededToProceed: b
                    } = u;
                return p["currentAuthenticator-recover"] && c.push(G.PASSWORD_RECOVERY), b.some(({
                    name: I
                }) => "select-enroll-profile" === I) && c.push(G.REGISTRATION), b.some(({
                    name: I
                }) => "redirect-idp" === I) && c.push(G.SOCIAL_IDP), b.some(({
                    name: I
                }) => "unlock-account" === I) && c.push(G.ACCOUNT_UNLOCK), c
            }

            function Vr(u, c, p) {
                var b;
                const I = [],
                    Q = Object.values(oo.remediators).reduce((ve, Ve) => (Ve.remediationName && (ve[Ve.remediationName] = Ve), ve), {});
                for (let ve of c.neededToProceed) {
                    const Ve = fs(ve, {
                        useGenericRemediator: p,
                        remediators: Q
                    });
                    if (Ve) {
                        const ze = new Ve(ve);
                        I.push(ze.getNextStep(u, c.context))
                    }
                }
                for (const [ve] of Object.entries(c.actions || {})) {
                    let Ve = {
                        name: ve,
                        action: function() {
                            var ze = (0, P.Z)(function*(lt) {
                                return u.idx.proceed({
                                    actions: [{
                                        name: ve,
                                        params: lt
                                    }]
                                })
                            });
                            return function(Ot) {
                                return ze.apply(this, arguments)
                            }
                        }()
                    };
                    if (ve.startsWith("currentAuthenticator")) {
                        const [ze, lt] = St(ve, "-"), Ot = c.rawIdxState[ze].value[lt], At = dn(Ot, ["href", "method", "rel", "accepts", "produces"]), Nt = null === (b = Ot.value) || void 0 === b ? void 0 : b.filter(fn => "stateHandle" !== fn.name);
                        Ve = Object.assign(Object.assign(Object.assign({}, At), Nt && {
                            value: Nt
                        }), Ve)
                    }
                    I.push(Ve)
                }
                return I
            }

            function ks(u, c, p) {
                const I = (u.neededToProceed || []).find(ve => ve.name === c);
                return I ? I.value.reduce((ve, Ve) => {
                    const {
                        name: ze,
                        value: lt
                    } = Ve;
                    return ve[ze] = "stateHandle" === ze ? lt : p[ze], ve
                }, {}) : (le(`filterValuesForRemediation: "${c}" did not match any remediations`), p)
            }

            function fs(u, c) {
                const {
                    useGenericRemediator: p,
                    remediators: b
                } = c;
                if (u) return p ? us : b[u.name]
            }

            function Ls(u, c, p) {
                const b = p.remediators,
                    I = p.useGenericRemediator,
                    {
                        neededToProceed: Q,
                        context: ve
                    } = u;
                let Ve;
                if (p.step) {
                    const lt = Q.find(({
                        name: Ot
                    }) => Ot === p.step);
                    if (lt) {
                        const Ot = fs(lt, p);
                        return Ot ? new Ot(lt, c, p) : void 0
                    }
                    return void le(`step "${p.step}" did not match any remediations`)
                }
                const ze = [];
                if (I) ze.push(new us(Q[0], c, p));
                else
                    for (let lt of Q)
                        if (Object.keys(b).includes(lt.name)) {
                            if (Ve = new(fs(lt, p))(lt, c, p), Ve.canRemediate(ve)) return Ve;
                            ze.push(Ve)
                        } return ze[0]
            }

            function Ts(u, c, p) {
                const b = c.getNextStep(u, p.context),
                    I = function Co(u) {
                        return u.neededToProceed.some(({
                            name: c
                        }) => "skip" === c)
                    }(p),
                    Q = function ds(u) {
                        return Object.keys(u.actions).some(c => c.includes("resend"))
                    }(p);
                return Object.assign(Object.assign(Object.assign({}, b), I && {
                    canSkip: I
                }), Q && {
                    canResend: Q
                })
            }

            function ia(u, c, p = {}) {
                const b = Fs(c),
                    I = Ni(c, p);
                if (b) return {
                    idxResponse: c,
                    terminal: b,
                    messages: I
                }; {
                    const Q = Ls(c, {}, p),
                        ve = Q && Ts(u, Q, c);
                    return Object.assign({
                        idxResponse: c,
                        messages: I
                    }, ve && {
                        nextStep: ve
                    })
                }
            }

            function Bi(u, c) {
                return Object.keys(c.actions).find(p => !!u.resend && p.includes("-resend"))
            }

            function Xo(u) {
                return Object.assign(Object.assign({}, u), {
                    resend: void 0
                })
            }

            function oa(u, c) {
                let p = u.actions || [];
                return p = p.filter(b => "string" == typeof b ? b !== c : b.name !== c), Object.assign(Object.assign({}, u), {
                    actions: p
                })
            }

            function Di(u, c, p, b) {
                return ps.apply(this, arguments)
            }

            function ps() {
                return (ps = (0, P.Z)(function*(u, c, p, b) {
                    let {
                        neededToProceed: I,
                        interactionCode: Q
                    } = c;
                    const {
                        flow: ve
                    } = b;
                    if (Q) return {
                        idxResponse: c
                    };
                    const Ve = Ls(c, p, b),
                        ze = Bi(p, c),
                        Ot = [...b.actions || [], ...ze && [ze] || []];
                    if (Ot)
                        for (let Dn of Ot) {
                            let Hn = {};
                            "string" != typeof Dn && (Hn = Dn.params || {}, Dn = Dn.name);
                            let di = Xo(p),
                                Nr = oa(b, Dn);
                            if ("function" == typeof c.actions[Dn]) return !1 === (c = yield c.actions[Dn](Hn)).requestDidSucceed ? ia(u, c, b) : "cancel" === Dn ? {
                                idxResponse: c,
                                canceled: !0
                            } : Di(u, c, di, Nr);
                            if (I.find(({
                                    name: No
                                }) => No === Dn)) return !1 === (c = yield c.proceed(Dn, Hn)).requestDidSucceed ? ia(u, c, b) : Di(u, c, p, Nr)
                        }
                    const At = Fs(c);
                    if (At) return {
                        idxResponse: c,
                        terminal: At
                    };
                    if (!Ve) {
                        if (b.step) return p = ks(c, b.step, p), !1 === (c = yield c.proceed(b.step, p)).requestDidSucceed ? ia(u, c, b) : {
                            idxResponse: c
                        };
                        if ("default" === ve) return {
                            idxResponse: c
                        };
                        throw new fe(`\n      No remediation can match current flow, check policy settings in your org.\n      Remediations: [${I.reduce((Dn,Hn)=>Dn?Dn+" ,"+Hn.name:Hn.name,"")}]\n    `)
                    }
                    if (!Ve.canRemediate()) return {
                        idxResponse: c,
                        nextStep: Ts(u, Ve, c)
                    };
                    const Nt = Ve.getName(),
                        fn = Ve.getData();
                    return !1 === (c = yield c.proceed(Nt, fn)).requestDidSucceed ? ia(u, c, b) : (p = Ve.getValuesAfterProceed(), !(b = Object.assign(Object.assign({}, b), {
                        step: void 0
                    })).useGenericRemediator || c.interactionCode || Fs(c) ? Di(u, c, p, b) : {
                        idxResponse: c,
                        nextStep: Ts(u, Ls(c, p, b), c)
                    })
                })).apply(this, arguments)
            }

            function _a(u) {
                const p = Object.assign({}, u);
                return ["flow", "remediators", "actions", "withCredentials", "step", "useGenericRemediator", "exchangeCodeForTokens"].forEach(b => {
                    delete p[b]
                }), p
            }

            function xi(u, c) {
                var p, b, I, Q;
                let {
                    options: ve
                } = c;
                ve = Object.assign(Object.assign({}, u.options.idx), ve);
                let {
                    flow: Ve,
                    withCredentials: ze,
                    remediators: lt,
                    actions: Ot
                } = ve;
                const At = $.PENDING;
                if (Ve = Ve || (null === (b = (p = u.idx).getFlow) || void 0 === b ? void 0 : b.call(p)) || "default", Ve) {
                    null === (Q = (I = u.idx).setFlow) || void 0 === Q || Q.call(I, Ve);
                    const Nt = function bo(u, c = "default") {
                        return oo.getFlowSpecification(u, c)
                    }(u, Ve);
                    ze = typeof ze < "u" ? ze : Nt.withCredentials, lt = lt || Nt.remediators, Ot = Ot || Nt.actions
                }
                return Object.assign(Object.assign({}, c), {
                    options: Object.assign(Object.assign({}, ve), {
                        flow: Ve,
                        withCredentials: ze,
                        remediators: lt,
                        actions: Ot
                    }),
                    status: At
                })
            }

            function Aa(u, c) {
                return xo.apply(this, arguments)
            }

            function xo() {
                return (xo = (0, P.Z)(function*(u, c) {
                    const {
                        options: p
                    } = c, {
                        stateHandle: b,
                        withCredentials: I,
                        version: Q,
                        state: ve,
                        scopes: Ve,
                        recoveryToken: ze,
                        activationToken: lt,
                        maxAge: Ot,
                        acrValues: At,
                        nonce: Nt,
                        useGenericRemediator: fn
                    } = p;
                    let Dn, Hn = Lr(u, {
                        state: ve,
                        recoveryToken: ze,
                        activationToken: lt
                    });
                    if (b) Dn = yield li(u, {
                        withCredentials: I,
                        version: Q,
                        stateHandle: b,
                        useGenericRemediator: fn
                    });
                    else {
                        let di = Hn ? .interactionHandle;
                        if (!di) {
                            u.transactionManager.clear();
                            const Nr = yield an(u, {
                                withCredentials: I,
                                state: ve,
                                scopes: Ve,
                                activationToken: lt,
                                recoveryToken: ze,
                                maxAge: Ot,
                                acrValues: At,
                                nonce: Nt
                            });
                            di = Nr.interactionHandle, Hn = Nr.meta
                        }
                        Dn = yield li(u, {
                            withCredentials: I,
                            version: Q,
                            interactionHandle: di,
                            useGenericRemediator: fn
                        })
                    }
                    return Object.assign(Object.assign({}, c), {
                        idxResponse: Dn,
                        meta: Hn
                    })
                })).apply(this, arguments)
            }

            function $s(u, c) {
                return so.apply(this, arguments)
            }

            function so() {
                return (so = (0, P.Z)(function*(u, c) {
                    let {
                        idxResponse: p,
                        options: b,
                        values: I
                    } = c;
                    const {
                        autoRemediate: Q,
                        remediators: ve,
                        actions: Ve,
                        flow: ze,
                        step: lt,
                        useGenericRemediator: Ot
                    } = b;
                    if (!1 === Q || !(ve || Ve || lt)) return c;
                    I = Object.assign(Object.assign({}, I), {
                        stateHandle: p.rawIdxState.stateHandle
                    });
                    const {
                        idxResponse: Nt,
                        nextStep: fn,
                        canceled: Dn
                    } = yield Di(u, p, I, {
                        remediators: ve,
                        actions: Ve,
                        flow: ze,
                        step: lt,
                        useGenericRemediator: Ot
                    });
                    return p = Nt, Object.assign(Object.assign({}, c), {
                        idxResponse: p,
                        nextStep: fn,
                        canceled: Dn
                    })
                })).apply(this, arguments)
            }

            function va(u, c) {
                return Mo.apply(this, arguments)
            }

            function Mo() {
                return (Mo = (0, P.Z)(function*(u, c) {
                    let {
                        meta: p,
                        idxResponse: b
                    } = c;
                    const {
                        interactionCode: I
                    } = b, {
                        clientId: Q,
                        codeVerifier: ve,
                        ignoreSignature: Ve,
                        redirectUri: ze,
                        urls: lt,
                        scopes: Ot
                    } = p;
                    return (yield u.token.exchangeCodeForTokens({
                        interactionCode: I,
                        clientId: Q,
                        codeVerifier: ve,
                        ignoreSignature: Ve,
                        redirectUri: ze,
                        scopes: Ot
                    }, lt)).tokens
                })).apply(this, arguments)
            }

            function hs(u, c) {
                return Ti.apply(this, arguments)
            }

            function Ti() {
                return (Ti = (0, P.Z)(function*(u, c) {
                    let {
                        options: p,
                        idxResponse: b,
                        canceled: I,
                        status: Q
                    } = c;
                    const {
                        exchangeCodeForTokens: ve
                    } = p;
                    let Ot, At, Nt, fn, Dn, Hn, Ve = !1,
                        ze = !1,
                        lt = !0;
                    if (b && (Ve = !(!b.requestDidSucceed && !b.stepUp), Nt = ii(b), fn = Vr(u, b, p.useGenericRemediator), Dn = Ni(b, p), Hn = Fs(b)), Hn) {
                        Q = $.TERMINAL;
                        const di = Object.keys(b.actions).length > 0,
                            Nr = !!Dn.find(No => "ERROR" === No.class);
                        di || Nr || !0 !== b.requestDidSucceed ? Ve = !!di : ze = !0, lt = !1
                    } else I ? (Q = $.CANCELED, ze = !0) : b ? .interactionCode && (Ot = b.interactionCode, !1 === ve ? (Q = $.SUCCESS, ze = !1) : (At = yield va(u, c), Q = $.SUCCESS, ze = !0));
                    return Object.assign(Object.assign({}, c), {
                        status: Q,
                        interactionCode: Ot,
                        tokens: At,
                        shouldSaveResponse: Ve,
                        shouldClearTransaction: ze,
                        clearSharedStorage: lt,
                        enabledFeatures: Nt,
                        availableSteps: fn,
                        messages: Dn,
                        terminal: Hn
                    })
                })).apply(this, arguments)
            }

            function Ri(u) {
                return So.apply(this, arguments)
            }

            function So() {
                return (So = (0, P.Z)(function*(u, c = {}) {
                    var p;
                    let b = {
                        options: c,
                        values: _a(c)
                    };
                    b = xi(u, b), b = yield Aa(u, b), b = yield $s(u, b), b = yield hs(u, b);
                    const {
                        idxResponse: I,
                        meta: Q,
                        shouldSaveResponse: ve,
                        shouldClearTransaction: Ve,
                        clearSharedStorage: ze,
                        status: lt,
                        enabledFeatures: Ot,
                        availableSteps: At,
                        tokens: Nt,
                        nextStep: fn,
                        messages: Dn,
                        error: Hn,
                        interactionCode: di
                    } = b;
                    if (Ve) u.transactionManager.clear({
                        clearSharedStorage: ze
                    });
                    else if (ye(u, Object.assign({}, Q)), ve) {
                        const {
                            rawIdxState: ea,
                            requestDidSucceed: Ll
                        } = I;
                        u.transactionManager.saveIdxResponse({
                            rawIdxResponse: ea,
                            requestDidSucceed: Ll,
                            stateHandle: null === (p = I.context) || void 0 === p ? void 0 : p.stateHandle,
                            interactionHandle: Q ? .interactionHandle
                        })
                    }
                    const {
                        actions: Nr,
                        context: Do,
                        neededToProceed: No,
                        proceed: zi,
                        rawIdxState: hc,
                        requestDidSucceed: ha,
                        stepUp: mc
                    } = I || {};
                    return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({
                        status: lt
                    }, Q && {
                        meta: Q
                    }), Ot && {
                        enabledFeatures: Ot
                    }), At && {
                        availableSteps: At
                    }), Nt && {
                        tokens: Nt
                    }), fn && {
                        nextStep: fn
                    }), Dn && Dn.length && {
                        messages: Dn
                    }), Hn && {
                        error: Hn
                    }), mc && {
                        stepUp: mc
                    }), {
                        interactionCode: di,
                        actions: Nr,
                        context: Do,
                        neededToProceed: No,
                        proceed: zi,
                        rawIdxState: hc,
                        requestDidSucceed: ha
                    })
                })).apply(this, arguments)
            }

            function ci(u) {
                return ao.apply(this, arguments)
            }

            function ao() {
                return (ao = (0, P.Z)(function*(u, c = {}) {
                    return c.password && !c.authenticator && (c.authenticator = K.OKTA_PASSWORD), Ri(u, Object.assign(Object.assign({}, c), {
                        flow: "authenticate"
                    }))
                })).apply(this, arguments)
            }
            class Oi {
                constructor(c) {
                    this.meta = c
                }
            }
            class lo extends Oi {
                canVerify(c) {
                    return !!(c.credentials || c.verificationCode || c.otp)
                }
                mapCredentials(c) {
                    const {
                        credentials: p,
                        verificationCode: b,
                        otp: I
                    } = c;
                    if (p || b || I) return p || {
                        passcode: b || I
                    }
                }
                getInputs(c) {
                    var p;
                    return Object.assign(Object.assign({}, null === (p = c.form) || void 0 === p ? void 0 : p.value[0]), {
                        name: "verificationCode",
                        type: "string",
                        required: c.required
                    })
                }
            }
            class qn extends lo {
                mapCredentials(c) {
                    const {
                        verificationCode: p
                    } = c;
                    if (p) return {
                        totp: p
                    }
                }
            }
            class sa extends Oi {
                canVerify(c) {
                    return !!(c.credentials || c.password || c.passcode)
                }
                mapCredentials(c) {
                    const {
                        credentials: p,
                        password: b,
                        passcode: I,
                        revokeSessions: Q
                    } = c;
                    if (p || b || I) return p || {
                        passcode: I || b,
                        revokeSessions: Q
                    }
                }
                getInputs(c) {
                    var p, b;
                    const I = [Object.assign(Object.assign({}, null === (p = c.form) || void 0 === p ? void 0 : p.value[0]), {
                        name: "password",
                        type: "string",
                        required: c.required
                    })];
                    return (null === (b = c.form) || void 0 === b ? void 0 : b.value.find(ve => "revokeSessions" === ve.name)) && I.push({
                        name: "revokeSessions",
                        type: "boolean",
                        label: "Sign me out of all other devices",
                        required: !1
                    }), I
                }
            }
            class ti extends Oi {
                canVerify(c) {
                    const {
                        credentials: p
                    } = c;
                    if (p && p.questionKey && p.answer) return !0;
                    const {
                        questionKey: b,
                        question: I,
                        answer: Q
                    } = c;
                    return !(!b || !Q) || !(!I || !Q)
                }
                mapCredentials(c) {
                    const {
                        questionKey: p,
                        question: b,
                        answer: I
                    } = c;
                    if (I && (p || b)) return {
                        questionKey: b ? "custom" : p,
                        question: b,
                        answer: I
                    }
                }
                getInputs() {
                    return [{
                        name: "questionKey",
                        type: "string",
                        required: !0
                    }, {
                        name: "question",
                        type: "string",
                        label: "Create a security question"
                    }, {
                        name: "answer",
                        type: "string",
                        label: "Answer",
                        required: !0
                    }]
                }
            }
            class Go extends Oi {
                canVerify(c) {
                    const {
                        credentials: p
                    } = c;
                    if (p && p.answer) return !0;
                    const {
                        answer: b
                    } = c;
                    return !!b
                }
                mapCredentials(c) {
                    const {
                        answer: p
                    } = c;
                    if (p) return {
                        questionKey: this.meta.contextualData.enrolledQuestion.questionKey,
                        answer: p
                    }
                }
                getInputs() {
                    return [{
                        name: "answer",
                        type: "string",
                        label: "Answer",
                        required: !0
                    }]
                }
            }
            class ya extends Oi {
                canVerify(c) {
                    const {
                        credentials: p
                    } = c, b = p || c, {
                        clientData: I,
                        attestation: Q
                    } = b;
                    return !(!I || !Q)
                }
                mapCredentials(c) {
                    const {
                        credentials: p,
                        clientData: b,
                        attestation: I
                    } = c;
                    if (p || b || I) return p || {
                        clientData: b,
                        attestation: I
                    }
                }
                getInputs() {
                    return [{
                        name: "clientData",
                        type: "string",
                        required: !0,
                        visible: !1,
                        label: "Client Data"
                    }, {
                        name: "attestation",
                        type: "string",
                        required: !0,
                        visible: !1,
                        label: "Attestation"
                    }]
                }
            }
            class Zo extends Oi {
                canVerify(c) {
                    const {
                        credentials: p
                    } = c, b = p || c, {
                        clientData: I,
                        authenticatorData: Q,
                        signatureData: ve
                    } = b;
                    return !!(I && Q && ve)
                }
                mapCredentials(c) {
                    const {
                        credentials: p,
                        authenticatorData: b,
                        clientData: I,
                        signatureData: Q
                    } = c;
                    if (p || b || I || Q) return p || {
                        authenticatorData: b,
                        clientData: I,
                        signatureData: Q
                    }
                }
                getInputs() {
                    return [{
                        name: "authenticatorData",
                        type: "string",
                        label: "Authenticator Data",
                        required: !0,
                        visible: !1
                    }, {
                        name: "clientData",
                        type: "string",
                        label: "Client Data",
                        required: !0,
                        visible: !1
                    }, {
                        name: "signatureData",
                        type: "string",
                        label: "Signature Data",
                        required: !0,
                        visible: !1
                    }]
                }
            }
            class ee extends $i {
                constructor(c, p = {}) {
                    super(c, p), this.authenticator = function L(u) {
                        var c, p;
                        const I = u.relatesTo ? .value || {};
                        switch (I.key) {
                            case K.OKTA_PASSWORD:
                                return new sa(I);
                            case K.SECURITY_QUESTION:
                                return null !== (c = I.contextualData) && void 0 !== c && c.enrolledQuestion ? new Go(I) : new ti(I);
                            case K.OKTA_VERIFY:
                                return new qn(I);
                            case K.WEBAUTHN:
                                return null !== (p = I.contextualData) && void 0 !== p && p.challengeData ? new Zo(I) : new ya(I);
                            default:
                                return new lo(I)
                        }
                    }(c)
                }
                getNextStep(c, p) {
                    var b;
                    const I = super.getNextStep(c, p),
                        Q = null === (b = p ? .authenticatorEnrollments) || void 0 === b ? void 0 : b.value;
                    return Object.assign(Object.assign({}, I), {
                        authenticatorEnrollments: Q
                    })
                }
                canRemediate() {
                    return this.authenticator.canVerify(this.values)
                }
                mapCredentials() {
                    return this.authenticator.mapCredentials(this.values)
                }
                getInputCredentials(c) {
                    return this.authenticator.getInputs(c)
                }
                getValuesAfterProceed() {
                    return this.values = super.getValuesAfterProceed(), Object.keys(this.values).filter(p => "credentials" !== p).reduce((p, b) => Object.assign(Object.assign({}, p), {
                        [b]: this.values[b]
                    }), {})
                }
            }
            let R = (() => {
                    class u extends ee {}
                    return u.remediationName = "enroll-authenticator", u
                })(),
                ie = (() => {
                    class u extends $i {
                        canRemediate() {
                            return !!this.values.startPolling || "enroll-poll" === this.options.step
                        }
                        getNextStep(p, b) {
                            const I = super.getNextStep(p, b);
                            let Q = this.getAuthenticator();
                            return !Q && b ? .currentAuthenticator && (Q = b.currentAuthenticator.value), Object.assign(Object.assign({}, I), {
                                authenticator: Q,
                                poll: {
                                    required: !0,
                                    refresh: this.remediation.refresh
                                }
                            })
                        }
                        getValuesAfterProceed() {
                            return Object.keys(this.values).filter(b => "startPolling" !== b).reduce((b, I) => Object.assign(Object.assign({}, b), {
                                [I]: this.values[I]
                            }), {})
                        }
                    }
                    return u.remediationName = "enroll-poll", u
                })(),
                rt = (() => {
                    class u extends $i {
                        canRemediate() {
                            if (this.values.channel) return !0;
                            if (this.values.authenticator) {
                                const {
                                    id: p,
                                    channel: b
                                } = this.values.authenticator;
                                if (p && b) return !0
                            }
                            return !1
                        }
                        getNextStep(p, b) {
                            const I = super.getNextStep(p, b),
                                Q = b.currentAuthenticator.value;
                            return Object.assign(Object.assign({}, I), {
                                authenticator: Q
                            })
                        }
                        getData() {
                            var p;
                            return {
                                authenticator: {
                                    id: this.remediation.value[0].value.form.value[0].value,
                                    channel: (null === (p = this.values.authenticator) || void 0 === p ? void 0 : p.channel) || this.values.channel
                                },
                                stateHandle: this.values.stateHandle
                            }
                        }
                        getValuesAfterProceed() {
                            this.values = super.getValuesAfterProceed(), delete this.values.authenticators;
                            const p = this.values.channel ? "channel" : "authenticator";
                            return Object.keys(this.values).filter(I => I !== p).reduce((I, Q) => Object.assign(Object.assign({}, I), {
                                [Q]: this.values[Q]
                            }), {})
                        }
                    }
                    return u.remediationName = "select-enrollment-channel", u
                })(),
                gt = (() => {
                    class u extends $i {
                        getInputEmail() {
                            return [{
                                name: "email",
                                type: "string",
                                required: !0,
                                label: "Email"
                            }]
                        }
                        getInputPhoneNumber() {
                            return [{
                                name: "phoneNumber",
                                type: "string",
                                required: !0,
                                label: "Phone Number"
                            }]
                        }
                        canRemediate() {
                            return Boolean(this.values.email || this.values.phoneNumber)
                        }
                        getNextStep(p, b) {
                            const I = super.getNextStep(p, b),
                                Q = b.currentAuthenticator.value;
                            return Object.assign(Object.assign({}, I), {
                                authenticator: Q
                            })
                        }
                        getData() {
                            return {
                                stateHandle: this.values.stateHandle,
                                email: this.values.email,
                                phoneNumber: this.values.phoneNumber
                            }
                        }
                        getValuesAfterProceed() {
                            return Object.keys(this.values).filter(b => !["email", "phoneNumber"].includes(b)).reduce((b, I) => Object.assign(Object.assign({}, b), {
                                [I]: this.values[I]
                            }), {})
                        }
                    }
                    return u.remediationName = "enrollment-channel-data", u
                })(),
                Wt = (() => {
                    class u extends ee {}
                    return u.remediationName = "challenge-authenticator", u
                })(),
                en = (() => {
                    class u extends ie {
                        canRemediate() {
                            return !!this.values.startPolling || "challenge-poll" === this.options.step
                        }
                    }
                    return u.remediationName = "challenge-poll", u
                })(),
                X = (() => {
                    class u extends $i {
                        constructor() {
                            super(...arguments), this.map = {
                                identifier: ["username"]
                            }
                        }
                        canRemediate() {
                            const {
                                identifier: p
                            } = this.getData();
                            return !!p
                        }
                        mapCredentials() {
                            const {
                                credentials: p,
                                password: b
                            } = this.values;
                            if (p || b) return p || {
                                passcode: b
                            }
                        }
                        getInputCredentials(p) {
                            return Object.assign(Object.assign({}, p.form.value[0]), {
                                name: "password",
                                required: p.required
                            })
                        }
                    }
                    return u.remediationName = "identify", u
                })(),
                Y = (() => {
                    class u extends $i {
                        mapCredentials() {
                            const {
                                newPassword: p
                            } = this.values;
                            if (p) return {
                                passcode: p
                            }
                        }
                        getInputCredentials(p) {
                            const I = "password" === this.getAuthenticator().type ? "newPassword" : "verificationCode";
                            return Object.assign(Object.assign({}, p.form.value[0]), {
                                name: I
                            })
                        }
                    }
                    return u.remediationName = "reenroll-authenticator", u
                })(),
                H = (() => {
                    class u extends Y {}
                    return u.remediationName = "reenroll-authenticator-warning", u
                })(),
                Ie = (() => {
                    class u extends $i {
                        canRemediate() {
                            return !1
                        }
                        getNextStep() {
                            const {
                                name: p,
                                type: b,
                                idp: I,
                                href: Q
                            } = this.remediation;
                            return {
                                name: p,
                                type: b,
                                idp: I,
                                href: Q
                            }
                        }
                    }
                    return u.remediationName = "redirect-idp", u
                })();
            class It extends $i {
                findMatchedOption(c, p) {
                    let b;
                    for (let I of c)
                        if (b = p.find(({
                                relatesTo: Q
                            }) => Q.key && Q.key === I.key), b) break;
                    return b
                }
                canRemediate(c) {
                    var p, b;
                    const {
                        authenticators: I,
                        authenticator: Q
                    } = this.values, ve = Ao(this.remediation), {
                        options: Ve
                    } = ve;
                    if (!I || !I.length) return !1;
                    if (F(Q) && Q.id) return !0;
                    const ze = this.findMatchedOption(I, Ve);
                    if (ze) {
                        const lt = c ? .currentAuthenticator && c ? .currentAuthenticator.value.id === (null === (p = ze.relatesTo) || void 0 === p ? void 0 : p.id),
                            Ot = c ? .currentAuthenticatorEnrollment && c ? .currentAuthenticatorEnrollment.value.id === (null === (b = ze.relatesTo) || void 0 === b ? void 0 : b.id);
                        return !lt && !Ot
                    }
                    return !1
                }
                mapAuthenticator(c) {
                    const {
                        authenticators: p,
                        authenticator: b
                    } = this.values;
                    if (F(b) && b.id) return this.selectedAuthenticator = b, b;
                    const {
                        options: I
                    } = c, Q = function ra(u, c) {
                        let p;
                        for (let b of u)
                            if (p = c.find(({
                                    relatesTo: I
                                }) => I.key && I.key === b.key), p) break;
                        return p
                    }(p, I);
                    return this.selectedAuthenticator = Q.relatesTo, this.selectedOption = Q, {
                        id: Q ? .value.form.value.find(({
                            name: ve
                        }) => "id" === ve).value
                    }
                }
                getInputAuthenticator(c) {
                    return {
                        name: "authenticator",
                        type: "string",
                        options: c.options.map(({
                            label: b,
                            relatesTo: I
                        }) => ({
                            label: b,
                            value: I.key
                        }))
                    }
                }
                getValuesAfterProceed() {
                    this.values = super.getValuesAfterProceed();
                    const c = this.values.authenticators.filter(p => !0 !== Qo(p, this.selectedAuthenticator));
                    return Object.assign(Object.assign({}, this.values), {
                        authenticators: c
                    })
                }
            }
            let An = (() => {
                    class u extends It {
                        constructor(p, b = {}, I = {}) {
                            var Q;
                            super(p, b, I);
                            const ve = "recoverPassword" === this.options.flow;
                            (null === (Q = Ao(p).options) || void 0 === Q ? void 0 : Q.some(({
                                relatesTo: ze
                            }) => ze ? .key === K.OKTA_PASSWORD)) && (ve || this.values.password) && (this.values.authenticators = [...this.values.authenticators || [], {
                                key: K.OKTA_PASSWORD
                            }])
                        }
                    }
                    return u.remediationName = "select-authenticator-authenticate", u
                })(),
                nr = (() => {
                    class u extends It {}
                    return u.remediationName = "select-authenticator-enroll", u
                })();
            class no extends $i {
                constructor(c, p = {}) {
                    super(c, p), this.authenticator = this.getAuthenticator(), this.formatAuthenticatorData()
                }
                formatAuthenticatorData() {
                    if (this.getAuthenticatorData()) this.values.authenticatorsData = this.values.authenticatorsData.map(p => Qo(this.authenticator, p) ? this.mapAuthenticatorDataFromValues(p) : p);
                    else {
                        const p = this.mapAuthenticatorDataFromValues();
                        p && this.values.authenticatorsData.push(p)
                    }
                }
                getAuthenticatorData() {
                    return this.values.authenticatorsData.find(c => Qo(this.authenticator, c))
                }
                canRemediate() {
                    return this.values.authenticatorsData.some(c => Qo(this.authenticator, c))
                }
                mapAuthenticatorDataFromValues(c) {
                    let {
                        methodType: p,
                        authenticator: b
                    } = this.values;
                    !p && F(b) && (p = b ? .methodType);
                    const {
                        id: I,
                        enrollmentId: Q
                    } = this.authenticator, ve = Object.assign(Object.assign({
                        id: I,
                        enrollmentId: Q
                    }, c && c), p && {
                        methodType: p
                    });
                    return ve.methodType ? ve : null
                }
                getAuthenticatorFromRemediation() {
                    return this.remediation.value.find(({
                        name: p
                    }) => "authenticator" === p)
                }
                getValuesAfterProceed() {
                    this.values = super.getValuesAfterProceed();
                    const c = this.values.authenticatorsData.filter(p => !0 !== Qo(this.authenticator, p));
                    return Object.assign(Object.assign({}, this.values), {
                        authenticatorsData: c
                    })
                }
            }
            let Ci = (() => {
                    class u extends no {
                        mapAuthenticator() {
                            return this.getAuthenticatorData()
                        }
                        getInputAuthenticator() {
                            const p = this.getAuthenticatorFromRemediation(),
                                b = p.form.value.find(({
                                    name: Q
                                }) => "methodType" === Q);
                            return b && b.options ? {
                                name: "methodType",
                                type: "string",
                                required: !0,
                                options: b.options
                            } : [...p.form.value]
                        }
                        getValuesAfterProceed() {
                            return this.values = super.getValuesAfterProceed(), Object.keys(this.values).filter(b => "authenticator" !== b).reduce((b, I) => Object.assign(Object.assign({}, b), {
                                [I]: this.values[I]
                            }), {})
                        }
                    }
                    return u.remediationName = "authenticator-verification-data", u
                })(),
                Gi = (() => {
                    class u extends no {
                        mapAuthenticator() {
                            const p = this.getAuthenticatorData();
                            return {
                                id: Ao(this.remediation).form.value.find(({
                                    name: I
                                }) => "id" === I).value,
                                methodType: p.methodType,
                                phoneNumber: p.phoneNumber
                            }
                        }
                        getInputAuthenticator(p) {
                            return [{
                                name: "methodType",
                                type: "string"
                            }, {
                                name: "phoneNumber",
                                label: "Phone Number",
                                type: "string"
                            }].map(b => {
                                const I = p.form.value.find(Q => Q.name === b.name);
                                return Object.assign(Object.assign({}, I), b)
                            })
                        }
                        mapAuthenticatorDataFromValues(p) {
                            p = super.mapAuthenticatorDataFromValues(p);
                            const {
                                phoneNumber: b
                            } = this.values;
                            if (p || b) return Object.assign(Object.assign({}, p && p), b && {
                                phoneNumber: b
                            })
                        }
                    }
                    return u.remediationName = "authenticator-enrollment-data", u
                })(),
                Fi = (() => {
                    class u extends $i {
                        canRemediate() {
                            return !!this.values.skip || "skip" === this.options.step
                        }
                    }
                    return u.remediationName = "skip", u
                })();
            const Ma = {
                identify: X,
                "select-authenticator-authenticate": An,
                "select-authenticator-enroll": nr,
                "authenticator-enrollment-data": Gi,
                "authenticator-verification-data": Ci,
                "enroll-authenticator": R,
                "challenge-authenticator": Wt,
                "challenge-poll": en,
                "reenroll-authenticator": Y,
                "reenroll-authenticator-warning": H,
                "enroll-poll": ie,
                "select-enrollment-channel": rt,
                "enrollment-channel-data": gt,
                "redirect-idp": Ie,
                skip: Fi
            };
            let Ws = (() => {
                class u extends ee {}
                return u.remediationName = "reset-authenticator", u
            })();
            const zs = {
                identify: X,
                "identify-recovery": X,
                "select-authenticator-authenticate": An,
                "select-authenticator-enroll": nr,
                "challenge-authenticator": Wt,
                "authenticator-verification-data": Ci,
                "authenticator-enrollment-data": Gi,
                "reset-authenticator": Ws,
                "reenroll-authenticator": Y,
                "reenroll-authenticator-warning": H,
                "enroll-poll": ie
            };
            let Ic = (() => {
                    class u extends $i {
                        constructor(p, b = {}, I = {}) {
                            super(p, b, I), this.authenticator = null, this.getCredentialsFromRemediation() && (this.authenticator = this.authenticator = new sa({}))
                        }
                        canRemediate() {
                            if (this.authenticator && !this.authenticator.canVerify(this.values)) return !1;
                            const p = this.getData().userProfile;
                            return !!p && this.remediation.value.find(({
                                name: I
                            }) => "userProfile" === I).form.value.reduce((I, Q) => (Q.required && (I = I && !!p[Q.name]), I), !0)
                        }
                        getCredentialsFromRemediation() {
                            return this.remediation.value.find(({
                                name: p
                            }) => "credentials" === p)
                        }
                        mapUserProfile({
                            form: {
                                value: p
                            }
                        }) {
                            const I = p.map(({
                                name: Q
                            }) => Q).reduce((Q, ve) => this.values[ve] ? Object.assign(Object.assign({}, Q), {
                                [ve]: this.values[ve]
                            }) : Q, {});
                            if (0 !== Object.keys(I).length) return I
                        }
                        mapCredentials() {
                            const p = this.authenticator && this.authenticator.mapCredentials(this.values);
                            if (p) return p
                        }
                        getInputUserProfile(p) {
                            return [...p.form.value]
                        }
                        getInputCredentials(p) {
                            return [...p.form.value]
                        }
                        getErrorMessages(p) {
                            return p.value[0].form.value.reduce((b, I) => (I.messages && b.push(I.messages.value[0].message), b), [])
                        }
                    }
                    return u.remediationName = "enroll-profile", u
                })(),
                Yc = (() => {
                    class u extends $i {
                        canRemediate() {
                            return !0
                        }
                    }
                    return u.remediationName = "select-enroll-profile", u
                })();
            const Ku = {
                "select-enroll-profile": Yc,
                "enroll-profile": Ic,
                "authenticator-enrollment-data": Gi,
                "select-authenticator-enroll": nr,
                "enroll-poll": ie,
                "select-enrollment-channel": rt,
                "enrollment-channel-data": gt,
                "enroll-authenticator": R,
                skip: Fi
            };
            let Ga = (() => {
                class u extends It {
                    constructor() {
                        super(...arguments), this.map = {
                            identifier: ["username"]
                        }
                    }
                    canRemediate() {
                        return !!this.getData("identifier") && super.canRemediate()
                    }
                    mapAuthenticator(p) {
                        var b, I, Q;
                        const ve = super.mapAuthenticator(p),
                            Ve = null === (b = this.selectedOption) || void 0 === b ? void 0 : b.value.form.value.find(({
                                name: lt
                            }) => "methodType" === lt),
                            ze = this.values.methodType || Ve ? .value || (null === (Q = null === (I = Ve ? .options) || void 0 === I ? void 0 : I[0]) || void 0 === Q ? void 0 : Q.value);
                        return ze ? Object.assign(Object.assign({}, ve), {
                            methodType: ze
                        }) : ve
                    }
                    getInputUsername() {
                        return {
                            name: "username",
                            type: "string"
                        }
                    }
                }
                return u.remediationName = "select-authenticator-unlock-account", u
            })();
            const vc = {
                identify: X,
                "select-authenticator-unlock-account": Ga,
                "select-authenticator-authenticate": An,
                "challenge-authenticator": Wt,
                "challenge-poll": en,
                "authenticator-verification-data": Ci,
                "reenroll-authenticator-warning": H
            };

            function Sa(u, c = "default") {
                let p, b, I = !0;
                switch (c) {
                    case "register":
                    case "signup":
                    case "enrollProfile":
                        p = Ku, I = !1;
                        break;
                    case "recoverPassword":
                    case "resetPassword":
                        p = zs, b = ["currentAuthenticator-recover", "currentAuthenticatorEnrollment-recover"], I = !1;
                        break;
                    case "unlockAccount":
                        p = vc, I = !1, b = ["unlock-account"];
                        break;
                    default:
                        p = Ma
                }
                return {
                    flow: c,
                    remediators: p,
                    actions: b,
                    withCredentials: I
                }
            }

            function Ks(u, c) {
                return es.apply(this, arguments)
            }

            function es() {
                return (es = (0, P.Z)(function*(u, c) {
                    const b = Sa(0, u.transactionManager.load().flow);
                    return Ri(u, Object.assign(Object.assign(Object.assign({}, c), b), {
                        actions: ["cancel"]
                    }))
                })).apply(this, arguments)
            }

            function Za(u) {
                var c = /\+/g,
                    p = /([^&=]+)=?([^&]*)/g,
                    b = u || "";
                "#" === b.charAt(0) && "/" === b.charAt(1) && (b = b.substring(2)), ("#" === b.charAt(0) || "?" === b.charAt(0)) && (b = b.substring(1));
                for (var Q, I = {}; Q = p.exec(b);) {
                    var ve = Q[1],
                        Ve = Q[2];
                    I[ve] = "id_token" === ve || "access_token" === ve || "code" === ve ? Ve : decodeURIComponent(Ve.replace(c, " "))
                }
                return I
            }
            class Gl extends we {
                constructor(c, p) {
                    super(`Enter the OTP code in the originating client: ${p}`), this.name = "EmailVerifyCallbackError", this.state = c, this.otp = p
                }
            }

            function rl(u) {
                return "EmailVerifyCallbackError" === u.name
            }

            function Ys(u) {
                return /(otp=)/i.test(u) && /(state=)/i.test(u)
            }

            function Wa(u) {
                return Za(u)
            }

            function il(u, c) {
                return ol.apply(this, arguments)
            }

            function ol() {
                return (ol = (0, P.Z)(function*(u, c) {
                    if (Ys(c)) {
                        const {
                            state: p,
                            otp: b
                        } = Wa(c);
                        if (u.idx.canProceed({
                                state: p
                            })) return yield u.idx.proceed({
                            state: p,
                            otp: b
                        });
                        throw new Gl(p, b)
                    }
                })).apply(this, arguments)
            }

            function sl(u, c = {}) {
                return !(!Lr(u, c) && !c.stateHandle)
            }

            function ba(u) {
                return ts.apply(this, arguments)
            }

            function ts() {
                return (ts = (0, P.Z)(function*(u, c = {}) {
                    if (!sl(u, c)) throw new fe("Unable to proceed: saved transaction could not be loaded");
                    let {
                        flow: p,
                        state: b
                    } = c;
                    return p || (p = Lr(u, {
                        state: b
                    }) ? .flow), Ri(u, Object.assign(Object.assign({}, c), {
                        flow: p
                    }))
                })).apply(this, arguments)
            }

            function ko(u) {
                return ms.apply(this, arguments)
            }

            function ms() {
                return (ms = (0, P.Z)(function*(u, c = {}) {
                    var p;
                    const {
                        withCredentials: b,
                        exchangeCodeForTokens: I
                    } = c;
                    let Q = yield ba(u, {
                        startPolling: !0,
                        withCredentials: b,
                        exchangeCodeForTokens: I
                    });
                    return (null === (p = Lr(u) ? .remediations) || void 0 === p ? void 0 : p.find(ze => ze.includes("poll"))) ? .length || le("No polling remediations available at the current IDX flow stage"), Number.isInteger(c.refresh) ? new Promise(function(ze, lt) {
                        setTimeout((0, P.Z)(function*() {
                            var Ot, At;
                            try {
                                const Nt = null === (At = null === (Ot = Q.nextStep) || void 0 === Ot ? void 0 : Ot.poll) || void 0 === At ? void 0 : At.refresh;
                                ze(Nt ? ko(u, {
                                    refresh: Nt
                                }) : Q)
                            } catch (Nt) {
                                lt(Nt)
                            }
                        }), c.refresh)
                    }) : Q
                })).apply(this, arguments)
            }

            function ui(u) {
                return Zl.apply(this, arguments)
            }

            function Zl() {
                return (Zl = (0, P.Z)(function*(u, c = {}) {
                    return u.transactionManager.clear(), Ri(u, Object.assign({
                        exchangeCodeForTokens: !1
                    }, c))
                })).apply(this, arguments)
            }

            function yc(u) {
                return al.apply(this, arguments)
            }

            function al() {
                return (al = (0, P.Z)(function*(u, c = {}) {
                    if (!Tn(u)) {
                        const {
                            enabledFeatures: p
                        } = yield ui(u, Object.assign(Object.assign({}, c), {
                            flow: "register",
                            autoRemediate: !1
                        }));
                        if (!c.activationToken && p && !p.includes(G.REGISTRATION)) throw new fe("Registration is not supported based on your current org configuration.")
                    }
                    return Ri(u, Object.assign(Object.assign({}, c), {
                        flow: "register"
                    }))
                })).apply(this, arguments)
            }

            function Wl(u) {
                return Et.apply(this, arguments)
            }

            function Et() {
                return (Et = (0, P.Z)(function*(u, c = {}) {
                    const p = Sa(0, "recoverPassword");
                    return Ri(u, Object.assign(Object.assign({}, c), p))
                })).apply(this, arguments)
            }

            function Jt(u, c) {
                return Vt.apply(this, arguments)
            }

            function Vt() {
                return (Vt = (0, P.Z)(function*(u, c) {
                    const p = u.transactionManager.load();
                    if (!p) throw new fe("No transaction data was found in storage");
                    const {
                        codeVerifier: b,
                        state: I
                    } = p, {
                        searchParams: Q
                    } = new URL(c), ve = Q.get("state"), Ve = Q.get("interaction_code"), ze = Q.get("error");
                    if (ze) throw new sn(ze, Q.get("error_description"));
                    if (ve !== I) throw new fe("State in redirect uri does not match with transaction state");
                    if (!Ve) throw new fe("Unable to parse interaction_code from the url");
                    const {
                        tokens: lt
                    } = yield u.token.exchangeCodeForTokens({
                        interactionCode: Ve,
                        codeVerifier: b
                    });
                    u.tokenManager.setTokens(lt)
                })).apply(this, arguments)
            }

            function Sn(u) {
                return ir.apply(this, arguments)
            }

            function ir() {
                return (ir = (0, P.Z)(function*(u, c = {}) {
                    if (c.flow = "unlockAccount", !Tn(u)) {
                        const {
                            enabledFeatures: p
                        } = yield ui(u, Object.assign(Object.assign({}, c), {
                            autoRemediate: !1
                        }));
                        if (p && !p.includes(G.ACCOUNT_UNLOCK)) throw new fe("Self Service Account Unlock is not supported based on your current org configuration.")
                    }
                    return Ri(u, Object.assign({}, c))
                })).apply(this, arguments)
            }

            function ni(u) {
                return "OAuthError" === u.name && "interaction_required" === u.errorCode
            }

            function wi(u) {
                return cn(u) && "invalid_grant" === u.errorCode && "The refresh token is invalid or expired." === u.errorSummary
            }

            function Bs(u) {
                return u.pkce || "code" === u.responseType || "query" === u.responseMode
            }

            function j(u) {
                return Bs(u) && "fragment" !== u.responseMode ? window.location.search : window.location.hash
            }

            function de(u) {
                if (! function Tl(u, c) {
                        var p = c.options;
                        return !(!u || !p.redirectUri) && 0 === u.indexOf(p.redirectUri)
                    }(window.location.href, u)) return !1;
                var c = Bs(u.options),
                    p = j(u.options);
                if (function Dl(u) {
                        return /[?&#]error=/.test(u) || /[?&#]error_description/.test(u)
                    }(p)) return !0;
                if (c) {
                    var b = function ll(u) {
                        return /[?&#]code=/.test(u)
                    }(p) || function As(u) {
                        return /[?&#]interaction_code=/.test(u)
                    }(p);
                    return b
                }
                return function Os(u) {
                    return /[?&#](id|access)_token=/.test(u)
                }(window.location.hash)
            }

            function q(u, c) {
                if (!c) {
                    if (!de(u)) return !1;
                    c = j(u.options)
                }
                return /(error=interaction_required)/i.test(c)
            }
            class nn {
                constructor() {
                    this.environments = ["okta-auth-js/7.14.1"], this.maybeAddNodeEnvironment()
                }
                addEnvironment(c) {
                    this.environments.push(c)
                }
                getHttpHeader() {
                    return {
                        "X-Okta-User-Agent-Extended": this.environments.join(" ")
                    }
                }
                getVersion() {
                    return "7.14.1"
                }
                maybeAddNodeEnvironment() {
                    if (In() || !process || !process.versions) return;
                    const {
                        node: c
                    } = process.versions;
                    this.environments.push(`nodejs/${c}`)
                }
            }

            function Gn(u, c, p) {
                u.options.headers = u.options.headers || {}, u.options.headers[c] = p
            }

            function dr(u) {
                return Hr(Jn(u))
            }

            function Hr(u) {
                return u.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "")
            }

            function Sr(u) {
                return u.replace(/-/g, "+").replace(/_/g, "/")
            }

            function Ai(u) {
                var c = Sr(u);
                switch (c.length % 4) {
                    case 0:
                        break;
                    case 2:
                        c += "==";
                        break;
                    case 3:
                        c += "=";
                        break;
                    default:
                        throw new fe("Not a valid Base64Url")
                }
                var p = cr(c);
                try {
                    return decodeURIComponent(escape(p))
                } catch {
                    return p
                }
            }

            function ri(u) {
                for (var c = new Uint8Array(u.length), p = 0; p < u.length; p++) c[p] = u.charCodeAt(p);
                return c
            }

            function co(u) {
                return cr(Sr(u))
            }

            function Lo(u) {
                return Uint8Array.from(co(u), c => c.charCodeAt(0))
            }

            function Xi(u) {
                return Jn(new Uint8Array(u).reduce((c, p) => c + String.fromCharCode(p), ""))
            }

            function Wo(u) {
                var c = (new TextEncoder).encode(u);
                return wr.subtle.digest("SHA-256", c).then(function(p) {
                    var I = new Uint8Array(p).slice(0, 16);
                    return dr(String.fromCharCode.apply(null, I))
                })
            }

            function Ii(u, c) {
                c = je(c);
                var b = {
                    name: "RSASSA-PKCS1-v1_5",
                    hash: {
                        name: "SHA-256"
                    }
                };
                return delete c.use, wr.subtle.importKey("jwk", c, b, !0, ["verify"]).then(function(ve) {
                    var Ve = u.split("."),
                        ze = ri(Ve[0] + "." + Ve[1]),
                        Ot = ri(co(Ve[2]));
                    return wr.subtle.verify(b, ve, Ot, ze)
                })
            }
            class Us {
                constructor(c = {
                    quiet: !1
                }) {
                    this.queue = [], this.running = !1, this.options = c
                }
                push(c, p, ...b) {
                    return new Promise((I, Q) => {
                        this.queue.length > 0 && !1 !== this.options.quiet && le("Async method is being called but another async method is already running. The new method will be delayed until the previous method completes."), this.queue.push({
                            method: c,
                            thisObject: p,
                            args: b,
                            resolve: I,
                            reject: Q
                        }), this.run()
                    })
                }
                run() {
                    if (!this.running && 0 !== this.queue.length) {
                        this.running = !0;
                        var c = this.queue.shift(),
                            p = c.method.apply(c.thisObject, c.args);
                        ! function Ke(u) {
                            return u && u.finally && "function" == typeof u.finally
                        }(p) ? (c.resolve(p), this.running = !1, this.run()) : p.then(c.resolve, c.reject).finally(() => {
                            this.running = !1, this.run()
                        })
                    }
                }
            }

            function Pa(u) {
                return ("0" + u.toString(16)).substr(-2)
            }
            var uo = {
                DEFAULT_CODE_CHALLENGE_METHOD: on,
                generateVerifier: function cl(u) {
                    var c = u || "";
                    return c.length < Pt && (c += function Ol(u) {
                        var c = new Uint8Array(Math.ceil(u / 2));
                        return wr.getRandomValues(c), Array.from(c, Pa).join("").slice(0, u)
                    }(Pt - c.length)), encodeURIComponent(c).slice(0, jt)
                },
                computeChallenge: function Al(u) {
                    var c = (new TextEncoder).encode(u);
                    return wr.subtle.digest("SHA-256", c).then(function(p) {
                        return dr(String.fromCharCode.apply(null, new Uint8Array(p)))
                    })
                }
            };

            function Kl(u) {
                var p, c = u.split(".");
                try {
                    p = {
                        header: JSON.parse(Ai(c[0])),
                        payload: JSON.parse(Ai(c[1])),
                        signature: c[2]
                    }
                } catch {
                    throw new fe("Malformed token")
                }
                return p
            }

            function Ia(u) {
                const {
                    pkce: c,
                    clientId: p,
                    redirectUri: b,
                    responseType: I,
                    responseMode: Q,
                    scopes: ve,
                    acrValues: Ve,
                    maxAge: ze,
                    state: lt,
                    ignoreSignature: Ot,
                    dpop: At
                } = u.options, Nt = In() ? window.location.href : void 0;
                return be({
                    pkce: c,
                    clientId: p,
                    redirectUri: b || Nt,
                    responseType: I || ["token", "id_token"],
                    responseMode: Q,
                    state: lt || Fe(),
                    nonce: xt(64),
                    scopes: ve || ["openid", "email"],
                    acrValues: Ve,
                    maxAge: ze,
                    ignoreSignature: Ot,
                    dpop: At
                })
            }
            const Cc = "DPoPKeys";

            function Po(u) {
                return (cn(u) || function Tr(u) {
                    return u instanceof Be
                }(u)) && "use_dpop_nonce" === u.errorCode
            }

            function wo(u, c, p) {
                return fo.apply(this, arguments)
            }

            function fo() {
                return (fo = (0, P.Z)(function*(u, c, p) {
                    const b = dr(JSON.stringify(u)),
                        I = dr(JSON.stringify(c));
                    return `${b}.${I}.${Hr(Xi(yield wr.subtle.sign({name:p.algorithm.name},p,ri(`
                    $ {
                        b
                    }.$ {
                        I
                    }
                    `))))}`
                })).apply(this, arguments)
            }

            function ul(u = 32) {
                return [...wr.getRandomValues(new Uint8Array(u))].map(c => c.toString(16)).join("")
            }

            function dl() {
                return Yl.apply(this, arguments)
            }

            function Yl() {
                return (Yl = (0, P.Z)(function*() {
                    const u = {
                        name: "RSASSA-PKCS1-v1_5",
                        hash: "SHA-256",
                        modulusLength: 2048,
                        publicExponent: new Uint8Array([1, 0, 1])
                    };
                    return wr.subtle.generateKey(u, !1, ["sign", "verify"])
                })).apply(this, arguments)
            }

            function qc(u) {
                return aa.apply(this, arguments)
            }

            function aa() {
                return (aa = (0, P.Z)(function*(u) {
                    const c = (new TextEncoder).encode(u),
                        p = yield wr.subtle.digest("SHA-256", c);
                    return Jn(String.fromCharCode.apply(null, new Uint8Array(p))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "")
                })).apply(this, arguments)
            }

            function ql() {
                return new Promise((u, c) => {
                    try {
                        const b = window.indexedDB.open("OktaAuthJs", 1);
                        b.onerror = function() {
                            c(b.error)
                        }, b.onupgradeneeded = function() {
                            b.result.createObjectStore(Cc)
                        }, b.onsuccess = function() {
                            const I = b.result,
                                Q = I.transaction(Cc, "readwrite");
                            Q.onerror = function() {
                                c(Q.error)
                            };
                            const ve = Q.objectStore(Cc);
                            u(ve), Q.oncomplete = function() {
                                I.close()
                            }
                        }
                    } catch (p) {
                        c(p)
                    }
                })
            }

            function zo(u) {
                return Ms.apply(this, arguments)
            }

            function Ms() {
                return (Ms = (0, P.Z)(function*(u, ...c) {
                    const p = yield ql();
                    return new Promise((b, I) => {
                        const Q = p[u](...c);
                        Q.onsuccess = function() {
                            b(Q)
                        }, Q.onerror = function() {
                            I(Q.error)
                        }
                    })
                })).apply(this, arguments)
            }

            function Ml(u, c) {
                return Na.apply(this, arguments)
            }

            function Na() {
                return (Na = (0, P.Z)(function*(u, c) {
                    return yield zo("add", c, u), c
                })).apply(this, arguments)
            }

            function la(u) {
                return qs.apply(this, arguments)
            }

            function qs() {
                return (qs = (0, P.Z)(function*(u) {
                    if (u) {
                        const c = yield zo("get", u);
                        if (c.result) return c.result
                    }
                    throw new fe("Unable to locate dpop key pair required for refresh" + (u ? ` (${u})` : ""))
                })).apply(this, arguments)
            }

            function Ca(u) {
                return gs.apply(this, arguments)
            }

            function gs() {
                return (gs = (0, P.Z)(function*(u) {
                    yield zo("delete", u)
                })).apply(this, arguments)
            }

            function xc() {
                return (xc = (0, P.Z)(function*() {
                    yield zo("clear")
                })).apply(this, arguments)
            }

            function Ra() {
                return Jl.apply(this, arguments)
            }

            function Jl() {
                return (Jl = (0, P.Z)(function*() {
                    const u = ul(4),
                        c = yield dl();
                    return yield Ml(u, c), {
                        keyPair: c,
                        keyPairId: u
                    }
                })).apply(this, arguments)
            }

            function Js(u, c) {
                return Mi.apply(this, arguments)
            }

            function Mi() {
                return (Mi = (0, P.Z)(function*(u, c) {
                    var p;
                    let b = !1;
                    const {
                        accessToken: I,
                        refreshToken: Q
                    } = c;
                    "access" === u && I && "DPoP" === I.tokenType && !Q && (b = !0), "refresh" === u && Q && !I && (b = !0);
                    const ve = null !== (p = I ? .dpopPairId) && void 0 !== p ? p : Q ? .dpopPairId;
                    b && ve && (yield Ca(ve))
                })).apply(this, arguments)
            }

            function $e(u) {
                return Fa.apply(this, arguments)
            }

            function Fa() {
                return (Fa = (0, P.Z)(function*({
                    keyPair: u,
                    url: c,
                    method: p,
                    nonce: b,
                    accessToken: I
                }) {
                    const {
                        kty: Q,
                        crv: ve,
                        e: Ve,
                        n: ze,
                        x: lt,
                        y: Ot
                    } = yield wr.subtle.exportKey("jwk", u.publicKey), At = {
                        alg: "RS256",
                        typ: "dpop+jwt",
                        jwk: {
                            kty: Q,
                            crv: ve,
                            e: Ve,
                            n: ze,
                            x: lt,
                            y: Ot
                        }
                    }, Nt = {
                        htm: p,
                        htu: c,
                        iat: Math.floor(Date.now() / 1e3),
                        jti: ul()
                    };
                    return b && (Nt.nonce = b), I && (Nt.ath = yield qc(I)), wo(At, Nt, u.privateKey)
                })).apply(this, arguments)
            }

            function Qs(u) {
                return ns.apply(this, arguments)
            }

            function ns() {
                return (ns = (0, P.Z)(function*({
                    keyPair: u,
                    url: c,
                    method: p,
                    nonce: b
                }) {
                    const I = {
                        keyPair: u,
                        url: c,
                        method: p
                    };
                    return b && (I.nonce = b), $e(I)
                })).apply(this, arguments)
            }

            function Ir(u) {
                if (!u.clientId) throw new fe("A clientId must be specified in the OktaAuth constructor to get a token");
                if (!u.redirectUri) throw new fe("The redirectUri passed to /authorize must also be passed to /token");
                if (!u.authorizationCode && !u.interactionCode) throw new fe("An authorization code (returned from /authorize) must be passed to /token");
                if (!u.codeVerifier) throw new fe('The "codeVerifier" (generated and saved by your app) must be passed to /token')
            }

            function Ql(u, c) {
                var p = be({
                    client_id: c.clientId,
                    redirect_uri: c.redirectUri,
                    grant_type: c.interactionCode ? "interaction_code" : "authorization_code",
                    code_verifier: c.codeVerifier
                });
                c.interactionCode ? p.interaction_code = c.interactionCode : c.authorizationCode && (p.code = c.authorizationCode);
                const {
                    clientSecret: b
                } = u.options;
                return b && (p.client_secret = b), De(p).slice(1)
            }

            function Yu(u, c) {
                return za.apply(this, arguments)
            }

            function za() {
                return (za = (0, P.Z)(function*(u, {
                    url: c,
                    data: p,
                    nonce: b,
                    dpopKeyPair: I
                }) {
                    var Q, ve;
                    const ze = {
                        "Content-Type": "application/x-www-form-urlencoded"
                    };
                    if (u.options.dpop) {
                        if (!I) throw new fe("DPoP is configured but no key pair was provided");
                        const lt = yield Qs({
                            url: c,
                            method: "POST",
                            nonce: b,
                            keyPair: I
                        });
                        ze.DPoP = lt
                    }
                    try {
                        return yield zr(u, {
                            url: c,
                            method: "POST",
                            args: p,
                            headers: ze
                        })
                    } catch (lt) {
                        if (Po(lt) && !b) {
                            const Ot = null === (Q = lt.resp) || void 0 === Q ? void 0 : Q.headers["dpop-nonce"];
                            if (!Ot) throw new Xn({
                                errorSummary: "No `dpop-nonce` header found when required"
                            }, null !== (ve = lt.resp) && void 0 !== ve ? ve : void 0);
                            return Yu(u, {
                                url: c,
                                data: p,
                                dpopKeyPair: I,
                                nonce: Ot
                            })
                        }
                        throw lt
                    }
                })).apply(this, arguments)
            }

            function Xl(u, c, p) {
                return Jc.apply(this, arguments)
            }

            function Jc() {
                return (Jc = (0, P.Z)(function*(u, c, p) {
                    Ir(c);
                    var b = Ql(u, c);
                    return Yu(u, {
                        url: p.tokenUrl,
                        data: b,
                        dpopKeyPair: c ? .dpopKeyPair
                    })
                })).apply(this, arguments)
            }

            function Yi(u, c, p) {
                return ec.apply(this, arguments)
            }

            function ec() {
                return (ec = (0, P.Z)(function*(u, c, p) {
                    const b = Object.entries({
                        client_id: c.clientId,
                        grant_type: "refresh_token",
                        scope: p.scopes.join(" "),
                        refresh_token: p.refreshToken
                    }).map(function([ve, Ve]) {
                        return ve + "=" + encodeURIComponent(Ve)
                    }).join("&");
                    let I = p.tokenUrl;
                    return c.extraParams && Object.keys(c.extraParams).length >= 1 && (I += De(c.extraParams)), Yu(u, {
                        url: I,
                        data: b,
                        dpopKeyPair: c ? .dpopKeyPair
                    })
                })).apply(this, arguments)
            }

            function fl(u, c) {
                return Fr(u, (c || u.options.issuer) + "/.well-known/openid-configuration", {
                    cacheResponse: !0
                })
            }

            function qu(u, c, p) {
                var b = u.storageManager.getHttpCache(u.options.cookies);
                return fl(u, c).then(function(I) {
                    var Q = I.jwks_uri,
                        Ve = b.getStorage()[Q];
                    if (Ve && Date.now() / 1e3 < Ve.expiresAt) {
                        var ze = ge(Ve.response.keys, {
                            kid: p
                        });
                        if (ze) return ze
                    }
                    return b.clearStorage(Q), Fr(u, Q, {
                        cacheResponse: !0
                    }).then(function(lt) {
                        var Ot = ge(lt.keys, {
                            kid: p
                        });
                        if (Ot) return Ot;
                        throw new fe("The key id, " + p + ", was not found in the server's keys")
                    })
                })
            }

            function ca(u, c, p) {
                const b = p.clientId,
                    I = p.issuer,
                    Q = p.nonce,
                    ve = p.acrValues;
                if (!c || !I || !b) throw new fe("The jwt, iss, and aud arguments are all required");
                if (Q && c.nonce !== Q) throw new fe("OAuth flow response nonce doesn't match request nonce");
                const Ve = Math.floor(Date.now() / 1e3);
                if (c.iss !== I) throw new fe("The issuer [" + c.iss + "] does not match [" + I + "]");
                if (Array.isArray(c.aud) && c.aud.indexOf(b) < 0 || !Array.isArray(c.aud) && c.aud !== b) throw new fe("The audience [" + c.aud + "] does not match [" + b + "]");
                if (ve && c.acr !== ve) throw new fe("The acr [" + c.acr + "] does not match acr_values [" + ve + "]");
                if (c.iat > c.exp) throw new fe("The JWT expired before it was issued");
                if (!u.options.ignoreLifetime) {
                    if (Ve - u.options.maxClockSkew > c.exp) throw new fe("The JWT expired and is no longer valid");
                    if (c.iat > Ve + u.options.maxClockSkew) throw new fe("The JWT was issued in the future")
                }
            }

            function rs(u, c, p) {
                return Vs.apply(this, arguments)
            }

            function Vs() {
                return (Vs = (0, P.Z)(function*(u, c, p) {
                    if (!c || !c.idToken) throw new fe("Only idTokens may be verified");
                    const b = Kl(c.idToken),
                        I = p ? .issuer || u.options.issuer,
                        {
                            issuer: Q
                        } = yield fl(u, I), ve = Object.assign({
                            clientId: u.options.clientId,
                            ignoreSignature: u.options.ignoreSignature
                        }, p, {
                            issuer: Q
                        });
                    if (ca(u, b.payload, ve), 1 == ve.ignoreSignature || !u.features.isTokenVerifySupported()) return c;
                    const Ve = yield qu(u, c.issuer, b.header.kid);
                    if (!(yield Ii(c.idToken, Ve))) throw new fe("The token signature is not valid");
                    if (p && p.accessToken && c.claims.at_hash && (yield Wo(p.accessToken)) !== c.claims.at_hash) throw new fe("Token hash verification failed");
                    return c
                })).apply(this, arguments)
            }

            function Sl(u, c) {
                if (u.error && u.error_description) throw new sn(u.error, u.error_description);
                if (u.state !== c.state) throw new fe("OAuth flow response state doesn't match request state")
            }

            function po(u, c, p, b) {
                return O.apply(this, arguments)
            }

            function O() {
                return (O = (0, P.Z)(function*(u, c, p, b) {
                    var I, Q;
                    if (!1 !== u.options.pkce && (p.code || p.interaction_code)) return u.token.exchangeCodeForTokens(Object.assign({}, c, {
                        authorizationCode: p.code,
                        interactionCode: p.interaction_code
                    }), b);
                    c = c || Ia(u), b = b || Ge(u, c);
                    let ze, Ve = c.responseType || [];
                    !Array.isArray(Ve) && "none" !== Ve && (Ve = [Ve]), ze = p.scope ? p.scope.split(" ") : je(c.scopes);
                    const lt = c.clientId || u.options.clientId;
                    if (Sl(p, c), c.dpop) {
                        const {
                            allowBearerTokens: Nr
                        } = null !== (Q = null === (I = u.options) || void 0 === I ? void 0 : I.dpopOptions) && void 0 !== Q ? Q : {
                            allowBearerTokens: !1
                        };
                        if (!Nr && "DPoP" !== p.token_type) throw new fe('Unable to parse OAuth flow response: DPoP was configured but "token_type" was not DPoP')
                    }
                    const Ot = {},
                        At = p.expires_in,
                        Nt = p.token_type,
                        fn = p.access_token,
                        Dn = p.id_token,
                        Hn = p.refresh_token,
                        di = Math.floor(Date.now() / 1e3);
                    if (fn) {
                        const Nr = u.token.decode(fn);
                        Ot.accessToken = {
                            accessToken: fn,
                            claims: Nr.payload,
                            expiresAt: Number(At) + di,
                            tokenType: Nt,
                            scopes: ze,
                            authorizeUrl: b.authorizeUrl,
                            userinfoUrl: b.userinfoUrl
                        }, c.dpopPairId && (Ot.accessToken.dpopPairId = c.dpopPairId), c.extraParams && (Ot.accessToken.extraParams = c.extraParams)
                    }
                    if (Hn && (Ot.refreshToken = {
                            refreshToken: Hn,
                            expiresAt: Number(At) + di,
                            scopes: ze,
                            tokenUrl: b.tokenUrl,
                            authorizeUrl: b.authorizeUrl,
                            issuer: b.issuer
                        }, c.dpopPairId && (Ot.refreshToken.dpopPairId = c.dpopPairId), c.extraParams && (Ot.refreshToken.extraParams = c.extraParams)), Dn) {
                        const Nr = u.token.decode(Dn),
                            Do = {
                                idToken: Dn,
                                claims: Nr.payload,
                                expiresAt: Nr.payload.exp - Nr.payload.iat + di,
                                scopes: ze,
                                authorizeUrl: b.authorizeUrl,
                                issuer: b.issuer,
                                clientId: lt
                            };
                        c.extraParams && (Do.extraParams = c.extraParams);
                        const No = {
                            clientId: lt,
                            issuer: b.issuer,
                            nonce: c.nonce,
                            accessToken: fn,
                            acrValues: c.acrValues
                        };
                        void 0 !== c.ignoreSignature && (No.ignoreSignature = c.ignoreSignature), yield rs(u, Do, No), Ot.idToken = Do
                    }
                    if (-1 !== Ve.indexOf("token") && !Ot.accessToken) throw new fe('Unable to parse OAuth flow response: response type "token" was requested but "access_token" was not returned.');
                    if (-1 !== Ve.indexOf("id_token") && !Ot.idToken) throw new fe('Unable to parse OAuth flow response: response type "id_token" was requested but "id_token" was not returned.');
                    return {
                        tokens: Ot,
                        state: p.state,
                        code: p.code,
                        responseType: Ve
                    }
                })).apply(this, arguments)
            }

            function S(u, c, p) {
                return T.apply(this, arguments)
            }

            function T() {
                return (T = (0, P.Z)(function*(u, c, p) {
                    p = p || Ge(u, c), c = Object.assign({}, Ia(u), je(c));
                    const {
                        authorizationCode: b,
                        interactionCode: I,
                        codeVerifier: Q,
                        clientId: ve,
                        redirectUri: Ve,
                        scopes: ze,
                        ignoreSignature: lt,
                        state: Ot,
                        acrValues: At,
                        dpop: Nt,
                        dpopPairId: fn,
                        extraParams: Dn
                    } = c, Hn = {
                        clientId: ve,
                        redirectUri: Ve,
                        authorizationCode: b,
                        interactionCode: I,
                        codeVerifier: Q,
                        dpop: Nt
                    }, di = ["token"]; - 1 !== ze.indexOf("openid") && di.push("id_token");
                    const Nr = {
                        clientId: ve,
                        redirectUri: Ve,
                        scopes: ze,
                        responseType: di,
                        ignoreSignature: lt,
                        acrValues: At,
                        extraParams: Dn
                    };
                    try {
                        if (Nt)
                            if (fn) {
                                const zi = yield la(fn);
                                Hn.dpopKeyPair = zi, Nr.dpop = Nt, Nr.dpopPairId = fn
                            } else {
                                const {
                                    keyPair: zi,
                                    keyPairId: hc
                                } = yield Ra();
                                Hn.dpopKeyPair = zi, Nr.dpop = Nt, Nr.dpopPairId = hc
                            }
                        const Do = yield Xl(u, Hn, p), No = yield po(u, Nr, Do, p);
                        return No.code = b, No.state = Ot, No
                    } finally {
                        u.transactionManager.clear()
                    }
                })).apply(this, arguments)
            }
            var z = (() => {
                return (u = z || (z = {})).ACCESS = "accessToken", u.ID = "idToken", u.REFRESH = "refreshToken", z;
                var u
            })();

            function Se(u) {
                return u && u.accessToken
            }

            function tt(u) {
                return u && u.idToken
            }

            function st(u) {
                return u && u.refreshToken
            }

            function bn() {
                return (bn = (0, P.Z)(function*(u, c, p) {
                    if (c || (c = (yield u.tokenManager.getTokens()).accessToken), p || (p = (yield u.tokenManager.getTokens()).idToken), !c || !Se(c)) return Promise.reject(new fe("getUserInfo requires an access token object"));
                    if (!p || !tt(p)) return Promise.reject(new fe("getUserInfo requires an ID token object"));
                    const b = {
                        url: c.userinfoUrl,
                        method: "GET",
                        accessToken: c.accessToken
                    };
                    if (u.options.dpop) {
                        const I = yield u.getDPoPAuthorizationHeaders(Object.assign(Object.assign({}, b), {
                            accessToken: c
                        }));
                        b.headers = I, delete b.accessToken
                    }
                    return zr(u, b).then(I => I.sub === p.claims.sub ? I : Promise.reject(new fe("getUserInfo request was rejected due to token mismatch"))).catch(function(I) {
                        var Q;
                        if (I instanceof Be && !u.options.dpop) {
                            const {
                                error: ve,
                                errorDescription: Ve
                            } = I;
                            throw new sn(ve, Ve)
                        }
                        if (!u.options.dpop) {
                            let ve = I;
                            if (I instanceof Xn && (null === (Q = I ? .meta) || void 0 === Q ? void 0 : Q.wwwAuthHeader) && (ve = Be.parseHeader(I.meta.wwwAuthHeader)), ve instanceof Be) {
                                const {
                                    error: Ve,
                                    errorDescription: ze
                                } = ve;
                                throw new sn(Ve, ze)
                            }
                        }
                        throw I
                    })
                })).apply(this, arguments)
            }

            function On(u, c, p) {
                u.addEventListener ? u.addEventListener(c, p) : u.attachEvent("on" + c, p)
            }

            function gi(u, c, p) {
                u.removeEventListener ? u.removeEventListener(c, p) : u.detachEvent("on" + c, p)
            }

            function is(u) {
                var c = document.createElement("iframe");
                return c.style.display = "none", c.src = u, document.body.appendChild(c)
            }

            function _s(u, c) {
                return window.open(u, c.popupTitle || "External Identity Provider User Authentication", "toolbar=no, scrollbars=yes, resizable=yes, top=100, left=500, width=600, height=600")
            }

            function pl(u, c, p) {
                var b, I;
                return new Promise(function(ve, Ve) {
                    b = function(lt) {
                        if (lt.data && lt.data.state === p) {
                            if (lt.origin !== u.getIssuerOrigin()) return Ve(new fe("The request does not match client configuration"));
                            ve(lt.data)
                        }
                    }, On(window, "message", b), I = setTimeout(function() {
                        Ve(new fe("OAuth flow timed out"))
                    }, c || 12e4)
                }).finally(function() {
                    clearTimeout(I), gi(window, "message", b)
                })
            }

            function Ss(u, c, p, b) {
                let I;
                return new Promise((ve, Ve) => {
                    p.onmessage = ze => {
                        if (ze.isTrusted && ze.data) {
                            if ("object" == typeof ze.data && b === ze.data.state) return ve(Object.assign({}, ze.data));
                            Ve(new fe("Unable to complete auth code exchange"))
                        }
                    }, I = setTimeout(function() {
                        Ve(new fe("OAuth flow timed out"))
                    }, c || 12e4)
                }).finally(() => {
                    clearTimeout(I), p.close()
                })
            }

            function wc(u) {
                if (!u.features.isPKCESupported()) {
                    var c = "PKCE requires a modern browser with encryption support running in a secure context.";
                    throw u.features.isHTTPS() || (c += "\nThe current page is not being served with HTTPS protocol. PKCE requires secure HTTPS protocol."), u.features.hasTextEncoder() || (c += '\n"TextEncoder" is not defined. To use PKCE, you may need to include a polyfill/shim for this browser.'), new fe(c)
                }
            }

            function Ka(u, c) {
                return Ps.apply(this, arguments)
            }

            function Ps() {
                return (Ps = (0, P.Z)(function*(u, c) {
                    if (c = c || u.options.codeChallengeMethod || on, -1 === ((yield fl(u)).code_challenge_methods_supported || []).indexOf(c)) throw new fe("Invalid code_challenge_method");
                    return c
                })).apply(this, arguments)
            }

            function Rc(u, c) {
                return Hs.apply(this, arguments)
            }

            function Hs() {
                return (Hs = (0, P.Z)(function*(u, c) {
                    let {
                        codeVerifier: p,
                        codeChallenge: b,
                        codeChallengeMethod: I
                    } = c;
                    return b = b || u.options.codeChallenge, b || (wc(u), p = p || uo.generateVerifier(), b = yield uo.computeChallenge(p)), I = yield Ka(u, I), Object.assign(Object.assign({}, c), {
                        responseType: "code",
                        codeVerifier: p,
                        codeChallenge: b,
                        codeChallengeMethod: I
                    })
                })).apply(this, arguments)
            }

            function xa(u) {
                return hl.apply(this, arguments)
            }

            function hl() {
                return (hl = (0, P.Z)(function*(u, c = {}) {
                    const p = Ia(u);
                    if ((c = Object.assign(Object.assign({}, p), c)).dpop && !u.features.isDPoPSupported()) throw new fe("DPoP has been configured, but is not supported by browser");
                    return !1 === c.pkce ? c : Rc(u, c)
                })).apply(this, arguments)
            }

            function xu(u) {
                var c = function Ya(u) {
                    if (!u.clientId) throw new fe("A clientId must be specified in the OktaAuth constructor to get a token");
                    if (ke(u.responseType) && -1 !== u.responseType.indexOf(" ")) throw new fe("Multiple OAuth responseTypes must be defined as an array");
                    var c = {
                        client_id: u.clientId,
                        code_challenge: u.codeChallenge,
                        code_challenge_method: u.codeChallengeMethod,
                        display: u.display,
                        idp: u.idp,
                        idp_scope: u.idpScope,
                        login_hint: u.loginHint,
                        max_age: u.maxAge,
                        nonce: u.nonce,
                        prompt: u.prompt,
                        redirect_uri: u.redirectUri,
                        response_mode: u.responseMode,
                        response_type: u.responseType,
                        sessionToken: u.sessionToken,
                        state: u.state,
                        acr_values: u.acrValues,
                        enroll_amr_values: u.enrollAmrValues
                    };
                    if (c = be(c), ["idp_scope", "response_type", "enroll_amr_values"].forEach(function(p) {
                            Array.isArray(c[p]) && (c[p] = c[p].join(" "))
                        }), -1 !== u.responseType.indexOf("id_token") && -1 === u.scopes.indexOf("openid")) throw new fe("openid scope must be specified in the scopes argument when requesting an id_token");
                    return u.scopes && (c.scope = u.scopes.join(" ")), c
                }(u);
                return De(Object.assign(Object.assign({}, c), u.extraParams && Object.assign({}, u.extraParams)))
            }

            function ua(u, c) {
                if (arguments.length > 2) return Promise.reject(new fe('As of version 3.0, "getToken" takes only a single set of options'));
                const p = (c = c || {}).popupWindow;
                return c.popupWindow = void 0, xa(u, c).then(function(b) {
                    var ve, ze;
                    switch (c.sessionToken ? Object.assign(b, {
                        prompt: "none",
                        responseMode: "okta_post_message",
                        display: null
                    }) : c.idp && Object.assign(b, {
                        display: "popup"
                    }), ze = Ge(u, b), ve = (c.codeVerifier ? ze.tokenUrl : ze.authorizeUrl) + xu(b), b.sessionToken || null === b.display ? "IFRAME" : "popup" === b.display ? c.idpPopup ? "IDP_POPUP" : "POPUP" : "IMPLICIT") {
                        case "IFRAME":
                            var Ot = pl(u, c.timeout, b.state),
                                At = is(ve);
                            return Ot.then(function(Hn) {
                                return po(u, b, Hn, ze)
                            }).finally(function() {
                                var Hn;
                                document.body.contains(At) && (null === (Hn = At.parentElement) || void 0 === Hn || Hn.removeChild(At))
                            });
                        case "POPUP":
                            var Nt;
                            if ("okta_post_message" === b.responseMode) {
                                if (!u.features.isPopupPostMessageSupported()) throw new fe("This browser doesn't have full postMessage support");
                                Nt = pl(u, c.timeout, b.state)
                            }
                            return p && p.location.assign(ve), new Promise(function(Hn, di) {
                                var Nr = setInterval(function() {
                                    (!p || p.closed) && (clearInterval(Nr), di(new fe("Unable to parse OAuth flow response")))
                                }, 100);
                                Nt.then(function(Do) {
                                    clearInterval(Nr), Hn(Do)
                                }).catch(function(Do) {
                                    clearInterval(Nr), di(Do)
                                })
                            }).then(function(Hn) {
                                return po(u, b, Hn, ze)
                            }).finally(function() {
                                p && !p.closed && p.close()
                            });
                        case "IDP_POPUP":
                            var Dn = Ss(0, c.timeout, c.channel, b.state);
                            if (!p) throw new fe("Unable to open popup window");
                            return p.location.assign(ve), Dn.then(function(Hn) {
                                return po(u, b, Hn, ze)
                            });
                        default:
                            throw new fe("The full page redirect flow is not supported")
                    }
                })
            }

            function qa(u, c) {
                return arguments.length > 2 ? Promise.reject(new fe('As of version 3.0, "getWithoutPrompt" takes only a single set of options')) : (c = je(c) || {}, Object.assign(c, {
                    prompt: "none",
                    responseMode: "okta_post_message",
                    display: null
                }), ua(u, c))
            }

            function Ja(u, c) {
                if (arguments.length > 2) return Promise.reject(new fe('As of version 3.0, "getWithPopup" takes only a single set of options'));
                const {
                    initialPath: p
                } = c, b = dn(c, ["initialPath"]), I = _s(p ? ? "/", b);
                return c = je(b) || {}, Object.assign(b, {
                    display: "popup",
                    responseMode: "okta_post_message",
                    popupWindow: I
                }), ua(u, b)
            }

            function ho(u, c) {
                try {
                    if (!BroadcastChannel) throw new fe("Modern browser with `BroadcastChannel` support is required to use this method");
                    if (!c.redirectUri) throw new fe("`redirectUri` is a required param for `getWithIDPPopup`");
                    c.state || (c.state = Fe());
                    const p = _s("/", c),
                        b = new BroadcastChannel(`popup-callback:${c.state}`);
                    let I;
                    return c = je(c) || {}, Object.assign(c, {
                        display: "popup",
                        responseMode: "query",
                        popupWindow: p,
                        idpPopup: !0,
                        channel: b
                    }), {
                        promise: new Promise((Ve, ze) => (I = ze, ua(u, c).then(lt => Ve(lt)).catch(lt => ze(lt)))),
                        cancel: () => {
                            b.close(), I(new fe("Popup flow canceled"))
                        }
                    }
                } catch (p) {
                    return {
                        promise: Promise.reject(p),
                        cancel: () => {}
                    }
                }
            }

            function kd(u, c) {
                return mo.apply(this, arguments)
            }

            function mo() {
                return mo = (0, P.Z)(function*(u, c) {
                    if (arguments.length > 2) return Promise.reject(new fe('As of version 3.0, "getWithRedirect" takes only a single set of options'));
                    c = je(c) || {};
                    const p = yield xa(u, c), b = mt(u, p), I = b.urls.authorizeUrl + xu(p);
                    u.transactionManager.save(b), u.options.setLocation ? u.options.setLocation(I) : window.location.assign(I)
                }), mo.apply(this, arguments)
            }

            function wa(u) {
                return u.options.responseMode || (u.options.pkce ? "query" : "fragment")
            }

            function vs(u, c) {
                ke(c = c || {}) && (c = {
                    url: c
                });
                var Q, p = c.url,
                    b = c.responseMode || wa(u),
                    I = u.token.parseFromUrl._getLocation();
                if (!(Q = "query" === b ? p ? p.substring(p.indexOf("?")) : I.search : p ? p.substring(p.indexOf("#")) : I.hash)) throw new fe("Unable to parse a token from the url");
                return Za(Q)
            }

            function gf(u, c) {
                "query" === (c.responseMode || wa(u)) ? function Qc(u) {
                    var c = u.token.parseFromUrl._getHistory(),
                        p = u.token.parseFromUrl._getDocument(),
                        b = u.token.parseFromUrl._getLocation();
                    c && c.replaceState ? c.replaceState(null, p.title, b.pathname + b.hash) : b.search = ""
                }(u) : function Ju(u) {
                    var c = u.token.parseFromUrl._getHistory(),
                        p = u.token.parseFromUrl._getDocument(),
                        b = u.token.parseFromUrl._getLocation();
                    c && c.replaceState ? c.replaceState(null, p.title, b.pathname + b.search) : b.hash = ""
                }(u)
            }

            function Xc(u, c) {
                return wu.apply(this, arguments)
            }

            function wu() {
                return (wu = (0, P.Z)(function*(u, c) {
                    ke(c = c || {}) && (c = {
                        url: c
                    });
                    const p = vs(u, c),
                        b = p.state,
                        I = u.transactionManager.load({
                            state: b
                        });
                    if (!I) throw u.options.pkce ? new fe("Could not load PKCE codeVerifier from storage. This may indicate the auth flow has already completed or multiple auth flows are executing concurrently.", void 0) : new fe("Unable to retrieve OAuth redirect params from storage");
                    const Q = I.urls;
                    return delete I.urls, c.url || gf(u, c), po(u, I, p, Q).catch(ve => {
                        throw ni(ve) || u.transactionManager.clear({
                            state: b
                        }), ve
                    }).then(ve => (u.transactionManager.clear({
                        state: b
                    }), ve))
                })).apply(this, arguments)
            }

            function ka(u, c) {
                return u.refreshToken === c.refreshToken
            }

            function ml(u, c, p) {
                return gl.apply(this, arguments)
            }

            function gl() {
                return (gl = (0, P.Z)(function*(u, c, p) {
                    const {
                        clientId: b,
                        dpop: I
                    } = u.options;
                    if (!b) throw new fe("A clientId must be specified in the OktaAuth constructor to renew tokens");
                    try {
                        const Q = Object.assign({}, c, {
                            clientId: b
                        });
                        p.extraParams && (Q.extraParams = p.extraParams);
                        const ve = Object.assign({}, Q);
                        if (I) {
                            const At = yield la(p ? .dpopPairId);
                            ve.dpopKeyPair = At, Q.dpop = I, Q.dpopPairId = p.dpopPairId
                        }
                        const Ve = yield Yi(u, ve, p), ze = Ge(u, c), {
                            tokens: lt
                        } = yield po(u, Q, Ve, ze), {
                            refreshToken: Ot
                        } = lt;
                        return Ot && !ka(Ot, p) && u.tokenManager.updateRefreshToken(Ot), lt
                    } catch (Q) {
                        throw wi(Q) && u.tokenManager.removeRefreshToken(), Q
                    }
                })).apply(this, arguments)
            }

            function La() {
                throw new fe("Renew must be passed a token with an array of scopes and an accessToken or idToken")
            }

            function Fc(u, c) {
                return tt(u) ? c.idToken : Se(u) ? c.accessToken : void La()
            }

            function Pl(u, c) {
                return $a.apply(this, arguments)
            }

            function $a() {
                return ($a = (0, P.Z)(function*(u, c) {
                    !tt(c) && !Se(c) && La();
                    let p = u.tokenManager.getTokensSync();
                    if (p.refreshToken) return p = yield ml(u, {
                        scopes: c.scopes
                    }, p.refreshToken), Fc(c, p);
                    var b;
                    b = u.options.pkce ? "code" : Se(c) ? "token" : "id_token";
                    const {
                        scopes: I,
                        authorizeUrl: Q,
                        userinfoUrl: ve,
                        issuer: Ve,
                        dpopPairId: ze,
                        extraParams: lt
                    } = c;
                    return qa(u, {
                        responseType: b,
                        scopes: I,
                        authorizeUrl: Q,
                        userinfoUrl: ve,
                        issuer: Ve,
                        dpopPairId: ze,
                        extraParams: lt
                    }).then(function(Ot) {
                        return Fc(c, Ot.tokens)
                    })
                })).apply(this, arguments)
            }

            function eu(u, c) {
                return ys.apply(this, arguments)
            }

            function ys() {
                return (ys = (0, P.Z)(function*(u, c) {
                    var p;
                    const b = null !== (p = c ? .tokens) && void 0 !== p ? p : u.tokenManager.getTokensSync();
                    if (b.refreshToken) return ml(u, c || {}, b.refreshToken);
                    if (!b.accessToken && !b.idToken) throw new fe("renewTokens() was called but there is no existing token");
                    const I = b.accessToken || {},
                        Q = b.idToken || {},
                        ve = I.scopes || Q.scopes;
                    if (!ve) throw new fe("renewTokens: invalid tokens: could not read scopes");
                    const Ve = I.authorizeUrl || Q.authorizeUrl;
                    if (!Ve) throw new fe("renewTokens: invalid tokens: could not read authorizeUrl");
                    const Ot = I ? .dpopPairId;
                    if (c = Object.assign({
                            scopes: ve,
                            authorizeUrl: Ve,
                            userinfoUrl: I.userinfoUrl || u.options.userinfoUrl,
                            issuer: Q.issuer || u.options.issuer,
                            dpopPairId: Ot,
                            extraParams: I ? .extraParams || Q ? .extraParams
                        }, c), u.options.pkce) c.responseType = "code";
                    else {
                        const {
                            responseType: Nt
                        } = Ia(u);
                        c.responseType = Nt
                    }
                    return qa(u, c).then(Nt => Nt.tokens)
                })).apply(this, arguments)
            }

            function Qu(u, c) {
                return tc.apply(this, arguments)
            }

            function tc() {
                return (tc = (0, P.Z)(function*(u, c) {
                    let p = "",
                        b = "";
                    if (c && (p = c.accessToken, b = c.refreshToken), !p && !b) throw new fe("A valid access or refresh token object is required");
                    var I = u.options.clientId,
                        Q = u.options.clientSecret;
                    if (!I) throw new fe("A clientId must be specified in the OktaAuth constructor to revoke a token");
                    return nt(u, Ge(u).revokeUrl, De({
                        token_type_hint: b ? "refresh_token" : "access_token",
                        token: b || p
                    }).slice(1), {
                        headers: {
                            "Content-Type": "application/x-www-form-urlencoded",
                            Authorization: "Basic " + Jn(Q ? `${I}:${Q}` : I)
                        }
                    })
                })).apply(this, arguments)
            }
            const tu = {
                accessToken: "access_token",
                idToken: "id_token",
                refreshToken: "refresh_token"
            };

            function _f(u, c, p) {
                return nu.apply(this, arguments)
            }

            function nu() {
                return (nu = (0, P.Z)(function*(u, c, p) {
                    var b;
                    let I, Q = u.options.clientId,
                        ve = u.options.clientSecret;
                    if (p || (p = u.tokenManager.getTokens()[c]), !p) throw new fe(`unable to find ${c} in storage or fn params`);
                    if (I = c !== z.ACCESS ? p ? .issuer : null === (b = p ? .claims) || void 0 === b ? void 0 : b.iss, I = I || u.options.issuer, !Q) throw new fe("A clientId must be specified in the OktaAuth constructor to introspect a token");
                    if (!I) throw new fe("Unable to find issuer");
                    const {
                        introspection_endpoint: Ve
                    } = yield fl(u, I), ze = Jn(ve ? `${Q}:${ve}` : Q);
                    return nt(u, Ve, De({
                        token_type_hint: tu[c],
                        token: p[c]
                    }).slice(1), {
                        headers: {
                            "Content-Type": "application/x-www-form-urlencoded",
                            Authorization: "Basic " + ze
                        }
                    })
                })).apply(this, arguments)
            }

            function yf(u, c) {
                const p = function vf(u, c) {
                        return function $d(u) {
                            if (!(u = Object.assign(Object.assign({}, u), {
                                    responseType: "none",
                                    prompt: "enroll_authenticator",
                                    maxAge: 0
                                })).enrollAmrValues) throw new fe("enroll_amr_values must be specified");
                            if (!u.acrValues) throw new fe("acr_values must be specified");
                            return delete u.scopes, delete u.nonce, u
                        }(Object.assign(Object.assign({}, function ru(u) {
                            const {
                                clientId: c,
                                redirectUri: p,
                                responseMode: b,
                                state: I
                            } = u.options, Q = In() ? window.location.href : void 0;
                            return be({
                                clientId: c,
                                redirectUri: p || Q,
                                responseMode: b,
                                state: I || Fe(),
                                responseType: "none",
                                prompt: "enroll_authenticator"
                            })
                        }(u)), c))
                    }(u, c = je(c) || {}),
                    b = function Ld(u, c) {
                        return {
                            issuer: u.options.issuer,
                            urls: Ge(u, c),
                            clientId: c.clientId,
                            redirectUri: c.redirectUri,
                            responseType: c.responseType,
                            responseMode: c.responseMode,
                            state: c.state,
                            acrValues: c.acrValues,
                            enrollAmrValues: c.enrollAmrValues
                        }
                    }(u, p),
                    I = b.urls.authorizeUrl + xu(p);
                u.transactionManager.save(b), u.options.setLocation ? u.options.setLocation(I) : window.location.assign(I)
            }

            function Ec(u, c) {
                const p = ze => Us.prototype.push.bind(c, ze, null),
                    b = p(kd.bind(null, u)),
                    I = p(Xc.bind(null, u)),
                    Q = Object.assign(I, {
                        _getHistory: function() {
                            return window.history
                        },
                        _getLocation: function() {
                            return window.location
                        },
                        _getDocument: function() {
                            return window.document
                        }
                    }),
                    ve = {
                        prepareTokenParams: xa.bind(null, u),
                        exchangeCodeForTokens: S.bind(null, u),
                        getWithoutPrompt: qa.bind(null, u),
                        getWithPopup: Ja.bind(null, u),
                        getWithIDPPopup: ho.bind(null, u),
                        getWithRedirect: b,
                        parseFromUrl: Q,
                        decode: Kl,
                        revoke: Qu.bind(null, u),
                        renew: Pl.bind(null, u),
                        renewTokensWithRefresh: ml.bind(null, u),
                        renewTokens: eu.bind(null, u),
                        getUserInfo: (ze, lt) => function Yt(u, c, p) {
                            return bn.apply(this, arguments)
                        }(u, ze, lt),
                        verify: rs.bind(null, u),
                        isLoginRedirect: de.bind(null, u),
                        introspect: _f.bind(null, u)
                    };
                return ["getWithoutPrompt", "getWithPopup", "revoke", "renew", "renewTokensWithRefresh", "renewTokens"].forEach(ze => {
                    ve[ze] = p(ve[ze])
                }), ve
            }

            function iu(u, c) {
                if (!tt(u) && !Se(u) && !st(u)) throw new fe("Token must be an Object with scopes, expiresAt, and one of: an idToken, accessToken, or refreshToken property");
                if ("accessToken" === c && !Se(u)) throw new fe("invalid accessToken");
                if ("idToken" === c && !tt(u)) throw new fe("invalid idToken");
                if ("refreshToken" === c && !st(u)) throw new fe("invalid refreshToken")
            }
            class Lc {
                constructor(c) {
                    this.localOffset = parseInt(c || 0)
                }
                static create() {
                    return new Lc(0)
                }
                now() {
                    return (Date.now() + this.localOffset) / 1e3
                }
            }
            const Dc = "expired",
                ou = "renewed",
                nc = "added",
                ro = "removed",
                Tc = "set_storage",
                Eu = {
                    autoRenew: !0,
                    autoRemove: !0,
                    syncStorage: !0,
                    clearPendingRemoveTokens: !0,
                    storage: void 0,
                    expireEarlySeconds: 30,
                    storageKey: vn
                };
            class Du {
                constructor(c, p = {}) {
                    if (this.sdk = c, this.emitter = c.emitter, !this.emitter) throw new fe("Emitter should be initialized before TokenManager");
                    p = Object.assign({}, Eu, be(p)), Pi() || (p.expireEarlySeconds = Eu.expireEarlySeconds), this.options = p;
                    const b = be({
                        storageKey: p.storageKey,
                        secure: p.secure
                    });
                    "object" == typeof p.storage ? b.storageProvider = p.storage : p.storage && (b.storageType = p.storage), this.storage = c.storageManager.getTokenStorage(Object.assign(Object.assign({}, b), {
                        useSeparateCookies: !0
                    })), this.clock = Lc.create(), this.state = {
                        expireTimeouts: {},
                        renewPromise: null
                    }
                }
                on(c, p, b) {
                    b ? this.emitter.on(c, p, b) : this.emitter.on(c, p)
                }
                off(c, p) {
                    p ? this.emitter.off(c, p) : this.emitter.off(c)
                }
                start() {
                    this.options.clearPendingRemoveTokens && this.clearPendingRemoveTokens(), this.setExpireEventTimeoutAll(), this.state.started = !0
                }
                stop() {
                    this.clearExpireEventTimeoutAll(), this.state.started = !1
                }
                isStarted() {
                    return !!this.state.started
                }
                getOptions() {
                    return je(this.options)
                }
                getExpireTime(c) {
                    return c.expiresAt - (this.options.expireEarlySeconds || 0)
                }
                hasExpired(c) {
                    return this.getExpireTime(c) <= this.clock.now()
                }
                emitExpired(c, p) {
                    this.emitter.emit(Dc, c, p)
                }
                emitRenewed(c, p, b) {
                    this.emitter.emit(ou, c, p, b)
                }
                emitAdded(c, p) {
                    this.emitter.emit(nc, c, p)
                }
                emitRemoved(c, p) {
                    this.emitter.emit(ro, c, p)
                }
                emitError(c) {
                    this.emitter.emit("error", c)
                }
                clearExpireEventTimeout(c) {
                    clearTimeout(this.state.expireTimeouts[c]), delete this.state.expireTimeouts[c], this.state.renewPromise = null
                }
                clearExpireEventTimeoutAll() {
                    var c = this.state.expireTimeouts;
                    for (var p in c) !Object.prototype.hasOwnProperty.call(c, p) || this.clearExpireEventTimeout(p)
                }
                setExpireEventTimeout(c, p) {
                    if (!st(p)) {
                        var b = this.getExpireTime(p),
                            I = 1e3 * Math.max(b - this.clock.now(), 0);
                        this.clearExpireEventTimeout(c);
                        var Q = setTimeout(() => {
                            this.emitExpired(c, p)
                        }, I);
                        this.state.expireTimeouts[c] = Q
                    }
                }
                setExpireEventTimeoutAll() {
                    var c = this.storage.getStorage();
                    for (var p in c) Object.prototype.hasOwnProperty.call(c, p) && this.setExpireEventTimeout(p, c[p])
                }
                resetExpireEventTimeoutAll() {
                    this.clearExpireEventTimeoutAll(), this.setExpireEventTimeoutAll()
                }
                add(c, p) {
                    var b = this.storage.getStorage();
                    iu(p), b[c] = p, this.storage.setStorage(b), this.emitSetStorageEvent(), this.emitAdded(c, p), this.setExpireEventTimeout(c, p)
                }
                getSync(c) {
                    return this.storage.getStorage()[c]
                }
                get(c) {
                    var p = this;
                    return (0, P.Z)(function*() {
                        return p.getSync(c)
                    })()
                }
                getTokensSync() {
                    const c = {},
                        p = this.storage.getStorage();
                    return Object.keys(p).forEach(b => {
                        const I = p[b];
                        Se(I) ? c.accessToken = I : tt(I) ? c.idToken = I : st(I) && (c.refreshToken = I)
                    }), c
                }
                getTokens() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        return c.getTokensSync()
                    })()
                }
                getStorageKeyByType(c) {
                    const p = this.storage.getStorage();
                    return Object.keys(p).filter(I => {
                        const Q = p[I];
                        return Se(Q) && "accessToken" === c || tt(Q) && "idToken" === c || st(Q) && "refreshToken" === c
                    })[0]
                }
                getTokenType(c) {
                    if (Se(c)) return "accessToken";
                    if (tt(c)) return "idToken";
                    if (st(c)) return "refreshToken";
                    throw new fe("Unknown token type")
                }
                emitSetStorageEvent() {
                    if (Kn()) {
                        const c = this.storage.getStorage();
                        this.emitter.emit(Tc, c)
                    }
                }
                getStorage() {
                    return this.storage
                }
                setTokens(c, p, b, I) {
                    const Q = (Nt, fn) => {
                            const Dn = this.getTokenType(fn);
                            "accessToken" === Dn ? p && p(Nt, fn) : "idToken" === Dn ? b && b(Nt, fn) : "refreshToken" === Dn && I && I(Nt, fn)
                        },
                        ve = (Nt, fn) => {
                            this.emitAdded(Nt, fn), this.setExpireEventTimeout(Nt, fn), Q(Nt, fn)
                        },
                        Ve = (Nt, fn, Dn) => {
                            this.emitRenewed(Nt, fn, Dn), this.clearExpireEventTimeout(Nt), this.setExpireEventTimeout(Nt, fn), Q(Nt, fn)
                        },
                        ze = (Nt, fn) => {
                            this.clearExpireEventTimeout(Nt), this.emitRemoved(Nt, fn), Q(Nt, fn)
                        },
                        lt = ["idToken", "accessToken", "refreshToken"],
                        Ot = this.getTokensSync();
                    lt.forEach(Nt => {
                        const fn = c[Nt];
                        fn && iu(fn, Nt)
                    });
                    const At = lt.reduce((Nt, fn) => {
                        const Dn = c[fn];
                        return Dn && (Nt[this.getStorageKeyByType(fn) || fn] = Dn), Nt
                    }, {});
                    this.storage.setStorage(At), this.emitSetStorageEvent(), lt.forEach(Nt => {
                        const fn = c[Nt],
                            Dn = Ot[Nt],
                            Hn = this.getStorageKeyByType(Nt) || Nt;
                        fn && Dn ? (ze(Hn, Dn), ve(Hn, fn), Ve(Hn, fn, Dn)) : fn ? ve(Hn, fn) : Dn && ze(Hn, Dn)
                    })
                }
                remove(c) {
                    this.clearExpireEventTimeout(c);
                    var p = this.storage.getStorage(),
                        b = p[c];
                    delete p[c], this.storage.setStorage(p), this.emitSetStorageEvent(), this.emitRemoved(c, b)
                }
                renewToken(c) {
                    var p = this;
                    return (0, P.Z)(function*() {
                        var b;
                        return null === (b = p.sdk.token) || void 0 === b ? void 0 : b.renew(c)
                    })()
                }
                validateToken(c) {
                    return iu(c)
                }
                renew(c) {
                    if (this.state.renewPromise) return this.state.renewPromise;
                    try {
                        var p = this.getSync(c);
                        let I = void 0 !== p;
                        if (!p && "accessToken" === c) {
                            const Q = this.getStorageKeyByType("refreshToken");
                            I = void 0 !== this.getSync(Q)
                        }
                        if (!I) throw new fe("The tokenManager has no token for the key: " + c)
                    } catch (I) {
                        return this.emitError(I), Promise.reject(I)
                    }
                    return this.clearExpireEventTimeout(c), this.state.renewPromise = this.sdk.token.renewTokens().then(I => {
                        if (this.setTokens(I), !p && "accessToken" === c) {
                            const ve = I.accessToken;
                            return this.emitRenewed(c, ve, null), ve
                        }
                        return I[this.getTokenType(p)]
                    }).catch(I => {
                        throw this.remove(c), I.tokenKey = c, this.emitError(I), I
                    }).finally(() => {
                        this.state.renewPromise = null
                    })
                }
                clear() {
                    const c = this.getTokensSync();
                    this.clearExpireEventTimeoutAll(), this.storage.clearStorage(), this.emitSetStorageEvent(), Object.keys(c).forEach(p => {
                        this.emitRemoved(p, c[p])
                    })
                }
                clearPendingRemoveTokens() {
                    const c = this.storage.getStorage(),
                        p = {};
                    Object.keys(c).forEach(b => {
                        c[b].pendingRemove && (p[b] = c[b], delete c[b])
                    }), this.storage.setStorage(c), this.emitSetStorageEvent(), Object.keys(p).forEach(b => {
                        this.clearExpireEventTimeout(b), this.emitRemoved(b, p[b])
                    })
                }
                updateRefreshToken(c) {
                    const p = this.getStorageKeyByType("refreshToken") || dt;
                    var b = this.storage.getStorage();
                    iu(c), b[p] = c, this.storage.setStorage(b), this.emitSetStorageEvent()
                }
                removeRefreshToken() {
                    const c = this.getStorageKeyByType("refreshToken") || dt;
                    this.remove(c)
                }
                addPendingRemoveFlags() {
                    const c = this.getTokensSync();
                    Object.keys(c).forEach(p => {
                        c[p].pendingRemove = !0
                    }), this.setTokens(c)
                }
            }
            var rc = {
                browserHasLocalStorage: function() {
                    try {
                        var u = this.getLocalStorage();
                        return this.testStorage(u)
                    } catch {
                        return !1
                    }
                },
                browserHasSessionStorage: function() {
                    try {
                        var u = this.getSessionStorage();
                        return this.testStorage(u)
                    } catch {
                        return !1
                    }
                },
                testStorageType: function(u) {
                    var c = !1;
                    switch (u) {
                        case "sessionStorage":
                            c = this.browserHasSessionStorage();
                            break;
                        case "localStorage":
                            c = this.browserHasLocalStorage();
                            break;
                        case "cookie":
                        case "memory":
                            c = !0;
                            break;
                        default:
                            c = !1
                    }
                    return c
                },
                getStorageByType: function(u, c) {
                    let p;
                    switch (u) {
                        case "sessionStorage":
                            p = this.getSessionStorage();
                            break;
                        case "localStorage":
                            p = this.getLocalStorage();
                            break;
                        case "cookie":
                            p = this.getCookieStorage(c);
                            break;
                        case "memory":
                            p = this.getInMemoryStorage();
                            break;
                        default:
                            throw new fe(`Unrecognized storage option: ${u}`)
                    }
                    return p
                },
                findStorageType: function(u) {
                    let c, p;
                    return c = (u = u.slice()).shift(), p = u.length ? u[0] : null, !p || this.testStorageType(c) ? c : (le(`This browser doesn't support ${c}. Switching to ${p}.`), this.findStorageType(u))
                },
                getLocalStorage: function() {
                    return Kn() && !window.onstorage && (window.onstorage = function() {}), localStorage
                },
                getSessionStorage: function() {
                    return sessionStorage
                },
                getCookieStorage: function(u) {
                    const c = u.secure,
                        p = u.sameSite,
                        b = u.sessionCookie;
                    if (typeof c > "u" || typeof p > "u") throw new fe('getCookieStorage: "secure" and "sameSite" options must be provided');
                    const I = {
                        getItem: this.storage.get,
                        setItem: (Q, ve, Ve = "2200-01-01T00:00:00.000Z") => {
                            this.storage.set(Q, ve, Ve = b ? null : Ve, {
                                secure: c,
                                sameSite: p
                            })
                        },
                        removeItem: Q => {
                            this.storage.delete(Q)
                        }
                    };
                    return u.useSeparateCookies ? {
                        getItem: function(Q) {
                            var ve = I.getItem(),
                                Ve = {};
                            return Object.keys(ve).forEach(ze => {
                                0 === ze.indexOf(Q) && (Ve[ze.replace(`${Q}_`, "")] = JSON.parse(ve[ze]))
                            }), JSON.stringify(Ve)
                        },
                        setItem: function(Q, ve) {
                            var Ve = JSON.parse(this.getItem(Q));
                            ve = JSON.parse(ve), Object.keys(ve).forEach(ze => {
                                var lt = Q + "_" + ze,
                                    Ot = JSON.stringify(ve[ze]);
                                I.setItem(lt, Ot), delete Ve[ze]
                            }), Object.keys(Ve).forEach(ze => {
                                I.removeItem(Q + "_" + ze)
                            })
                        },
                        removeItem: function(Q) {
                            var ve = JSON.parse(this.getItem(Q));
                            Object.keys(ve).forEach(Ve => {
                                I.removeItem(Q + "_" + Ve)
                            })
                        }
                    } : I
                },
                inMemoryStore: {},
                getInMemoryStorage: function() {
                    return {
                        getItem: u => this.inMemoryStore[u],
                        setItem: (u, c) => {
                            this.inMemoryStore[u] = c
                        }
                    }
                },
                testStorage: function(u) {
                    var c = "okta-test-storage";
                    try {
                        return u.setItem(c, c), u.removeItem(c), !0
                    } catch {
                        return !1
                    }
                },
                storage: {
                    set: function(u, c, p, b) {
                        const {
                            sameSite: I,
                            secure: Q
                        } = b;
                        if (typeof Q > "u" || typeof I > "u") throw new fe('storage.set: "secure" and "sameSite" options must be provided');
                        var ve = {
                            path: b.path || "/",
                            secure: Q,
                            sameSite: I
                        };
                        return Date.parse(p) && (ve.expires = new Date(p)), Dt.set(u, c, ve), this.get(u)
                    },
                    get: function(u) {
                        return arguments.length ? Dt.get(u) : Dt.get()
                    },
                    delete: function(u) {
                        return Dt.remove(u, {
                            path: "/"
                        })
                    }
                }
            };
            var Cf = _(3781);
            const Ou = {
                    updateAuthStatePromise: null,
                    canceledTimes: 0
                },
                ed = "authStateChange";
            class su {
                constructor(c) {
                    if (!c.emitter) throw new fe("Emitter should be initialized before AuthStateManager");
                    this._sdk = c, this._pending = Object.assign({}, Ou), this._authState = null, this._logOptions = {}, this._prevAuthState = null, this._transformQueue = new Us({
                        quiet: !0
                    }), c.tokenManager.on(nc, (p, b) => {
                        this._setLogOptions({
                            event: nc,
                            key: p,
                            token: b
                        }), this.updateAuthState()
                    }), c.tokenManager.on(ro, (p, b) => {
                        this._setLogOptions({
                            event: ro,
                            key: p,
                            token: b
                        }), this.updateAuthState()
                    })
                }
                _setLogOptions(c) {
                    this._logOptions = c
                }
                getAuthState() {
                    return this._authState
                }
                getPreviousAuthState() {
                    return this._prevAuthState
                }
                updateAuthState() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        const {
                            transformAuthState: p,
                            devMode: b
                        } = c._sdk.options, I = ze => {
                            const {
                                event: lt,
                                key: Ot,
                                token: At
                            } = c._logOptions;
                            B().group(`OKTA-AUTH-JS:updateAuthState: Event:${lt} Status:${ze}`), B().log(Ot, At), B().log("Current authState", c._authState), B().groupEnd(), c._logOptions = {}
                        }, ve = ze => c._pending.updateAuthStatePromise.then(() => {
                            const lt = c._pending.updateAuthStatePromise;
                            return lt && lt !== ze ? ve(lt) : c.getAuthState()
                        });
                        if (c._pending.updateAuthStatePromise) {
                            if (c._pending.canceledTimes >= 10) return b && I("terminated"), ve(c._pending.updateAuthStatePromise);
                            c._pending.updateAuthStatePromise.cancel()
                        }
                        const Ve = new Cf((ze, lt, Ot) => {
                            Ot.shouldReject = !1, Ot(() => {
                                c._pending.updateAuthStatePromise = null, c._pending.canceledTimes = c._pending.canceledTimes + 1, b && I("canceled")
                            });
                            const At = Nt => {
                                Ve.isCanceled ? ze() : ((ze => {
                                    ((u, c) => !!u && u.isAuthenticated === c.isAuthenticated && JSON.stringify(u.idToken) === JSON.stringify(c.idToken) && JSON.stringify(u.accessToken) === JSON.stringify(c.accessToken) && u.error === c.error)(c._authState, ze) ? b && I("unchanged"): (c._prevAuthState = c._authState, c._authState = ze, c._sdk.emitter.emit(ed, Object.assign({}, ze)), b && I("emitted"))
                                })(Nt), ze(), c._pending = Object.assign({}, Ou))
                            };
                            c._sdk.isAuthenticated().then(() => {
                                if (Ve.isCanceled) return void ze();
                                const {
                                    accessToken: Nt,
                                    idToken: fn,
                                    refreshToken: Dn
                                } = c._sdk.tokenManager.getTokensSync(), Hn = {
                                    accessToken: Nt,
                                    idToken: fn,
                                    refreshToken: Dn,
                                    isAuthenticated: !(!Nt || !fn)
                                };
                                (p ? c._transformQueue.push(p, null, c._sdk, Hn) : Promise.resolve(Hn)).then(Nr => At(Nr)).catch(Nr => At({
                                    accessToken: Nt,
                                    idToken: fn,
                                    refreshToken: Dn,
                                    isAuthenticated: !1,
                                    error: Nr
                                }))
                            })
                        });
                        return c._pending.updateAuthStatePromise = Ve, ve(Ve)
                    })()
                }
                subscribe(c) {
                    this._sdk.emitter.on(ed, c)
                }
                unsubscribe(c) {
                    this._sdk.emitter.off(ed, c)
                }
            }
            class Uc {
                constructor(c, p = {}) {
                    this.started = !1, this.tokenManager = c, this.options = p, this.renewTimeQueue = [], this.onTokenExpiredHandler = this.onTokenExpiredHandler.bind(this)
                }
                shouldThrottleRenew() {
                    let c = !1;
                    if (this.renewTimeQueue.push(Date.now()), this.renewTimeQueue.length >= 10) {
                        const p = this.renewTimeQueue.shift();
                        c = this.renewTimeQueue[this.renewTimeQueue.length - 1] - p < 3e4
                    }
                    return c
                }
                requiresLeadership() {
                    return !!this.options.syncStorage && In()
                }
                processExpiredTokens() {
                    const p = this.tokenManager.getStorage().getStorage();
                    Object.keys(p).forEach(b => {
                        const I = p[b];
                        !st(I) && this.tokenManager.hasExpired(I) && this.onTokenExpiredHandler(b)
                    })
                }
                onTokenExpiredHandler(c) {
                    if (this.options.autoRenew)
                        if (this.shouldThrottleRenew()) {
                            const p = new fe("Too many token renew requests");
                            this.tokenManager.emitError(p)
                        } else this.tokenManager.renew(c).catch(() => {});
                    else this.options.autoRemove && this.tokenManager.remove(c)
                }
                canStart() {
                    return !(!this.options.autoRenew && !this.options.autoRemove || this.started)
                }
                start() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        c.canStart() && (c.tokenManager.on(Dc, c.onTokenExpiredHandler), c.tokenManager.isStarted() && c.processExpiredTokens(), c.started = !0)
                    })()
                }
                stop() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        c.started && (c.tokenManager.off(Dc, c.onTokenExpiredHandler), c.renewTimeQueue = [], c.started = !1)
                    })()
                }
                isStarted() {
                    return this.started
                }
            }
            Promise.resolve(!1);
            var Mu = Promise.resolve(!0),
                Or = Promise.resolve();

            function ic(u, c) {
                return u || (u = 0), new Promise(function(p) {
                    return setTimeout(function() {
                        return p(c)
                    }, u)
                })
            }

            function Ea() {
                return Math.random().toString(36).substring(2)
            }
            var Pu = 0,
                td = 0;

            function lu() {
                var u = (new Date).getTime();
                return u === Pu ? 1e3 * u + ++td : (Pu = u, td = 0, 1e3 * u)
            }
            var M = {
                    create: function bs(u) {
                        var c = {
                            messagesCallback: null,
                            bc: new BroadcastChannel(u),
                            subFns: []
                        };
                        return c.bc.onmessage = function(p) {
                            c.messagesCallback && c.messagesCallback(p.data)
                        }, c
                    },
                    close: function Iu(u) {
                        u.bc.close(), u.subFns = []
                    },
                    onMessage: function A(u, c) {
                        u.messagesCallback = c
                    },
                    postMessage: function nd(u, c) {
                        try {
                            return u.bc.postMessage(c, !1), Or
                        } catch (p) {
                            return Promise.reject(p)
                        }
                    },
                    canBeUsed: function y() {
                        if ((typeof window < "u" || typeof self < "u") && "function" == typeof BroadcastChannel) {
                            if (BroadcastChannel._pubkey) throw new Error("BroadcastChannel: Do not overwrite window.BroadcastChannel with this module, this is not a polyfill");
                            return !0
                        }
                        return !1
                    },
                    type: "native",
                    averageResponseTime: function g() {
                        return 150
                    },
                    microSeconds: lu
                },
                ne = function() {
                    function u(c) {
                        this.ttl = c, this.map = new Map, this._to = !1
                    }
                    return u.prototype.has = function(c) {
                        return this.map.has(c)
                    }, u.prototype.add = function(c) {
                        var p = this;
                        this.map.set(c, qe()), this._to || (this._to = !0, setTimeout(function() {
                            p._to = !1,
                                function Ce(u) {
                                    for (var c = qe() - u.ttl, p = u.map[Symbol.iterator]();;) {
                                        var b = p.next().value;
                                        if (!b) return;
                                        if (!(b[1] < c)) return;
                                        u.map.delete(b[0])
                                    }
                                }(p)
                        }, 0))
                    }, u.prototype.clear = function() {
                        this.map.clear()
                    }, u
                }();

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

            function Ye() {
                var u = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                    c = JSON.parse(JSON.stringify(u));
                return typeof c.webWorkerSupport > "u" && (c.webWorkerSupport = !0), c.idb || (c.idb = {}), c.idb.ttl || (c.idb.ttl = 45e3), c.idb.fallbackInterval || (c.idb.fallbackInterval = 150), u.idb && "function" == typeof u.idb.onclose && (c.idb.onclose = u.idb.onclose), c.localstorage || (c.localstorage = {}), c.localstorage.removeTimeout || (c.localstorage.removeTimeout = 6e4), u.methods && (c.methods = u.methods), c.node || (c.node = {}), c.node.ttl || (c.node.ttl = 12e4), c.node.maxParallelWrites || (c.node.maxParallelWrites = 2048), typeof c.node.useFastPath > "u" && (c.node.useFastPath = !0), c
            }
            var mn = "messages",
                En = {
                    durability: "relaxed"
                };

            function vr() {
                if (typeof indexedDB < "u") return indexedDB;
                if (typeof window < "u") {
                    if (typeof window.mozIndexedDB < "u") return window.mozIndexedDB;
                    if (typeof window.webkitIndexedDB < "u") return window.webkitIndexedDB;
                    if (typeof window.msIndexedDB < "u") return window.msIndexedDB
                }
                return !1
            }

            function Pn(u) {
                u.commit && u.commit()
            }

            function Bo(u) {
                u.closed || qi(u).then(function() {
                    return ic(u.options.idb.fallbackInterval)
                }).then(function() {
                    return Bo(u)
                })
            }

            function qi(u) {
                return u.closed || !u.messagesCallback ? Or : function Ui(u, c) {
                    var p = u.transaction(mn, "readonly", En),
                        b = p.objectStore(mn),
                        I = [],
                        Q = IDBKeyRange.bound(c + 1, 1 / 0);
                    if (b.getAll) {
                        var ve = b.getAll(Q);
                        return new Promise(function(ze, lt) {
                            ve.onerror = function(Ot) {
                                return lt(Ot)
                            }, ve.onsuccess = function(Ot) {
                                ze(Ot.target.result)
                            }
                        })
                    }
                    return new Promise(function(ze, lt) {
                        var Ot = function Ve() {
                            try {
                                return Q = IDBKeyRange.bound(c + 1, 1 / 0), b.openCursor(Q)
                            } catch {
                                return b.openCursor()
                            }
                        }();
                        Ot.onerror = function(At) {
                            return lt(At)
                        }, Ot.onsuccess = function(At) {
                            var Nt = At.target.result;
                            Nt ? Nt.value.id < c + 1 ? Nt.continue(c + 1) : (I.push(Nt.value), Nt.continue()) : (Pn(p), ze(I))
                        }
                    })
                }(u.db, u.lastCursorId).then(function(c) {
                    var p = c.filter(function(b) {
                        return !!b
                    }).map(function(b) {
                        return b.id > u.lastCursorId && (u.lastCursorId = b.id), b
                    }).filter(function(b) {
                        return function Eo(u, c) {
                            return !(u.uuid === c.uuid || c.eMIs.has(u.id) || u.data.time < c.messagesCallbackTime)
                        }(b, u)
                    }).sort(function(b, I) {
                        return b.time - I.time
                    });
                    return p.forEach(function(b) {
                        u.messagesCallback && (u.eMIs.add(b.id), u.messagesCallback(b.data))
                    }), Or
                })
            }
            var Oc = {
                create: function oi(u, c) {
                    return c = Ye(c),
                        function tr(u) {
                            var b = vr().open("pubkey.broadcast-channel-0-" + u);
                            return b.onupgradeneeded = function(I) {
                                I.target.result.createObjectStore(mn, {
                                    keyPath: "id",
                                    autoIncrement: !0
                                })
                            }, new Promise(function(I, Q) {
                                b.onerror = function(ve) {
                                    return Q(ve)
                                }, b.onsuccess = function() {
                                    I(b.result)
                                }
                            })
                        }(u).then(function(p) {
                            var b = {
                                closed: !1,
                                lastCursorId: 0,
                                channelName: u,
                                options: c,
                                uuid: Ea(),
                                eMIs: new ne(2 * c.idb.ttl),
                                writeBlockPromise: Or,
                                messagesCallback: null,
                                readQueuePromises: [],
                                db: p
                            };
                            return p.onclose = function() {
                                b.closed = !0, c.idb.onclose && c.idb.onclose()
                            }, Bo(b), b
                        })
                },
                close: function Ba(u) {
                    u.closed = !0, u.db.close()
                },
                onMessage: function Qa(u, c, p) {
                    u.messagesCallbackTime = p, u.messagesCallback = c, qi(u)
                },
                postMessage: function Nu(u, c) {
                    return u.writeBlockPromise = u.writeBlockPromise.then(function() {
                        return function qr(u, c, p) {
                            var I = {
                                    uuid: c,
                                    time: (new Date).getTime(),
                                    data: p
                                },
                                Q = u.transaction([mn], "readwrite", En);
                            return new Promise(function(ve, Ve) {
                                Q.oncomplete = function() {
                                    return ve()
                                }, Q.onerror = function(lt) {
                                    return Ve(lt)
                                }, Q.objectStore(mn).add(I), Pn(Q)
                            })
                        }(u.db, u.uuid, c)
                    }).then(function() {
                        0 === function Su(u, c) {
                            return Math.floor(Math.random() * (c - u + 1) + u)
                        }(0, 10) && function os(u) {
                            return function xs(u, c) {
                                var p = (new Date).getTime() - c,
                                    b = u.transaction(mn, "readonly", En),
                                    I = b.objectStore(mn),
                                    Q = [];
                                return new Promise(function(ve) {
                                    I.openCursor().onsuccess = function(Ve) {
                                        var ze = Ve.target.result;
                                        if (ze) {
                                            var lt = ze.value;
                                            lt.time < p ? (Q.push(lt), ze.continue()) : (Pn(b), ve(Q))
                                        } else ve(Q)
                                    }
                                })
                            }(u.db, u.options.idb.ttl).then(function(c) {
                                return function Cs(u, c) {
                                    if (u.closed) return Promise.resolve([]);
                                    var b = u.db.transaction(mn, "readwrite", En).objectStore(mn);
                                    return Promise.all(c.map(function(I) {
                                        var Q = b.delete(I);
                                        return new Promise(function(ve) {
                                            Q.onsuccess = function() {
                                                return ve()
                                            }
                                        })
                                    }))
                                }(u, c.map(function(p) {
                                    return p.id
                                }))
                            })
                        }(u)
                    }), u.writeBlockPromise
                },
                canBeUsed: function da() {
                    return !!vr()
                },
                type: "idb",
                averageResponseTime: function oc(u) {
                    return 2 * u.idb.fallbackInterval
                },
                microSeconds: lu
            };

            function Qr() {
                var u;
                if (typeof window > "u") return null;
                try {
                    u = window.localStorage, u = window["ie8-eventlistener/storage"] || window.localStorage
                } catch {}
                return u
            }

            function Uo(u) {
                return "pubkey.broadcastChannel-" + u
            }

            function Wi() {
                var u = Qr();
                if (!u) return !1;
                try {
                    var c = "__broadcastchannel_check";
                    u.setItem(c, "works"), u.removeItem(c)
                } catch {
                    return !1
                }
                return !0
            }
            var fa = {
                    create: function Zi(u, c) {
                        if (c = Ye(c), !Wi()) throw new Error("BroadcastChannel: localstorage cannot be used");
                        var p = Ea(),
                            b = new ne(c.localstorage.removeTimeout),
                            I = {
                                channelName: u,
                                uuid: p,
                                eMIs: b
                            };
                        return I.listener = function Io(u, c) {
                            var p = Uo(u),
                                b = function(Q) {
                                    Q.key === p && c(JSON.parse(Q.newValue))
                                };
                            return window.addEventListener("storage", b), b
                        }(u, function(Q) {
                            !I.messagesCallback || Q.uuid !== p && (!Q.token || b.has(Q.token) || Q.data.time && Q.data.time < I.messagesCallbackTime || (b.add(Q.token), I.messagesCallback(Q.data)))
                        }), I
                    },
                    close: function Ac(u) {
                        ! function ws(u) {
                            window.removeEventListener("storage", u)
                        }(u.listener)
                    },
                    onMessage: function sc(u, c, p) {
                        u.messagesCallbackTime = p, u.messagesCallback = c
                    },
                    postMessage: function ss(u, c) {
                        return new Promise(function(p) {
                            ic().then(function() {
                                var b = Uo(u.channelName),
                                    I = {
                                        token: Ea(),
                                        time: (new Date).getTime(),
                                        data: c,
                                        uuid: u.uuid
                                    },
                                    Q = JSON.stringify(I);
                                Qr().setItem(b, Q);
                                var ve = document.createEvent("Event");
                                ve.initEvent("storage", !0, !0), ve.key = b, ve.newValue = Q, window.dispatchEvent(ve), p()
                            })
                        })
                    },
                    canBeUsed: Wi,
                    type: "localstorage",
                    averageResponseTime: function Xs() {
                        var c = navigator.userAgent.toLowerCase();
                        return c.includes("safari") && !c.includes("chrome") ? 240 : 120
                    },
                    microSeconds: lu
                },
                ac = lu,
                Ud = new Set,
                Tf = {
                    create: function Vd(u) {
                        var c = {
                            name: u,
                            messagesCallback: null
                        };
                        return Ud.add(c), c
                    },
                    close: function pp(u) {
                        Ud.delete(u)
                    },
                    onMessage: function wf(u, c) {
                        u.messagesCallback = c
                    },
                    postMessage: function lc(u, c) {
                        return new Promise(function(p) {
                            return setTimeout(function() {
                                Array.from(Ud).filter(function(I) {
                                    return I.name === u.name
                                }).filter(function(I) {
                                    return I !== u
                                }).filter(function(I) {
                                    return !!I.messagesCallback
                                }).forEach(function(I) {
                                    return I.messagesCallback(c)
                                }), p()
                            }, 5)
                        })
                    },
                    canBeUsed: function Ef() {
                        return !0
                    },
                    type: "simulate",
                    averageResponseTime: function Df() {
                        return 5
                    },
                    microSeconds: ac
                },
                rd = [M, Oc, fa],
                Il = new Set,
                id = 0,
                Mc = function(c, p) {
                    this.id = id++, Il.add(this), this.name = c, this.options = Ye(p), this.method = function Hd(u) {
                            var c = [].concat(u.methods, rd).filter(Boolean);
                            if (u.type) {
                                if ("simulate" === u.type) return Tf;
                                var p = c.find(function(I) {
                                    return I.type === u.type
                                });
                                if (p) return p;
                                throw new Error("method-type " + u.type + " not found")
                            }
                            u.webWorkerSupport || (c = c.filter(function(I) {
                                return "idb" !== I.type
                            }));
                            var b = c.find(function(I) {
                                return I.canBeUsed()
                            });
                            if (b) return b;
                            throw new Error("No usable method found in " + JSON.stringify(rd.map(function(I) {
                                return I.type
                            })))
                        }(this.options), this._iL = !1, this._onML = null, this._addEL = {
                            message: [],
                            internal: []
                        }, this._uMP = new Set, this._befC = [], this._prepP = null,
                        function Vc(u) {
                            var c = u.method.create(u.name, u.options);
                            ! function au(u) {
                                return u && "function" == typeof u.then
                            }(c) ? u._state = c: (u._prepP = c, c.then(function(p) {
                                u._state = p
                            }))
                        }(this)
                };

            function ur(u, c, p) {
                var I = {
                    time: u.method.microSeconds(),
                    type: c,
                    data: p
                };
                return (u._prepP ? u._prepP : Or).then(function() {
                    var ve = u.method.postMessage(u._state, I);
                    return u._uMP.add(ve), ve.catch().then(function() {
                        return u._uMP.delete(ve)
                    }), ve
                })
            }

            function sd(u) {
                return u._addEL.message.length > 0 || u._addEL.internal.length > 0
            }

            function Xa(u, c, p) {
                u._addEL[c].push(p),
                    function du(u) {
                        if (!u._iL && sd(u)) {
                            var c = function(I) {
                                    u._addEL[I.type].forEach(function(Q) {
                                        I.time >= Q.time - 1e5 && Q.fn(I.data)
                                    })
                                },
                                p = u.method.microSeconds();
                            u._prepP ? u._prepP.then(function() {
                                u._iL = !0, u.method.onMessage(u._state, c, p)
                            }) : (u._iL = !0, u.method.onMessage(u._state, c, p))
                        }
                    }(u)
            }

            function jd(u, c, p) {
                u._addEL[c] = u._addEL[c].filter(function(b) {
                        return b !== p
                    }),
                    function Nl(u) {
                        if (u._iL && !sd(u)) {
                            u._iL = !1;
                            var c = u.method.microSeconds();
                            u.method.onMessage(u._state, null, c)
                        }
                    }(u)
            }
            Mc._pubkey = !0, Mc.prototype = {
                postMessage: function(c) {
                    if (this.closed) throw new Error("BroadcastChannel.postMessage(): Cannot post message after channel has closed " + JSON.stringify(c));
                    return ur(this, "message", c)
                },
                postInternal: function(c) {
                    return ur(this, "internal", c)
                },
                set onmessage(u) {
                    var p = {
                        time: this.method.microSeconds(),
                        fn: u
                    };
                    jd(this, "message", this._onML), u && "function" == typeof u ? (this._onML = p, Xa(this, "message", p)) : this._onML = null
                },
                addEventListener: function(c, p) {
                    Xa(this, c, {
                        time: this.method.microSeconds(),
                        fn: p
                    })
                },
                removeEventListener: function(c, p) {
                    jd(this, c, this._addEL[c].find(function(I) {
                        return I.fn === p
                    }))
                },
                close: function() {
                    var c = this;
                    if (!this.closed) {
                        Il.delete(this), this.closed = !0;
                        var p = this._prepP ? this._prepP : Or;
                        return this._onML = null, this._addEL.message = [], p.then(function() {
                            return Promise.all(Array.from(c._uMP))
                        }).then(function() {
                            return Promise.all(c._befC.map(function(b) {
                                return b()
                            }))
                        }).then(function() {
                            return c.method.close(c._state)
                        })
                    }
                },
                get type() {
                    return this.method.type
                },
                get isClosed() {
                    return this.closed
                }
            };
            var mp = "[object process]" === Object.prototype.toString.call(typeof process < "u" ? process : 0) ? function hp(u) {
                    process.on("exit", function() {
                        return u()
                    }), process.on("beforeExit", function() {
                        return u().then(function() {
                            return process.exit()
                        })
                    }), process.on("SIGINT", function() {
                        return u().then(function() {
                            return process.exit()
                        })
                    }), process.on("uncaughtException", function(c) {
                        return u().then(function() {
                            console.trace(c), process.exit(101)
                        })
                    })
                } : function Ko(u) {
                    if ("function" == typeof WorkerGlobalScope && self instanceof WorkerGlobalScope) {
                        var c = self.close.bind(self);
                        self.close = function() {
                            return u(), c()
                        }
                    } else {
                        if ("function" != typeof window.addEventListener) return;
                        window.addEventListener("beforeunload", function() {
                            u()
                        }, !0), window.addEventListener("unload", function() {
                            u()
                        }, !0)
                    }
                },
                yl = new Set,
                Fu = !1;

            function ad() {
                var u = [];
                return yl.forEach(function(c) {
                    u.push(c()), yl.delete(c)
                }), Promise.all(u)
            }

            function Fl(u, c) {
                return u.broadcastChannel.postInternal({
                    context: "leader",
                    action: c,
                    token: u.token
                })
            }

            function ld(u) {
                u.isLeader = !0, u._hasLeader = !0;
                var c = function Af(u) {
                    if (function gp() {
                            Fu || (Fu = !0, mp(ad))
                        }(), "function" != typeof u) throw new Error("Listener is no function");
                    return yl.add(u), {
                        remove: function() {
                            return yl.delete(u)
                        },
                        run: function() {
                            return yl.delete(u), u()
                        }
                    }
                }(function() {
                    return u.die()
                });
                u._unl.push(c);
                var p = function(I) {
                    "leader" === I.context && "apply" === I.action && Fl(u, "tell"), "leader" === I.context && "tell" === I.action && !u._dpLC && (u._dpLC = !0, u._dpL(), Fl(u, "tell"))
                };
                return u.broadcastChannel.addEventListener("internal", p), u._lstns.push(p), Fl(u, "tell")
            }
            var kl = function(c, p) {
                var b = this;
                this.broadcastChannel = c, c._befC.push(function() {
                    return b.die()
                }), this._options = p, this.isLeader = !1, this.isDead = !1, this.token = Ea(), this._lstns = [], this._unl = [], this._dpL = function() {}, this._dpLC = !1, this._wKMC = {}, this.lN = "pubkey-bc||" + c.method.type + "||" + c.name
            };
            kl.prototype = {
                hasLeader: function() {
                    var c = this;
                    return navigator.locks.query().then(function(p) {
                        var b = p.held ? p.held.filter(function(I) {
                            return I.name === c.lN
                        }) : [];
                        return !!(b && b.length > 0)
                    })
                },
                awaitLeadership: function() {
                    var c = this;
                    if (!this._wLMP) {
                        this._wKMC.c = new AbortController;
                        var p = new Promise(function(b, I) {
                            c._wKMC.res = b, c._wKMC.rej = I
                        });
                        this._wLMP = new Promise(function(b) {
                            navigator.locks.request(c.lN, {
                                signal: c._wKMC.c.signal
                            }, function() {
                                return c._wKMC.c = void 0, ld(c), b(), p
                            }).catch(function() {})
                        })
                    }
                    return this._wLMP
                },
                set onduplicate(u) {},
                die: function() {
                    var c = this;
                    return this._lstns.forEach(function(p) {
                        return c.broadcastChannel.removeEventListener("internal", p)
                    }), this._lstns = [], this._unl.forEach(function(p) {
                        return p.remove()
                    }), this._unl = [], this.isLeader && (this.isLeader = !1), this.isDead = !0, this._wKMC.res && this._wKMC.res(), this._wKMC.c && this._wKMC.c.abort("LeaderElectionWebLock.die() called"), Fl(this, "death")
                }
            };
            var Gd = function(c, p) {
                var b = this;
                this.broadcastChannel = c, this._options = p, this.isLeader = !1, this._hasLeader = !1, this.isDead = !1, this.token = Ea(), this._aplQ = Or, this._aplQC = 0, this._unl = [], this._lstns = [], this._dpL = function() {}, this._dpLC = !1;
                var I = function(ve) {
                    "leader" === ve.context && ("death" === ve.action && (b._hasLeader = !1), "tell" === ve.action && (b._hasLeader = !0))
                };
                this.broadcastChannel.addEventListener("internal", I), this._lstns.push(I)
            };
            Gd.prototype = {
                hasLeader: function() {
                    return Promise.resolve(this._hasLeader)
                },
                applyOnce: function(c) {
                    var p = this;
                    return this.isLeader ? ic(0, !0) : this.isDead ? ic(0, !1) : this._aplQC > 1 ? this._aplQ : (this._aplQC = this._aplQC + 1, this._aplQ = this._aplQ.then(function() {
                        return function() {
                            if (p.isLeader) return Mu;
                            var ve, Q = !1,
                                Ve = new Promise(function(Ot) {
                                    ve = function() {
                                        Q = !0, Ot()
                                    }
                                }),
                                ze = function(At) {
                                    "leader" === At.context && At.token != p.token && ("apply" === At.action && At.token > p.token && ve(), "tell" === At.action && (ve(), p._hasLeader = !0))
                                };
                            p.broadcastChannel.addEventListener("internal", ze);
                            var lt = c ? 4 * p._options.responseTime : p._options.responseTime;
                            return Fl(p, "apply").then(function() {
                                return Promise.race([ic(lt), Ve.then(function() {
                                    return Promise.reject(new Error)
                                })])
                            }).then(function() {
                                return Fl(p, "apply")
                            }).then(function() {
                                return Promise.race([ic(lt), Ve.then(function() {
                                    return Promise.reject(new Error)
                                })])
                            }).catch(function() {}).then(function() {
                                return p.broadcastChannel.removeEventListener("internal", ze), !Q && ld(p).then(function() {
                                    return !0
                                })
                            })
                        }()
                    }).then(function() {
                        p._aplQC = p._aplQC - 1
                    }), this._aplQ.then(function() {
                        return p.isLeader
                    }))
                },
                awaitLeadership: function() {
                    return this._aLP || (this._aLP = function Zd(u) {
                        return u.isLeader ? Or : new Promise(function(c) {
                            var p = !1;

                            function b() {
                                p || (p = !0, u.broadcastChannel.removeEventListener("internal", Q), c(!0))
                            }
                            u.applyOnce().then(function() {
                                    u.isLeader && b()
                                }),
                                function ve() {
                                    return ic(u._options.fallbackInterval).then(function() {
                                        if (!u.isDead && !p) {
                                            if (!u.isLeader) return u.applyOnce(!0).then(function() {
                                                u.isLeader ? b() : ve()
                                            });
                                            b()
                                        }
                                    })
                                }();
                            var Q = function(Ve) {
                                "leader" === Ve.context && "death" === Ve.action && (u._hasLeader = !1, u.applyOnce().then(function() {
                                    u.isLeader && b()
                                }))
                            };
                            u.broadcastChannel.addEventListener("internal", Q), u._lstns.push(Q)
                        })
                    }(this)), this._aLP
                },
                set onduplicate(u) {
                    this._dpL = u
                },
                die: function() {
                    var c = this;
                    return this._lstns.forEach(function(p) {
                        return c.broadcastChannel.removeEventListener("internal", p)
                    }), this._lstns = [], this._unl.forEach(function(p) {
                        return p.remove()
                    }), this._unl = [], this.isLeader && (this._hasLeader = !1, this.isLeader = !1), this.isDead = !0, Fl(this, "death")
                }
            };
            class Mf {
                constructor(c, p = {}) {
                    this.started = !1, this.enablePostMessage = !0, this.tokenManager = c, this.options = p, this.onTokenAddedHandler = this.onTokenAddedHandler.bind(this), this.onTokenRemovedHandler = this.onTokenRemovedHandler.bind(this), this.onTokenRenewedHandler = this.onTokenRenewedHandler.bind(this), this.onSetStorageHandler = this.onSetStorageHandler.bind(this), this.onSyncMessageHandler = this.onSyncMessageHandler.bind(this)
                }
                requiresLeadership() {
                    return !1
                }
                isStarted() {
                    return this.started
                }
                canStart() {
                    return !!this.options.syncStorage && In() && !this.started
                }
                start() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        if (!c.canStart()) return;
                        const {
                            syncChannelName: p
                        } = c.options;
                        try {
                            c.channel = new Mc(p)
                        } catch {
                            throw new fe("SyncStorageService is not supported in current browser.")
                        }
                        c.tokenManager.on(nc, c.onTokenAddedHandler), c.tokenManager.on(ro, c.onTokenRemovedHandler), c.tokenManager.on(ou, c.onTokenRenewedHandler), c.tokenManager.on(Tc, c.onSetStorageHandler), c.channel.addEventListener("message", c.onSyncMessageHandler), c.started = !0
                    })()
                }
                stop() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        var p, b;
                        c.started && (c.tokenManager.off(nc, c.onTokenAddedHandler), c.tokenManager.off(ro, c.onTokenRemovedHandler), c.tokenManager.off(ou, c.onTokenRenewedHandler), c.tokenManager.off(Tc, c.onSetStorageHandler), null === (p = c.channel) || void 0 === p || p.removeEventListener("message", c.onSyncMessageHandler), yield null === (b = c.channel) || void 0 === b ? void 0 : b.close(), c.channel = void 0, c.started = !1)
                    })()
                }
                onTokenAddedHandler(c, p) {
                    var b;
                    !this.enablePostMessage || null === (b = this.channel) || void 0 === b || b.postMessage({
                        type: nc,
                        key: c,
                        token: p
                    })
                }
                onTokenRemovedHandler(c, p) {
                    var b;
                    !this.enablePostMessage || null === (b = this.channel) || void 0 === b || b.postMessage({
                        type: ro,
                        key: c,
                        token: p
                    })
                }
                onTokenRenewedHandler(c, p, b) {
                    var I;
                    !this.enablePostMessage || null === (I = this.channel) || void 0 === I || I.postMessage({
                        type: ou,
                        key: c,
                        token: p,
                        oldToken: b
                    })
                }
                onSetStorageHandler(c) {
                    var p;
                    null === (p = this.channel) || void 0 === p || p.postMessage({
                        type: Tc,
                        storage: c
                    })
                }
                onSyncMessageHandler(c) {
                    switch (this.enablePostMessage = !1, c.type) {
                        case Tc:
                            this.tokenManager.getStorage().setStorage(c.storage);
                            break;
                        case nc:
                            this.tokenManager.emitAdded(c.key, c.token), this.tokenManager.setExpireEventTimeout(c.key, c.token);
                            break;
                        case ro:
                            this.tokenManager.clearExpireEventTimeout(c.key), this.tokenManager.emitRemoved(c.key, c.token);
                            break;
                        case ou:
                            this.tokenManager.emitRenewed(c.key, c.token, c.oldToken)
                    }
                    this.enablePostMessage = !0
                }
            }
            class cc {
                constructor(c = {}) {
                    this.started = !1, this.options = c, this.onLeaderDuplicate = this.onLeaderDuplicate.bind(this), this.onLeader = this.onLeader.bind(this)
                }
                onLeaderDuplicate() {}
                onLeader() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        var p, b;
                        yield null === (b = (p = c.options).onLeader) || void 0 === b ? void 0 : b.call(p)
                    })()
                }
                isLeader() {
                    var c;
                    return !(null === (c = this.elector) || void 0 === c || !c.isLeader)
                }
                hasLeader() {
                    var c;
                    return !(null === (c = this.elector) || void 0 === c || !c.hasLeader)
                }
                start() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        if (c.canStart()) {
                            const {
                                electionChannelName: p
                            } = c.options;
                            c.channel = new Mc(p), c.elector = function Wd(u, c) {
                                if (u._leaderElector) throw new Error("BroadcastChannel already has a leader-elector");
                                c = function Hc(u, c) {
                                    return u || (u = {}), (u = JSON.parse(JSON.stringify(u))).fallbackInterval || (u.fallbackInterval = 3e3), u.responseTime || (u.responseTime = c.method.averageResponseTime(c.options)), u
                                }(c, u);
                                var p = function Da() {
                                    return typeof navigator < "u" && typeof navigator.locks < "u" && "function" == typeof navigator.locks.request
                                }() ? new kl(u, c) : new Gd(u, c);
                                return u._befC.push(function() {
                                    return p.die()
                                }), u._leaderElector = p, p
                            }(c.channel), c.elector.onduplicate = c.onLeaderDuplicate, c.elector.awaitLeadership().then(c.onLeader), c.started = !0
                        }
                    })()
                }
                stop() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        c.started && (c.elector && (yield c.elector.die(), c.elector = void 0), c.channel && (c.channel.postInternal = () => Promise.resolve(), yield c.channel.close(), c.channel = void 0), c.started = !1)
                    })()
                }
                requiresLeadership() {
                    return !1
                }
                isStarted() {
                    return this.started
                }
                canStart() {
                    return In() && !this.started
                }
            }
            const uc = () => Math.floor(Date.now() / 1e3);
            class ih {
                constructor(c, p = {}) {
                    this.started = !1, this.lastHidden = -1, this.tokenManager = c, this.options = p, this.onPageVisbilityChange = this._onPageVisbilityChange.bind(this)
                }
                _onPageVisbilityChange() {
                    if (document.hidden) this.lastHidden = uc();
                    else if (this.lastHidden > 0 && uc() - this.lastHidden >= this.options.tabInactivityDuration) {
                        const {
                            accessToken: c,
                            idToken: p
                        } = this.tokenManager.getTokensSync();
                        if (c && this.tokenManager.hasExpired(c)) {
                            const b = this.tokenManager.getStorageKeyByType("accessToken");
                            this.tokenManager.renew(b).catch(() => {})
                        } else if (p && this.tokenManager.hasExpired(p)) {
                            const b = this.tokenManager.getStorageKeyByType("idToken");
                            this.tokenManager.renew(b).catch(() => {})
                        }
                    }
                }
                start() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        c.canStart() && document && (document.addEventListener("visibilitychange", c.onPageVisbilityChange), c.started = !0)
                    })()
                }
                stop() {
                    var c = this;
                    return (0, P.Z)(function*() {
                        document && (document.removeEventListener("visibilitychange", c.onPageVisbilityChange), c.started = !1)
                    })()
                }
                canStart() {
                    return In() && !!this.options.autoRenew && !!this.options.renewOnTabActivation && !this.started
                }
                requiresLeadership() {
                    return !1
                }
                isStarted() {
                    return this.started
                }
            }
            const _p = "autoRenew",
                zd = "syncStorage",
                ku = "leaderElection",
                Kd = "renewOnTabActivation";
            let cd = (() => {
                class u {
                    constructor(p, b = {}) {
                        this.sdk = p, this.onLeader = this.onLeader.bind(this);
                        const {
                            autoRenew: I,
                            autoRemove: Q,
                            syncStorage: ve
                        } = p.tokenManager.getOptions();
                        b.electionChannelName = b.electionChannelName || b.broadcastChannelName, this.options = Object.assign({}, u.defaultOptions, {
                            autoRenew: I,
                            autoRemove: Q,
                            syncStorage: ve
                        }, {
                            electionChannelName: `${p.options.clientId}-election`,
                            syncChannelName: `${p.options.clientId}-sync`
                        }, be(b)), this.started = !1, this.services = new Map, u.knownServices.forEach(Ve => {
                            const ze = this.createService(Ve);
                            ze && this.services.set(Ve, ze)
                        })
                    }
                    onLeader() {
                        var p = this;
                        return (0, P.Z)(function*() {
                            p.started && (yield p.startServices())
                        })()
                    }
                    isLeader() {
                        var p;
                        return null === (p = this.getService(ku)) || void 0 === p ? void 0 : p.isLeader()
                    }
                    isLeaderRequired() {
                        return [...this.services.values()].some(p => p.canStart() && p.requiresLeadership())
                    }
                    start() {
                        var p = this;
                        return (0, P.Z)(function*() {
                            p.started || (yield p.startServices(), p.started = !0)
                        })()
                    }
                    stop() {
                        var p = this;
                        return (0, P.Z)(function*() {
                            yield p.stopServices(), p.started = !1
                        })()
                    }
                    getService(p) {
                        return this.services.get(p)
                    }
                    startServices() {
                        var p = this;
                        return (0, P.Z)(function*() {
                            for (const [b, I] of p.services.entries()) p.canStartService(b, I) && (yield I.start())
                        })()
                    }
                    stopServices() {
                        var p = this;
                        return (0, P.Z)(function*() {
                            for (const b of p.services.values()) yield b.stop()
                        })()
                    }
                    canStartService(p, b) {
                        let I = b.canStart() && !b.isStarted();
                        return p === ku ? I && (I = this.isLeaderRequired()) : b.requiresLeadership() && I && (I = this.isLeader()), I
                    }
                    createService(p) {
                        const b = this.sdk.tokenManager;
                        let I;
                        switch (p) {
                            case ku:
                                I = new cc(Object.assign(Object.assign({}, this.options), {
                                    onLeader: this.onLeader
                                }));
                                break;
                            case _p:
                                I = new Uc(b, Object.assign({}, this.options));
                                break;
                            case zd:
                                I = new Mf(b, Object.assign({}, this.options));
                                break;
                            case Kd:
                                I = new ih(b, Object.assign({}, this.options));
                                break;
                            default:
                                throw new Error(`Unknown service ${p}`)
                        }
                        return I
                    }
                }
                return u.knownServices = [_p, zd, ku, Kd], u.defaultOptions = {
                    autoRenew: !0,
                    autoRemove: !0,
                    syncStorage: !0,
                    renewOnTabActivation: !0,
                    tabInactivityDuration: 1800
                }, u
            })();

            function fu(u) {
                return u.session.get().then(function(c) {
                    return "ACTIVE" === c.status
                }).catch(function() {
                    return !1
                })
            }

            function dd(u) {
                return Fr(u, "/api/v1/sessions/me", {
                    withCredentials: !0
                }).then(function(c) {
                    var p = me(c, "_links");
                    return p.refresh = function() {
                        return nt(u, _e(c, "refresh").href, {}, {
                            withCredentials: !0
                        })
                    }, p.user = function() {
                        return Fr(u, _e(c, "user").href, {
                            withCredentials: !0
                        })
                    }, p
                }).catch(function() {
                    return {
                        status: "INACTIVE"
                    }
                })
            }

            function Yd(u) {
                return zr(u, {
                    url: u.getIssuerOrigin() + "/api/v1/sessions/me",
                    method: "DELETE",
                    withCredentials: !0
                })
            }

            function qd(u) {
                return nt(u, "/api/v1/sessions/me/lifecycle/refresh", {}, {
                    withCredentials: !0
                })
            }

            function pu(u, c, p) {
                p = p || window.location.href, window.location.assign(u.getIssuerOrigin() + "/login/sessionCookieRedirect" + De({
                    checkAccountSetupComplete: !0,
                    token: c,
                    redirectUrl: p
                }))
            }

            function Sc(u, c, p) {
                const b = function pt(u) {
                        class c {
                            constructor(...b) {
                                const I = new u(b.length && b[0] || {});
                                this.options = be(I), this.emitter = new Ee, this.features = r
                            }
                        }
                        return c.features = r, c.constants = t, c.features = c.prototype.features = r, Object.assign(c, {
                            constants: t
                        }), c
                    }(c),
                    I = function Gt(u, c) {
                        return class extends u {
                            constructor(...b) {
                                super(...b);
                                const {
                                    storageManager: I,
                                    cookies: Q,
                                    storageUtil: ve
                                } = this.options;
                                this.storageManager = new c(I, Q, ve)
                            }
                            clearStorage() {}
                        }
                    }(b, u),
                    Q = function Zr(u) {
                        return class extends u {
                            constructor(...p) {
                                super(...p), this._oktaUserAgent = new nn, this.http = {
                                    setRequestHeader: Gn.bind(null, this)
                                }
                            }
                            setHeaders(p) {
                                this.options.headers = Object.assign({}, this.options.headers, p)
                            }
                            getIssuerOrigin() {
                                return this.options.issuer.split("/oauth2/")[0]
                            }
                            webfinger(p) {
                                return Fr(this, "/.well-known/webfinger" + De(p), {
                                    headers: {
                                        Accept: "application/jrd+json"
                                    }
                                })
                            }
                        }
                    }(I);
                return function ud(u) {
                    return class extends u {
                        constructor(...p) {
                            super(...p), this.authStateManager = new su(this), this.serviceManager = new cd(this, this.options.services)
                        }
                        start() {
                            var p = this;
                            return (0, P.Z)(function*() {
                                yield p.serviceManager.start(), p.tokenManager.start(), p.token.isLoginRedirect() || (yield p.authStateManager.updateAuthState())
                            })()
                        }
                        stop() {
                            var p = this;
                            return (0, P.Z)(function*() {
                                p.tokenManager.stop(), yield p.serviceManager.stop()
                            })()
                        }
                        handleRedirect(p) {
                            var b = this;
                            return (0, P.Z)(function*() {
                                yield b.handleLoginRedirect(void 0, p)
                            })()
                        }
                        handleLoginRedirect(p, b) {
                            var I = this;
                            return (0, P.Z)(function*() {
                                let Q = I.options.state;
                                if (p) I.tokenManager.setTokens(p), b = b || I.getOriginalUri(I.options.state);
                                else {
                                    if (!I.isLoginRedirect()) return;
                                    try {
                                        Q = (yield vs(I, {})).state, b = b || I.getOriginalUri(Q), yield I.storeTokensFromRedirect()
                                    } catch (Ve) {
                                        throw yield I.authStateManager.updateAuthState(), Ve
                                    }
                                }
                                yield I.authStateManager.updateAuthState(), I.removeOriginalUri(Q);
                                const {
                                    restoreOriginalUri: ve
                                } = I.options;
                                ve ? yield ve(I, b): b && window.location.replace(b)
                            })()
                        }
                        handleIDPPopupRedirect(p = window.location.href) {
                            const b = vs(this, {
                                responseMode: "query",
                                url: p
                            });
                            if (!b.state) throw new fe("Unable to parse auth code params"); {
                                const I = new BroadcastChannel(`popup-callback:${b.state}`);
                                I.postMessage(b), I.close()
                            }
                        }
                    }
                }(function Tu(u, c) {
                    var p;
                    const b = function Bd(u) {
                        return class extends u {
                            setOriginalUri(p, b) {
                                rc.getSessionStorage().setItem(et, p), (b = b || this.options.state) && this.storageManager.getOriginalUriStorage().setItem(b, p)
                            }
                            getOriginalUri(p) {
                                if (p = p || this.options.state) {
                                    const Q = this.storageManager.getOriginalUriStorage().getItem(p);
                                    if (Q) return Q
                                }
                                const b = rc.getSessionStorage();
                                return b && b.getItem(et) || void 0
                            }
                            removeOriginalUri(p) {
                                if (rc.getSessionStorage().removeItem(et), p = p || this.options.state) {
                                    const I = this.storageManager.getOriginalUriStorage();
                                    I.removeItem && I.removeItem(p)
                                }
                            }
                        }
                    }(u);
                    return p = class extends b {
                        constructor(...Q) {
                            super(...Q), this.transactionManager = new c(Object.assign({
                                storageManager: this.storageManager
                            }, this.options.transactionManager)), this.pkce = {
                                DEFAULT_CODE_CHALLENGE_METHOD: uo.DEFAULT_CODE_CHALLENGE_METHOD,
                                generateVerifier: uo.generateVerifier,
                                computeChallenge: uo.computeChallenge
                            }, this._pending = {
                                handleLogin: !1
                            }, this._tokenQueue = new Us, this.token = Ec(this, this._tokenQueue), this.tokenManager = new Du(this, this.options.tokenManager), this.endpoints = function kc(u) {
                                return {
                                    authorize: {
                                        enrollAuthenticator: yf.bind(null, u)
                                    }
                                }
                            }(this)
                        }
                        clearStorage() {
                            super.clearStorage(), this.tokenManager.clear()
                        }
                        isAuthenticated() {
                            var Q = this;
                            return (0, P.Z)(function*(ve = {}) {
                                const {
                                    autoRenew: Ve,
                                    autoRemove: ze
                                } = Q.tokenManager.getOptions(), lt = ve.onExpiredToken ? "renew" === ve.onExpiredToken : Ve, Ot = ve.onExpiredToken ? "remove" === ve.onExpiredToken : ze;
                                let {
                                    accessToken: At
                                } = Q.tokenManager.getTokensSync();
                                if (At && Q.tokenManager.hasExpired(At))
                                    if (At = void 0, lt) try {
                                        At = yield Q.tokenManager.renew("accessToken")
                                    } catch {} else Ot && Q.tokenManager.remove("accessToken");
                                let {
                                    idToken: Nt
                                } = Q.tokenManager.getTokensSync();
                                if (Nt && Q.tokenManager.hasExpired(Nt))
                                    if (Nt = void 0, lt) try {
                                        Nt = yield Q.tokenManager.renew("idToken")
                                    } catch {} else Ot && Q.tokenManager.remove("idToken");
                                return !(!At || !Nt)
                            }).apply(this, arguments)
                        }
                        signInWithRedirect() {
                            var Q = this;
                            return (0, P.Z)(function*(ve = {}) {
                                const {
                                    originalUri: Ve
                                } = ve, ze = dn(ve, ["originalUri"]);
                                if (!Q._pending.handleLogin) {
                                    Q._pending.handleLogin = !0;
                                    try {
                                        Ve && Q.setOriginalUri(Ve);
                                        const lt = Object.assign({
                                            scopes: Q.options.scopes || ["openid", "email", "profile"]
                                        }, ze);
                                        yield Q.token.getWithRedirect(lt)
                                    } finally {
                                        Q._pending.handleLogin = !1
                                    }
                                }
                            }).apply(this, arguments)
                        }
                        getUser() {
                            var Q = this;
                            return (0, P.Z)(function*() {
                                const {
                                    idToken: ve,
                                    accessToken: Ve
                                } = Q.tokenManager.getTokensSync();
                                return Q.token.getUserInfo(Ve, ve)
                            })()
                        }
                        getIdToken() {
                            const {
                                idToken: Q
                            } = this.tokenManager.getTokensSync();
                            return Q ? Q.idToken : void 0
                        }
                        getAccessToken() {
                            const {
                                accessToken: Q
                            } = this.tokenManager.getTokensSync();
                            return Q ? Q.accessToken : void 0
                        }
                        getRefreshToken() {
                            const {
                                refreshToken: Q
                            } = this.tokenManager.getTokensSync();
                            return Q ? Q.refreshToken : void 0
                        }
                        getOrRenewAccessToken() {
                            var Q = this;
                            return (0, P.Z)(function*() {
                                var ve;
                                const {
                                    accessToken: Ve
                                } = Q.tokenManager.getTokensSync();
                                if (Ve && !Q.tokenManager.hasExpired(Ve)) return Ve.accessToken;
                                try {
                                    const ze = Q.tokenManager.getStorageKeyByType("accessToken");
                                    return null !== (ve = (yield Q.tokenManager.renew(ze ? ? "accessToken")) ? .accessToken) && void 0 !== ve ? ve : null
                                } catch (ze) {
                                    return Q.emitter.emit("error", ze), null
                                }
                            })()
                        }
                        storeTokensFromRedirect() {
                            var Q = this;
                            return (0, P.Z)(function*() {
                                const {
                                    tokens: ve,
                                    responseType: Ve
                                } = yield Q.token.parseFromUrl();
                                "none" !== Ve && Q.tokenManager.setTokens(ve)
                            })()
                        }
                        isLoginRedirect() {
                            return de(this)
                        }
                        isPKCE() {
                            return !!this.options.pkce
                        }
                        hasResponseType(Q) {
                            return function zl(u, c) {
                                let p = !1;
                                return p = Array.isArray(c.responseType) && c.responseType.length ? c.responseType.indexOf(u) >= 0 : c.responseType === u, p
                            }(Q, this.options)
                        }
                        isAuthorizationCodeFlow() {
                            return this.hasResponseType("code")
                        }
                        invokeApiMethod(Q) {
                            var ve = this;
                            return (0, P.Z)(function*() {
                                if (!Q.accessToken) {
                                    const Ve = (yield ve.tokenManager.getTokens()).accessToken;
                                    Q.accessToken = Ve ? .accessToken
                                }
                                return zr(ve, Q)
                            })()
                        }
                        revokeAccessToken(Q) {
                            var ve = this;
                            return (0, P.Z)(function*() {
                                if (!Q) {
                                    const Ve = yield ve.tokenManager.getTokens();
                                    Q = Ve.accessToken;
                                    const ze = ve.tokenManager.getStorageKeyByType("accessToken");
                                    ve.tokenManager.remove(ze), ve.options.dpop && (yield Js("access", Ve))
                                }
                                return Q ? ve.token.revoke(Q) : Promise.resolve(null)
                            })()
                        }
                        revokeRefreshToken(Q) {
                            var ve = this;
                            return (0, P.Z)(function*() {
                                if (!Q) {
                                    const Ve = yield ve.tokenManager.getTokens();
                                    Q = Ve.refreshToken;
                                    const ze = ve.tokenManager.getStorageKeyByType("refreshToken");
                                    ve.tokenManager.remove(ze), ve.options.dpop && (yield Js("refresh", Ve))
                                }
                                return Q ? ve.token.revoke(Q) : Promise.resolve(null)
                            })()
                        }
                        getSignOutRedirectUrl(Q = {}) {
                            let {
                                idToken: ve,
                                postLogoutRedirectUri: Ve,
                                state: ze
                            } = Q;
                            if (ve || (ve = this.tokenManager.getTokensSync().idToken), !ve) return "";
                            void 0 === Ve && (Ve = this.options.postLogoutRedirectUri);
                            let At = Ge(this).logoutUrl + "?id_token_hint=" + encodeURIComponent(ve.idToken);
                            return Ve && (At += "&post_logout_redirect_uri=" + encodeURIComponent(Ve)), ze && (At += "&state=" + encodeURIComponent(ze)), At
                        }
                        signOut(Q) {
                            var ve = this;
                            return (0, P.Z)(function*() {
                                var Ve;
                                Q = Object.assign({}, Q);
                                const ze = window.location.origin,
                                    lt = window.location.href,
                                    Ot = null === Q.postLogoutRedirectUri ? null : Q.postLogoutRedirectUri || ve.options.postLogoutRedirectUri || ze,
                                    At = Q ? .state;
                                let Nt = Q.accessToken,
                                    fn = Q.refreshToken;
                                const Dn = !1 !== Q.revokeAccessToken,
                                    Hn = !1 !== Q.revokeRefreshToken;
                                Hn && typeof fn > "u" && (fn = ve.tokenManager.getTokensSync().refreshToken), Dn && typeof Nt > "u" && (Nt = ve.tokenManager.getTokensSync().accessToken), Q.idToken || (Q.idToken = ve.tokenManager.getTokensSync().idToken), Hn && fn && (yield ve.revokeRefreshToken(fn)), Dn && Nt && (yield ve.revokeAccessToken(Nt));
                                const di = null !== (Ve = Nt ? .dpopPairId) && void 0 !== Ve ? Ve : fn ? .dpopPairId;
                                ve.options.dpop && di && (yield Ca(di));
                                const Nr = ve.getSignOutRedirectUrl(Object.assign(Object.assign({}, Q), {
                                    postLogoutRedirectUri: Ot
                                }));
                                if (Nr) return Q.clearTokensBeforeRedirect ? ve.tokenManager.clear() : ve.tokenManager.addPendingRemoveFlags(), window.location.assign(Nr), !0; {
                                    const Do = yield ve.closeSession(), No = new URL(Ot || ze);
                                    return At && No.searchParams.append("state", At), Ot === lt ? window.location.href = No.href : window.location.assign(No.href), Do
                                }
                            })()
                        }
                        getDPoPAuthorizationHeaders(Q) {
                            var ve = this;
                            return (0, P.Z)(function*() {
                                if (!ve.options.dpop) throw new fe("DPoP is not configured for this client instance");
                                let {
                                    accessToken: Ve
                                } = Q;
                                if (Ve || (Ve = ve.tokenManager.getTokensSync().accessToken), !Ve) throw new fe("AccessToken is required to generate a DPoP Proof");
                                const ze = yield la(Ve ? .dpopPairId), lt = yield $e(Object.assign(Object.assign({}, Q), {
                                    keyPair: ze,
                                    accessToken: Ve.accessToken
                                }));
                                return {
                                    Authorization: `DPoP ${Ve.accessToken}`,
                                    Dpop: lt
                                }
                            })()
                        }
                        clearDPoPStorage() {
                            var Q = this;
                            return (0, P.Z)(function*(ve = !1) {
                                var Ve, ze;
                                if (ve) return function Nc() {
                                    return xc.apply(this, arguments)
                                }();
                                const lt = yield Q.tokenManager.getTokens(), Ot = (null === (Ve = lt.accessToken) || void 0 === Ve ? void 0 : Ve.dpopPairId) || (null === (ze = lt.refreshToken) || void 0 === ze ? void 0 : ze.dpopPairId);
                                Ot && (yield Ca(Ot))
                            }).apply(this, arguments)
                        }
                        parseUseDPoPNonceError(Q) {
                            var ve;
                            const Ve = Be.getWWWAuthenticateHeader(Q);
                            if (Po(Be.parseHeader(Ve ? ? ""))) {
                                let lt = null;
                                return Me(Q ? .get) && (lt = Q.get("DPoP-Nonce")), lt = null !== (ve = lt ? ? Q["dpop-nonce"]) && void 0 !== ve ? ve : Q["DPoP-Nonce"], lt
                            }
                            return null
                        }
                    }, p.crypto = C, p
                }(function Ta(u) {
                    return class extends u {
                        constructor(...p) {
                            super(...p), this.session = function dc(u) {
                                return {
                                    close: Yd.bind(null, u),
                                    exists: fu.bind(null, u),
                                    get: dd.bind(null, u),
                                    refresh: qd.bind(null, u),
                                    setCookieAndRedirect: pu.bind(null, u)
                                }
                            }(this)
                        }
                        closeSession() {
                            var p = this;
                            return this.session.close().then((0, P.Z)(function*() {
                                return p.clearStorage(), !0
                            })).catch(function(b) {
                                if ("AuthApiError" === b.name && "E0000007" === b.errorCode) return !1;
                                throw b
                            })
                        }
                    }
                }(Q), p))
            }

            function fd(u, c) {
                var p;
                if (!Jr()) return Promise.reject(new fe("Fingerprinting is not supported on this device"));
                const b = null !== (p = c ? .container) && void 0 !== p ? p : document.body;
                let I, Q, ve;
                return new Promise(function(ze, lt) {
                    Q = document.createElement("iframe"), Q.style.display = "none", ve = function(At) {
                        var Nt;
                        if (!((u, c) => c.source === u.contentWindow)(Q, At) || !At || !At.data || At.origin !== u.getIssuerOrigin()) return;
                        let fn;
                        try {
                            fn = JSON.parse(At.data)
                        } catch {
                            return
                        }
                        if (fn) {
                            if ("FingerprintAvailable" === fn.type) return ze(fn.fingerprint);
                            if ("FingerprintServiceReady" !== fn.type) return lt(new fe("No data"));
                            null === (Nt = Q ? .contentWindow) || void 0 === Nt || Nt.postMessage(JSON.stringify({
                                type: "GetFingerprint"
                            }), At.origin)
                        }
                    }, On(window, "message", ve), Q.src = u.getIssuerOrigin() + "/auth/services/devicefingerprint", b.appendChild(Q), I = setTimeout(function() {
                        lt(new fe("Fingerprinting timed out"))
                    }, c ? .timeout || 15e3)
                }).finally(function() {
                    var ze;
                    clearTimeout(I), gi(window, "message", ve), b.contains(Q) && (null === (ze = Q.parentElement) || void 0 === ze || ze.removeChild(Q))
                })
            }
            const vp = (u = []) => {
                    const c = [];
                    return u.forEach(p => {
                        "webauthn" === p.key && c.push({
                            type: "public-key",
                            id: Lo(p.credentialId)
                        })
                    }), c
                },
                yp = (u, c) => ({
                    publicKey: {
                        rp: u.rp,
                        user: {
                            id: Lo(u.user.id),
                            name: u.user.name,
                            displayName: u.user.displayName
                        },
                        challenge: Lo(u.challenge),
                        pubKeyCredParams: u.pubKeyCredParams,
                        attestation: u.attestation,
                        authenticatorSelection: u.authenticatorSelection,
                        excludeCredentials: vp(c)
                    }
                }),
                oh = (u, c) => ({
                    publicKey: Object.assign({
                        challenge: Lo(u.challenge),
                        userVerification: u.userVerification,
                        allowCredentials: vp(c)
                    }, u.rpId && {
                        rpId: u.rpId
                    })
                }),
                Pf = u => {
                    const c = u.response;
                    return {
                        id: u.id,
                        clientData: Xi(c.clientDataJSON),
                        attestation: Xi(c.attestationObject)
                    }
                },
                If = u => {
                    const c = u.response;
                    return {
                        id: u.id,
                        clientData: Xi(c.clientDataJSON),
                        authenticatorData: Xi(c.authenticatorData),
                        signatureData: Xi(c.signature)
                    }
                },
                Rf = {
                    token: {
                        storageTypes: ["localStorage", "sessionStorage", "cookie"]
                    },
                    cache: {
                        storageTypes: ["localStorage", "sessionStorage", "cookie"]
                    },
                    transaction: {
                        storageTypes: ["sessionStorage", "localStorage", "cookie"]
                    },
                    "shared-transaction": {
                        storageTypes: ["localStorage"]
                    },
                    "original-uri": {
                        storageTypes: ["localStorage"]
                    }
                };
            const Yo = /application\/\w*\+?json/;

            function kf(u, c, p) {
                var b = p.data,
                    I = p.headers || {},
                    Q = I["Content-Type"] || I["content-type"] || "";
                b && "string" != typeof b && (Yo.test(Q) ? b = JSON.stringify(b) : "application/x-www-form-urlencoded" === Q && (b = Object.entries(b).map(([ze, lt]) => `${ze}=${encodeURIComponent(lt)}`).join("&")));
                var Ve = (window.fetch || Xt)(c, {
                    method: u,
                    headers: p.headers,
                    body: b,
                    credentials: p.withCredentials ? "include" : "omit"
                });
                return Ve.finally || (Ve = Promise.resolve(Ve)), Ve.then(function(ze) {
                    var lt = !ze.ok,
                        Ot = ze.status;
                    return function Cp(u) {
                        return u.headers.get("Content-Type") && u.headers.get("Content-Type").toLowerCase().indexOf("application/json") >= 0 ? u.json().catch(c => ({
                            error: c,
                            errorSummary: "Could not parse server response"
                        })) : u.text()
                    }(ze).then(At => function xp(u, c, p) {
                        const b = "object" == typeof c,
                            I = {};
                        for (const ve of p.headers.entries()) I[ve[0]] = ve[1];
                        const Q = {
                            responseText: b ? JSON.stringify(c) : c,
                            status: u,
                            headers: I
                        };
                        return b && (Q.responseType = "json", Q.responseJSON = c), Q
                    }(Ot, At, ze)).then(At => {
                        var Nt;
                        if (lt || (null === (Nt = At.responseJSON) || void 0 === Nt ? void 0 : Nt.error)) throw At;
                        return At
                    })
                })
            }

            function bl() {
                const u = function wp() {
                    const u = function lh() {
                        return class extends class {
                            constructor(c) {
                                this.devMode = !!c.devMode
                            }
                        } {
                            constructor(p) {
                                super(p), this.cookies = function Ff(u = {}, c) {
                                    var p = u.cookies || {};
                                    return typeof p.secure > "u" && (p.secure = c), typeof p.sameSite > "u" && (p.sameSite = p.secure ? "none" : "lax"), p.secure && !c && (le('The current page is not being served with the HTTPS protocol.\nFor security reasons, we strongly recommend using HTTPS.\nIf you cannot use HTTPS, set "cookies.secure" option to false.'), p.secure = !1), "none" === p.sameSite && !p.secure && (p.sameSite = "lax"), p
                                }(p, Ji()), this.storageUtil = p.storageUtil || function pd() {
                                    return Object.assign({}, rc, {
                                        inMemoryStore: {}
                                    })
                                }(), this.storageManager = Object.assign(Object.assign({}, Rf), p.storageManager)
                            }
                        }
                    }();
                    return class extends u {
                        constructor(p) {
                            super(p), this.issuer = p.issuer, this.transformErrorXHR = p.transformErrorXHR, this.headers = p.headers, this.httpRequestClient = p.httpRequestClient || kf, this.httpRequestInterceptors = p.httpRequestInterceptors, this.pollDelay = p.pollDelay
                        }
                    }
                }();
                return class extends u {
                    constructor(p) {
                        super(p),
                            function ch(u) {
                                var c = (u = u || {}).scopes;
                                if (c && !Array.isArray(c)) throw new fe('scopes must be a array of strings. Required usage: new OktaAuth({scopes: ["openid", "email"]})');
                                var p = u.issuer;
                                if (!p) throw new fe('No issuer passed to constructor. Required usage: new OktaAuth({issuer: "https://{yourOktaDomain}.com/oauth2/{authServerId}"})');
                                if (!new RegExp("^http?s?://.+").test(p)) throw new fe('Issuer must be a valid URL. Required usage: new OktaAuth({issuer: "https://{yourOktaDomain}.com/oauth2/{authServerId}"})');
                                if (-1 !== p.indexOf("-admin.okta")) throw new fe('Issuer URL passed to constructor contains "-admin" in subdomain. Required usage: new OktaAuth({issuer: "https://{yourOktaDomain}.com})')
                            }(p), this.issuer = J(p.issuer), this.tokenUrl = J(p.tokenUrl), this.authorizeUrl = J(p.authorizeUrl), this.userinfoUrl = J(p.userinfoUrl), this.revokeUrl = J(p.revokeUrl), this.logoutUrl = J(p.logoutUrl), this.pkce = !1 !== p.pkce, this.clientId = p.clientId, this.redirectUri = p.redirectUri, In() && (this.redirectUri = function ht(u = "", c) {
                                return Ct(u) ? u : (c = J(c), "/" === u[0] ? `${c}${u}` : `${c}/${u}`)
                            }(p.redirectUri, window.location.origin)), this.responseType = p.responseType, this.responseMode = p.responseMode, this.state = p.state, this.scopes = p.scopes, this.ignoreSignature = !!p.ignoreSignature, this.codeChallenge = p.codeChallenge, this.codeChallengeMethod = p.codeChallengeMethod, this.acrValues = p.acrValues, this.maxAge = p.maxAge, this.dpop = !0 === p.dpop, this.dpopOptions = Object.assign({
                                allowBearerTokens: !1
                            }, p.dpopOptions), this.tokenManager = p.tokenManager, this.postLogoutRedirectUri = p.postLogoutRedirectUri, this.restoreOriginalUri = p.restoreOriginalUri, this.transactionManager = Object.assign({
                                enableSharedStorage: !0
                            }, p.transactionManager), this.clientSecret = p.clientSecret, this.setLocation = p.setLocation, this.ignoreLifetime = !!p.ignoreLifetime, this.maxClockSkew = p.maxClockSkew || 0 === p.maxClockSkew ? p.maxClockSkew : Nn
                    }
                }
            }
            class hd {
                constructor(c, p) {
                    if (!c) throw new fe('"storage" is required');
                    if ("string" != typeof p || !p.length) throw new fe('"storageName" is required');
                    this.storageName = p, this.storageProvider = c
                }
                getItem(c) {
                    return this.getStorage()[c]
                }
                setItem(c, p) {
                    return this.updateStorage(c, p)
                }
                removeItem(c) {
                    return this.clearStorage(c)
                }
                getStorage() {
                    var c = this.storageProvider.getItem(this.storageName);
                    c = c || "{}";
                    try {
                        return JSON.parse(c)
                    } catch {
                        throw new fe("Unable to parse storage string: " + this.storageName)
                    }
                }
                setStorage(c) {
                    try {
                        var p = c ? JSON.stringify(c) : "{}";
                        this.storageProvider.setItem(this.storageName, p)
                    } catch {
                        throw new fe("Unable to set storage: " + this.storageName)
                    }
                }
                clearStorage(c) {
                    if (c) {
                        var p = this.getStorage();
                        delete p[c], this.setStorage(p)
                    } else this.storageProvider.removeItem ? this.storageProvider.removeItem(this.storageName) : this.setStorage()
                }
                updateStorage(c, p) {
                    var b = this.getStorage();
                    b[c] = p, this.setStorage(b)
                }
            }

            function Jd(u) {
                !In() && !u.storageProvider && !u.storageKey && le("Memory storage can only support simple single user use case on server side, please provide custom storageProvider or storageKey if advanced scenarios need to be supported.")
            }

            function gd(u) {
                return !(!u || "object" != typeof u || 0 === Object.values(u).length)
            }

            function Vf(u) {
                return !(! function Op(u) {
                    return !(!gd(u) || !u.redirectUri && !u.responseType)
                }(u) && ! function Uf(u) {
                    return !!gd(u) && void 0 === Object.values(u).find(p => "string" != typeof p)
                }(u))
            }
            class el {
                constructor(c, p) {
                    const {
                        res: b
                    } = p, {
                        headers: I
                    } = b, Q = dn(b, ["headers"]);
                    I && (this.headers = I), Object.keys(Q).forEach(ve => {
                        "_links" !== ve && (this[ve] = Q[ve])
                    })
                }
            }

            function qo(u, c) {
                return _d.apply(this, arguments)
            }

            function _d() {
                return (_d = (0, P.Z)(function*(u, c, p = el) {
                    const {
                        accessToken: b
                    } = u.tokenManager.getTokensSync(), I = c.accessToken || b, Q = u.getIssuerOrigin(), {
                        url: ve,
                        method: Ve,
                        payload: ze
                    } = c, lt = ve.startsWith(Q) ? ve : `${Q}${ve}`;
                    if (!I) throw new fe("AccessToken is required to request MyAccount API endpoints.");
                    let Ot = I;
                    const At = Object.assign({
                        headers: {
                            Accept: "*/*;okta-version=1.0.0"
                        },
                        url: lt,
                        method: Ve
                    }, ze && {
                        args: ze
                    });
                    if (u.options.dpop) {
                        if ("string" == typeof Ot) throw new fe("AccessToken object must be provided when using dpop");
                        const {
                            Authorization: Dn,
                            Dpop: Hn
                        } = yield u.getDPoPAuthorizationHeaders({
                            method: Ve,
                            url: lt,
                            accessToken: Ot
                        });
                        At.headers.Authorization = Dn, At.headers.Dpop = Hn
                    } else Ot = "string" == typeof Ot ? Ot : Ot.accessToken, At.accessToken = Ot;
                    const Nt = yield zr(u, At);
                    let fn;
                    return fn = Array.isArray(Nt) ? Nt.map(Dn => new p(u, {
                        res: Dn,
                        accessToken: Ot
                    })) : new p(u, {
                        res: Nt,
                        accessToken: Ot
                    }), fn
                })).apply(this, arguments)
            }

            function js({
                oktaAuth: u,
                accessToken: c,
                methodName: p,
                links: b
            }, I = el) {
                for (const ve of ["GET", "POST", "PUT", "DELETE"])
                    if (ve.toLowerCase() === p) {
                        const Ve = b.self;
                        return function() {
                            var ze = (0, P.Z)(function*(lt) {
                                return qo(u, {
                                    accessToken: c,
                                    url: Ve.href,
                                    method: ve,
                                    payload: lt
                                }, I)
                            });
                            return function(lt) {
                                return ze.apply(this, arguments)
                            }
                        }()
                    }
                const Q = b[p];
                if (!Q) throw new fe(`No link is found with methodName: ${p}`);
                return function() {
                    var ve = (0, P.Z)(function*(Ve) {
                        return qo(u, {
                            accessToken: c,
                            url: Q.href,
                            method: Q.hints.allow[0],
                            payload: Ve
                        }, I)
                    });
                    return function(Ve) {
                        return ve.apply(this, arguments)
                    }
                }()
            }
            class jc extends el {
                constructor(c, p) {
                    super(c, p);
                    const {
                        createdAt: b,
                        modifiedAt: I,
                        profile: Q
                    } = p.res;
                    this.createdAt = b, this.modifiedAt = I, this.profile = Q
                }
            }
            class Sp extends el {
                constructor(c, p) {
                    super(c, p), this.properties = p.res.properties
                }
            }
            const Zf = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        return yield qo(c, {
                            url: "/idp/myaccount/profile",
                            method: "GET",
                            accessToken: p ? .accessToken
                        }, jc)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                ph = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            payload: b,
                            accessToken: I
                        } = p;
                        return yield qo(c, {
                            url: "/idp/myaccount/profile",
                            method: "PUT",
                            payload: b,
                            accessToken: I
                        }, jc)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Wf = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        return yield qo(c, {
                            url: "/idp/myaccount/profile/schema",
                            method: "GET",
                            accessToken: p ? .accessToken
                        }, Sp)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }();
            class Qd extends el {
                constructor(c, p) {
                    super(c, p);
                    const {
                        res: b
                    } = p, {
                        id: I,
                        profile: Q,
                        expiresAt: ve,
                        status: Ve
                    } = b;
                    this.id = I, this.expiresAt = ve, this.profile = Q, this.status = Ve
                }
            }
            class fc extends el {
                constructor(c, p) {
                    super(c, p);
                    const {
                        accessToken: b,
                        res: I
                    } = p, {
                        id: Q,
                        expiresAt: ve,
                        profile: Ve,
                        status: ze,
                        _links: lt
                    } = I;
                    this.id = Q, this.expiresAt = ve, this.profile = Ve, this.status = ze, this.poll = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: b,
                            methodName: "poll",
                            links: lt
                        }, Qd)()
                    }), this.verify = function() {
                        var Ot = (0, P.Z)(function*(At) {
                            return yield js({
                                oktaAuth: c,
                                accessToken: b,
                                methodName: "verify",
                                links: lt
                            }, fc)(At)
                        });
                        return function(At) {
                            return Ot.apply(this, arguments)
                        }
                    }()
                }
            }
            class vd extends el {
                constructor(c, p) {
                    super(c, p);
                    const {
                        accessToken: b,
                        res: I
                    } = p, {
                        id: Q,
                        profile: ve,
                        roles: Ve,
                        status: ze,
                        _links: lt
                    } = I;
                    this.id = Q, this.profile = ve, this.roles = Ve, this.status = ze, this.get = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: b,
                            methodName: "get",
                            links: lt
                        }, vd)()
                    }), this.delete = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: b,
                            methodName: "delete",
                            links: lt
                        })()
                    }), this.challenge = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: b,
                            methodName: "challenge",
                            links: lt
                        }, fc)()
                    }), lt.poll && (this.poll = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: b,
                            methodName: "poll",
                            links: lt
                        }, Qd)()
                    })), lt.verify && (this.verify = function() {
                        var Ot = (0, P.Z)(function*(At) {
                            return yield js({
                                oktaAuth: c,
                                accessToken: b,
                                methodName: "verify",
                                links: lt
                            })(At)
                        });
                        return function(At) {
                            return Ot.apply(this, arguments)
                        }
                    }())
                }
            }
            const Xd = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        return yield qo(c, {
                            url: "/idp/myaccount/emails",
                            method: "GET",
                            accessToken: p ? .accessToken
                        }, vd)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                ef = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            id: b,
                            accessToken: I
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/emails/${b}`,
                            method: "GET",
                            accessToken: I
                        }, vd)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                tf = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            accessToken: b,
                            payload: I
                        } = p;
                        return yield qo(c, {
                            url: "/idp/myaccount/emails",
                            method: "POST",
                            payload: I,
                            accessToken: b
                        }, vd)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Lu = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            id: b,
                            accessToken: I
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/emails/${b}`,
                            method: "DELETE",
                            accessToken: I
                        })
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Pp = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            id: b,
                            accessToken: I
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/emails/${b}/challenge`,
                            method: "POST",
                            accessToken: I
                        }, fc)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Ip = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            emailId: b,
                            challengeId: I,
                            accessToken: Q
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/emails/${b}/challenge/${I}`,
                            method: "POST",
                            accessToken: Q
                        }, fc)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Np = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            emailId: b,
                            challengeId: I,
                            payload: Q,
                            accessToken: ve
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/emails/${b}/challenge/${I}/verify`,
                            method: "POST",
                            payload: Q,
                            accessToken: ve
                        })
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }();
            class $u extends el {
                constructor(c, p) {
                    super(c, p);
                    const {
                        res: b,
                        accessToken: I
                    } = p, {
                        id: Q,
                        profile: ve,
                        status: Ve,
                        _links: ze
                    } = b;
                    this.id = Q, this.profile = ve, this.status = Ve, this.get = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: I,
                            methodName: "get",
                            links: ze
                        }, $u)()
                    }), this.delete = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: I,
                            methodName: "delete",
                            links: ze
                        })()
                    }), this.challenge = function() {
                        var lt = (0, P.Z)(function*(Ot) {
                            return yield js({
                                oktaAuth: c,
                                accessToken: I,
                                methodName: "challenge",
                                links: ze
                            })(Ot)
                        });
                        return function(Ot) {
                            return lt.apply(this, arguments)
                        }
                    }(), ze.verify && (this.verify = function() {
                        var lt = (0, P.Z)(function*(Ot) {
                            return yield js({
                                oktaAuth: c,
                                accessToken: I,
                                methodName: "verify",
                                links: ze
                            })(Ot)
                        });
                        return function(Ot) {
                            return lt.apply(this, arguments)
                        }
                    }())
                }
            }
            const yd = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        return yield qo(c, {
                            url: "/idp/myaccount/phones",
                            method: "GET",
                            accessToken: p ? .accessToken
                        }, $u)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                hh = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            accessToken: b,
                            id: I
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/phones/${I}`,
                            method: "GET",
                            accessToken: b
                        }, $u)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                bd = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            accessToken: b,
                            payload: I
                        } = p;
                        return yield qo(c, {
                            url: "/idp/myaccount/phones",
                            method: "POST",
                            payload: I,
                            accessToken: b
                        }, $u)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Rp = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            id: b,
                            accessToken: I
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/phones/${b}`,
                            method: "DELETE",
                            accessToken: I
                        })
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Bu = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            accessToken: b,
                            id: I,
                            payload: Q
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/phones/${I}/challenge`,
                            method: "POST",
                            payload: Q,
                            accessToken: b
                        })
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Cd = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            id: b,
                            payload: I,
                            accessToken: Q
                        } = p;
                        return yield qo(c, {
                            url: `/idp/myaccount/phones/${b}/verify`,
                            method: "POST",
                            payload: I,
                            accessToken: Q
                        })
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }();
            var xd = (() => {
                return (u = xd || (xd = {})).NOT_ENROLLED = "NOT_ENROLLED", u.ACTIVE = "ACTIVE", xd;
                var u
            })();
            class mu extends el {
                constructor(c, p) {
                    super(c, p);
                    const {
                        res: b,
                        accessToken: I
                    } = p, {
                        id: Q,
                        status: ve,
                        created: Ve,
                        lastUpdated: ze,
                        _links: lt
                    } = b;
                    this.id = Q, this.status = ve, this.created = Ve, this.lastUpdated = ze, this.status == xd.NOT_ENROLLED ? this.enroll = function() {
                        var Ot = (0, P.Z)(function*(At) {
                            return yield js({
                                oktaAuth: c,
                                accessToken: I,
                                methodName: "enroll",
                                links: lt
                            }, mu)(At)
                        });
                        return function(At) {
                            return Ot.apply(this, arguments)
                        }
                    }() : (this.get = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: I,
                            methodName: "get",
                            links: lt
                        }, mu)()
                    }), this.update = function() {
                        var Ot = (0, P.Z)(function*(At) {
                            return yield js({
                                oktaAuth: c,
                                accessToken: I,
                                methodName: "put",
                                links: lt
                            }, mu)(At)
                        });
                        return function(At) {
                            return Ot.apply(this, arguments)
                        }
                    }(), this.delete = (0, P.Z)(function*() {
                        return yield js({
                            oktaAuth: c,
                            accessToken: I,
                            methodName: "delete",
                            links: lt
                        })()
                    }))
                }
            }
            const mh = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        return yield qo(c, {
                            url: "/idp/myaccount/password",
                            method: "GET",
                            accessToken: p ? .accessToken
                        }, mu)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                gh = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            accessToken: b,
                            payload: I
                        } = p;
                        return yield qo(c, {
                            url: "/idp/myaccount/password",
                            method: "POST",
                            payload: I,
                            accessToken: b
                        }, mu)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                Fp = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        const {
                            accessToken: b,
                            payload: I
                        } = p;
                        return yield qo(c, {
                            url: "/idp/myaccount/password",
                            method: "PUT",
                            payload: I,
                            accessToken: b
                        }, mu)
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }(),
                kp = function() {
                    var u = (0, P.Z)(function*(c, p) {
                        return yield qo(c, {
                            url: "/idp/myaccount/password",
                            method: "DELETE",
                            accessToken: p ? .accessToken
                        })
                    });
                    return function(p, b) {
                        return u.apply(this, arguments)
                    }
                }();

            function wd(u, c) {
                var p = {};
                return Object.assign(p, c), !p.stateToken && u.stateToken && (p.stateToken = u.stateToken), p
            }

            function gu(u, c) {
                return c = wd(u, c), nt(u, u.getIssuerOrigin() + "/api/v1/authn", c, {
                    withCredentials: !0
                })
            }

            function Up(u) {
                return !!Ed(u)
            }

            function _u(u, c, p, b, I) {
                return nt(u, p, b, I = Object.assign({
                    withCredentials: !0
                }, I)).then(function(Q) {
                    return c.createTransaction(Q)
                })
            }

            function Ed(u) {
                return u.options.storageUtil.storage.get(Lt)
            }

            function zf(u, c, p, b, I, Q) {
                if (Array.isArray(I)) return function(Ve, ze) {
                    if (!Ve) throw new fe("Must provide a link name");
                    var lt = ge(I, {
                        name: Ve
                    });
                    if (!lt) throw new fe("No link found for that name");
                    return zf(u, c, p, b, lt, Q)(ze)
                };
                if (I.hints && I.hints.allow && 1 === I.hints.allow.length) switch (I.hints.allow[0]) {
                    case "GET":
                        return function() {
                            return Fr(u, I.href, {
                                withCredentials: !0
                            })
                        };
                    case "POST":
                        return function(Ve) {
                            Q && Q.isPolling && (Q.isPolling = !1);
                            var ze = wd(p, Ve);
                            ("MFA_ENROLL" === p.status || "FACTOR_ENROLL" === p.status) && Object.assign(ze, {
                                factorType: b.factorType,
                                provider: b.provider
                            });
                            var lt = {},
                                Ot = ze.autoPush;
                            if (void 0 !== Ot) {
                                if ("function" == typeof Ot) try {
                                    lt.autoPush = !!Ot()
                                } catch {
                                    return Promise.reject(new fe("AutoPush resulted in an error."))
                                } else null !== Ot && (lt.autoPush = !!Ot);
                                ze = me(ze, "autoPush")
                            }
                            var At = ze.rememberDevice;
                            if (void 0 !== At) {
                                if ("function" == typeof At) try {
                                    lt.rememberDevice = !!At()
                                } catch {
                                    return Promise.reject(new fe("RememberDevice resulted in an error."))
                                } else null !== At && (lt.rememberDevice = !!At);
                                ze = me(ze, "rememberDevice")
                            } else ze.profile && void 0 !== ze.profile.updatePhone && (ze.profile.updatePhone && (lt.updatePhone = !0), ze.profile = me(ze.profile, "updatePhone"));
                            var Nt = I.href + De(lt);
                            return _u(u, c, Nt, ze)
                        }
                }
            }
            class Gc extends we {
                constructor() {
                    super("The poll was stopped by the sdk")
                }
            }

            function pc(u, c, p) {
                return function(b) {
                    var I, Q, ve, Ve;
                    ! function ue(u) {
                        return "[object Number]" === Object.prototype.toString.call(u)
                    }(b) ? Je(b) && (I = b.delay, Q = b.rememberDevice, ve = b.autoPush, Ve = b.transactionCallBack): I = b, !I && 0 !== I && (I = _n);
                    var ze = _e(c, "next", "poll");
                    p.isPolling = !0;
                    var Ot = 0,
                        At = function() {
                            return p.isPolling ? function lt() {
                                var Nt = {};
                                if ("function" == typeof ve) try {
                                    Nt.autoPush = !!ve()
                                } catch {
                                    return Promise.reject(new fe("AutoPush resulted in an error."))
                                } else null != ve && (Nt.autoPush = !!ve);
                                if ("function" == typeof Q) try {
                                    Nt.rememberDevice = !!Q()
                                } catch {
                                    return Promise.reject(new fe("RememberDevice resulted in an error."))
                                } else null != Q && (Nt.rememberDevice = !!Q);
                                var fn = ze.href + De(Nt);
                                return nt(u, fn, function rf(u) {
                                    return wd(u)
                                }(c), {
                                    saveAuthnState: !1,
                                    withCredentials: !0,
                                    pollingIntent: !0
                                })
                            }().then(function(Nt) {
                                if (Ot = 0, Nt.factorResult && "WAITING" === Nt.factorResult) {
                                    if (!p.isPolling) throw new Gc;
                                    return "function" == typeof Ve && Ve(Nt), kt(I).then(At)
                                }
                                return p.isPolling = !1, u.tx.createTransaction(Nt)
                            }).catch(function(Nt) {
                                if (Nt.xhr && (0 === Nt.xhr.status || 429 === Nt.xhr.status) && Ot <= 4) {
                                    var fn = 1e3 * Math.pow(2, Ot);
                                    return Ot++, kt(fn).then(At)
                                }
                                throw Nt
                            }) : Promise.reject(new Gc)
                        };
                    return At().catch(function(Nt) {
                        throw p.isPolling = !1, Nt
                    })
                }
            }

            function sf(u, c, p, b, I) {
                if (b = je(b = b || p), Array.isArray(b)) {
                    for (var Q = [], ve = 0, Ve = b.length; ve < Ve; ve++) Q.push(sf(u, c, p, b[ve], I));
                    return Q
                }
                var ze = b._embedded || {};
                for (var lt in ze) !Object.prototype.hasOwnProperty.call(ze, lt) || (Je(ze[lt]) || Array.isArray(ze[lt])) && (ze[lt] = sf(u, c, p, ze[lt], I));
                var Ot = function Vp(u, c, p, b, I) {
                    var Q = {};
                    for (var ve in b._links)
                        if (Object.prototype.hasOwnProperty.call(b._links, ve)) {
                            var Ve = b._links[ve];
                            if ("next" === ve && (ve = Ve.name), Ve.type) {
                                Q[ve] = Ve;
                                continue
                            }
                            if ("poll" === ve) Q.poll = pc(u, p, I);
                            else {
                                var ze = zf(u, c, p, b, Ve, I);
                                ze && (Q[ve] = ze)
                            }
                        }
                    return Q
                }(u, c, p, b, I);
                return Object.assign(ze, Ot), b = me(b, "_embedded", "_links"), Object.assign(b, ze), b
            }
            class vh {
                constructor(c, p, b = null) {
                    this.data = void 0, this.status = void 0, b && (this.data = b, Object.assign(this, sf(c, p, b, b, {})), delete this.stateToken, "RECOVERY_CHALLENGE" === b.status && !b._links && (this.cancel = function() {
                        return Promise.resolve(p.createTransaction())
                    }))
                }
            }

            function yh(u) {
                const c = {
                    status: gu.bind(null, u),
                    resume: p => function _h(u, c, p) {
                        if (!p || !p.stateToken) {
                            var b = Ed(u);
                            if (!b) return Promise.reject(new fe("No transaction to resume"));
                            p = {
                                stateToken: b
                            }
                        }
                        return gu(u, p).then(function(I) {
                            return c.createTransaction(I)
                        })
                    }(u, c, p),
                    exists: Up.bind(null, u),
                    introspect: p => function $p(u, c, p) {
                        if (!p || !p.stateToken) {
                            var b = Ed(u);
                            if (!b) return Promise.reject(new fe("No transaction to evaluate"));
                            p = {
                                stateToken: b
                            }
                        }
                        return function Bp(u, c) {
                            return c = wd(u, c), nt(u, u.getIssuerOrigin() + "/api/v1/authn/introspect", c, {
                                withCredentials: !0
                            })
                        }(u, p).then(function(I) {
                            return c.createTransaction(I)
                        })
                    }(u, c, p),
                    createTransaction: p => new vh(u, c, p),
                    postToTransaction: (p, b, I) => _u(u, c, p, b, I)
                };
                return c
            }
            const Yf = function uh() {
                    const u = function Dp() {
                        const u = bl();
                        return class extends u {
                            constructor(p) {
                                super(p), this.services = p.services, this.transformAuthState = p.transformAuthState
                            }
                        }
                    }();
                    return class extends u {
                        constructor(p) {
                            super(p), this.flow = p.flow, this.activationToken = p.activationToken, this.recoveryToken = p.recoveryToken, this.idx = p.idx
                        }
                    }
                }(),
                Xf = function Kf(u) {
                    return class extends u {
                        constructor(...p) {
                            super(...p), this.authn = this.tx = yh(this), this.fingerprint = fd.bind(null, this)
                        }
                        signIn(p) {
                            var b = this;
                            return (0, P.Z)(function*() {
                                p = je(p || {});
                                const I = Q => (delete p.sendFingerprint, b.tx.postToTransaction("/api/v1/authn", p, Q));
                                return p.sendFingerprint ? b.fingerprint().then(function(Q) {
                                    return I({
                                        headers: {
                                            "X-Device-Fingerprint": Q
                                        }
                                    })
                                }) : I()
                            })()
                        }
                        signInWithCredentials(p) {
                            var b = this;
                            return (0, P.Z)(function*() {
                                return b.signIn(p)
                            })()
                        }
                        forgotPassword(p) {
                            return this.tx.postToTransaction("/api/v1/authn/recovery/password", p)
                        }
                        unlockAccount(p) {
                            return this.tx.postToTransaction("/api/v1/authn/recovery/unlock", p)
                        }
                        verifyRecoveryToken(p) {
                            const {
                                multiOptionalFactorEnroll: b
                            } = p, I = dn(p, ["multiOptionalFactorEnroll"]);
                            return b && (I.options = {
                                multiOptionalFactorEnroll: b
                            }), this.tx.postToTransaction("/api/v1/authn/recovery/token", I)
                        }
                    }
                }(function nf(u) {
                    return class extends u {
                        constructor(...p) {
                            super(...p), this.myaccount = Object.entries(V).filter(([b]) => "default" !== b).reduce((b, [I, Q]) => (b[I] = Q.bind(null, this), b), {})
                        }
                    }
                }(function jh(u, c, p) {
                    return function Hh(u) {
                        var c;
                        return (c = class extends u {
                            constructor(...b) {
                                super(...b), this.idx = function Oe(u) {
                                    ! function ga(u) {
                                        Object.assign(oo, u)
                                    }({
                                        remediators: U,
                                        getFlowSpecification: Sa
                                    });
                                    const c = ui.bind(null, u);
                                    return {
                                        interact: an.bind(null, u),
                                        introspect: li.bind(null, u),
                                        makeIdxResponse: Tt.bind(null, u),
                                        authenticate: ci.bind(null, u),
                                        register: yc.bind(null, u),
                                        start: c,
                                        startTransaction: c,
                                        poll: ko.bind(null, u),
                                        proceed: ba.bind(null, u),
                                        cancel: Ks.bind(null, u),
                                        recoverPassword: Wl.bind(null, u),
                                        handleInteractionCodeRedirect: Jt.bind(null, u),
                                        isInteractionRequired: q.bind(null, u),
                                        isInteractionRequiredError: ni,
                                        handleEmailVerifyCallback: il.bind(null, u),
                                        isEmailVerifyCallback: Ys,
                                        parseEmailVerifyCallback: Wa,
                                        isEmailVerifyCallbackError: rl,
                                        getSavedTransactionMeta: Lr.bind(null, u),
                                        createTransactionMeta: er.bind(null, u),
                                        getTransactionMeta: bi.bind(null, u),
                                        saveTransactionMeta: ye.bind(null, u),
                                        clearTransactionMeta: Ue.bind(null, u),
                                        isTransactionMetaValid: Le,
                                        setFlow: b => {
                                            u.options.flow = b
                                        },
                                        getFlow: () => u.options.flow,
                                        canProceed: sl.bind(null, u),
                                        unlockAccount: Sn.bind(null, u)
                                    }
                                }(this), this.fingerprint = fd.bind(null, this)
                            }
                        }).webauthn = x, c
                    }(Sc(u, c, p))
                }(function Tp() {
                    const u = function $f() {
                        return function Lf() {
                            return class extends class md {
                                constructor(c, p, b) {
                                    this.storageManagerOptions = c, this.cookieOptions = p, this.storageUtil = b
                                }
                                getOptionsForSection(c, p) {
                                    return Object.assign({}, this.storageManagerOptions[c], p)
                                }
                                getStorage(c) {
                                    if ((c = Object.assign({}, this.cookieOptions, c)).storageProvider) return c.storageProvider;
                                    let {
                                        storageType: p,
                                        storageTypes: b
                                    } = c;
                                    if ("sessionStorage" === p && (c.sessionCookie = !0), p && b) {
                                        const I = b.indexOf(p);
                                        I >= 0 && (b = b.slice(I), p = void 0)
                                    }
                                    return p || (p = this.storageUtil.findStorageType(b)), this.storageUtil.getStorageByType(p, c)
                                }
                                getTokenStorage(c) {
                                    Jd(c = this.getOptionsForSection("token", c));
                                    const p = this.getStorage(c);
                                    return new hd(p, c.storageKey || vn)
                                }
                                getHttpCache(c) {
                                    c = this.getOptionsForSection("cache", c);
                                    const p = this.getStorage(c);
                                    return new hd(p, c.storageKey || tn)
                                }
                            } {
                                constructor(c, p, b) {
                                    super(c, p, b)
                                }
                                getTransactionStorage(c) {
                                    Jd(c = this.getOptionsForSection("transaction", c));
                                    const p = this.getStorage(c);
                                    return new hd(p, c.storageKey || pn)
                                }
                                getSharedTansactionStorage(c) {
                                    Jd(c = this.getOptionsForSection("shared-transaction", c));
                                    const p = this.getStorage(c);
                                    return new hd(p, c.storageKey || Rn)
                                }
                                getOriginalUriStorage(c) {
                                    Jd(c = this.getOptionsForSection("original-uri", c));
                                    const p = this.getStorage(c);
                                    return new hd(p, c.storageKey || Qn)
                                }
                            }
                        }()
                    }();
                    return class extends u {
                        constructor(p, b, I) {
                            super(p, b, I)
                        }
                        getIdxResponseStorage(p) {
                            let b;
                            if (In()) try {
                                b = this.storageUtil.getStorageByType("memory", p)
                            } catch {
                                le("No response storage found, you may want to provide custom implementation for intermediate idx responses to optimize the network traffic")
                            } else {
                                const I = this.getTransactionStorage(p);
                                I && (b = {
                                    getItem: Q => {
                                        const ve = I.getStorage();
                                        return ve && ve[Q] ? ve[Q] : null
                                    },
                                    setItem: (Q, ve) => {
                                        const Ve = I.getStorage();
                                        if (!Ve) throw new fe("Transaction has been cleared, failed to save idxState");
                                        Ve[Q] = ve, I.setStorage(Ve)
                                    },
                                    removeItem: Q => {
                                        const ve = I.getStorage();
                                        !ve || (delete ve[Q], I.setStorage(ve))
                                    }
                                })
                            }
                            return b ? new hd(b, _r) : null
                        }
                    }
                }(), Yf, function Gf() {
                    const u = function fh() {
                        return class {
                            constructor(c) {
                                this.storageManager = c.storageManager, this.enableSharedStorage = !1 !== c.enableSharedStorage, this.saveLastResponse = !1 !== c.saveLastResponse, this.options = c
                            }
                            clear(c = {}) {
                                const p = this.storageManager.getTransactionStorage(),
                                    b = p.getStorage();
                                if (p.clearStorage(), this.enableSharedStorage && !1 !== c.clearSharedStorage) {
                                    const I = c.state || b ? .state;
                                    I && function hu(u, c) {
                                        const p = u.getSharedTansactionStorage(),
                                            b = p.getStorage();
                                        delete b[c], p.setStorage(b)
                                    }(this.storageManager, I)
                                }
                            }
                            save(c, p = {}) {
                                let b = this.storageManager.getTransactionStorage();
                                Vf(b.getStorage()) && !p.muteWarning && le("a saved auth transaction exists in storage. This may indicate another auth flow is already in progress."), b.setStorage(c), this.enableSharedStorage && c.state && function jf(u, c, p) {
                                    const b = u.getSharedTansactionStorage(),
                                        I = b.getStorage();
                                    I[c] = {
                                        dateCreated: Date.now(),
                                        transaction: p
                                    }, b.setStorage(I)
                                }(this.storageManager, c.state, c)
                            }
                            exists(c = {}) {
                                try {
                                    return !!this.load(c)
                                } catch {
                                    return !1
                                }
                            }
                            load(c = {}) {
                                let p;
                                return this.enableSharedStorage && c.state && (function Hf(u) {
                                    const c = u.getSharedTansactionStorage(),
                                        p = c.getStorage();
                                    Object.keys(p).forEach(b => {
                                        const I = p[b];
                                        Date.now() - I.dateCreated > 18e5 && delete p[b]
                                    }), c.setStorage(p)
                                }(this.storageManager), p = function Mp(u, c) {
                                    const I = u.getSharedTansactionStorage().getStorage()[c];
                                    return I && I.transaction && Vf(I.transaction) ? I.transaction : null
                                }(this.storageManager, c.state), Vf(p)) || (p = this.storageManager.getTransactionStorage().getStorage(), Vf(p)) ? p : null
                            }
                        }
                    }();
                    return class extends u {
                        constructor(p) {
                            super(p)
                        }
                        clear(p = {}) {
                            super.clear(p), !1 !== p.clearIdxResponse && this.clearIdxResponse()
                        }
                        saveIdxResponse(p) {
                            if (!this.saveLastResponse) return;
                            const b = this.storageManager.getIdxResponseStorage();
                            !b || b.setStorage(p)
                        }
                        loadIdxResponse(p) {
                            if (!this.saveLastResponse) return null;
                            const b = this.storageManager.getIdxResponseStorage();
                            if (!b) return null;
                            const I = b.getStorage();
                            if (!I || !$t(I.rawIdxResponse)) return null;
                            if (p) {
                                const {
                                    stateHandle: Q,
                                    interactionHandle: ve
                                } = p;
                                if (!p.useGenericRemediator && Q && I.stateHandle !== Q || ve && I.interactionHandle !== ve) return null
                            }
                            return I
                        }
                        clearIdxResponse() {
                            this.saveLastResponse && this.storageManager.getIdxResponseStorage() ? .clearStorage()
                        }
                    }
                }())));
            class ep extends Xf {
                constructor(c) {
                    super(c)
                }
            }
        },
        9322: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Z: () => r
            });
            var t = {}.constructor;

            function r(U) {
                return null != U && U.constructor === t
            }
        },
        7792: (Re, he, _) => {
            "use strict";

            function t(ue, Me) {
                ue = ue.split("-"), Me = Me.split("-");
                for (var Ke = ue[0].split("."), Be = Me[0].split("."), He = 0; He < 3; He++) {
                    var xt = Number(Ke[He]),
                        kt = Number(Be[He]);
                    if (xt > kt) return 1;
                    if (kt > xt) return -1;
                    if (!isNaN(xt) && isNaN(kt)) return 1;
                    if (isNaN(xt) && !isNaN(kt)) return -1
                }
                return ue[1] && Me[1] ? ue[1] > Me[1] ? 1 : ue[1] < Me[1] ? -1 : 0 : !ue[1] && Me[1] ? 1 : ue[1] && !Me[1] ? -1 : 0
            }
            _.d(he, {
                ZP: () => oe,
                Gg: () => we,
                zW: () => me
            });
            var r = _(9322);

            function C(ue) {
                return (C = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(Me) {
                    return typeof Me
                } : function(Me) {
                    return Me && "function" == typeof Symbol && Me.constructor === Symbol && Me !== Symbol.prototype ? "symbol" : typeof Me
                })(ue)
            }

            function x(ue, Me) {
                if (!(ue instanceof Me)) throw new TypeError("Cannot call a class as a function")
            }

            function V(ue, Me) {
                for (var Ke = 0; Ke < Me.length; Ke++) {
                    var Be = Me[Ke];
                    Be.enumerable = Be.enumerable || !1, Be.configurable = !0, "value" in Be && (Be.writable = !0), Object.defineProperty(ue, $(Be.key), Be)
                }
            }

            function P(ue, Me, Ke) {
                return Me && V(ue.prototype, Me), Ke && V(ue, Ke), Object.defineProperty(ue, "prototype", {
                    writable: !1
                }), ue
            }

            function $(ue) {
                var Me = function K(ue, Me) {
                    if ("object" != C(ue) || !ue) return ue;
                    var Ke = ue[Symbol.toPrimitive];
                    if (void 0 !== Ke) {
                        var Be = Ke.call(ue, Me || "default");
                        if ("object" != C(Be)) return Be;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === Me ? String : Number)(ue)
                }(ue, "string");
                return "symbol" == C(Me) ? Me : Me + ""
            }
            var B = " ext. ",
                le = /^\d+$/,
                oe = function() {
                    return P(function ue(Me) {
                        x(this, ue), me(Me), this.metadata = Me, Je.call(this, Me)
                    }, [{
                        key: "getCountries",
                        value: function() {
                            return Object.keys(this.metadata.countries).filter(function(Ke) {
                                return "001" !== Ke
                            })
                        }
                    }, {
                        key: "getCountryMetadata",
                        value: function(Ke) {
                            return this.metadata.countries[Ke]
                        }
                    }, {
                        key: "nonGeographic",
                        value: function() {
                            if (!(this.v1 || this.v2 || this.v3)) return this.metadata.nonGeographic || this.metadata.nonGeographical
                        }
                    }, {
                        key: "hasCountry",
                        value: function(Ke) {
                            return void 0 !== this.getCountryMetadata(Ke)
                        }
                    }, {
                        key: "hasCallingCode",
                        value: function(Ke) {
                            if (this.getCountryCodesForCallingCode(Ke)) return !0;
                            if (this.nonGeographic()) {
                                if (this.nonGeographic()[Ke]) return !0
                            } else {
                                var Be = this.countryCallingCodes()[Ke];
                                if (Be && 1 === Be.length && "001" === Be[0]) return !0
                            }
                        }
                    }, {
                        key: "isNonGeographicCallingCode",
                        value: function(Ke) {
                            return this.nonGeographic() ? !!this.nonGeographic()[Ke] : !this.getCountryCodesForCallingCode(Ke)
                        }
                    }, {
                        key: "country",
                        value: function(Ke) {
                            return this.selectNumberingPlan(Ke)
                        }
                    }, {
                        key: "selectNumberingPlan",
                        value: function(Ke, Be) {
                            if (Ke && le.test(Ke) && (Be = Ke, Ke = null), Ke && "001" !== Ke) {
                                if (!this.hasCountry(Ke)) throw new Error("Unknown country: ".concat(Ke));
                                this.numberingPlan = new Te(this.getCountryMetadata(Ke), this)
                            } else if (Be) {
                                if (!this.hasCallingCode(Be)) throw new Error("Unknown calling code: ".concat(Be));
                                this.numberingPlan = new Te(this.getNumberingPlanMetadata(Be), this)
                            } else this.numberingPlan = void 0;
                            return this
                        }
                    }, {
                        key: "getCountryCodesForCallingCode",
                        value: function(Ke) {
                            var Be = this.countryCallingCodes()[Ke];
                            if (Be) return 1 === Be.length && 3 === Be[0].length ? void 0 : Be
                        }
                    }, {
                        key: "getCountryCodeForCallingCode",
                        value: function(Ke) {
                            var Be = this.getCountryCodesForCallingCode(Ke);
                            if (Be) return Be[0]
                        }
                    }, {
                        key: "getNumberingPlanMetadata",
                        value: function(Ke) {
                            var Be = this.getCountryCodeForCallingCode(Ke);
                            if (Be) return this.getCountryMetadata(Be);
                            if (this.nonGeographic()) {
                                var He = this.nonGeographic()[Ke];
                                if (He) return He
                            } else {
                                var xt = this.countryCallingCodes()[Ke];
                                if (xt && 1 === xt.length && "001" === xt[0]) return this.metadata.countries["001"]
                            }
                        }
                    }, {
                        key: "countryCallingCode",
                        value: function() {
                            return this.numberingPlan.callingCode()
                        }
                    }, {
                        key: "IDDPrefix",
                        value: function() {
                            return this.numberingPlan.IDDPrefix()
                        }
                    }, {
                        key: "defaultIDDPrefix",
                        value: function() {
                            return this.numberingPlan.defaultIDDPrefix()
                        }
                    }, {
                        key: "nationalNumberPattern",
                        value: function() {
                            return this.numberingPlan.nationalNumberPattern()
                        }
                    }, {
                        key: "possibleLengths",
                        value: function() {
                            return this.numberingPlan.possibleLengths()
                        }
                    }, {
                        key: "formats",
                        value: function() {
                            return this.numberingPlan.formats()
                        }
                    }, {
                        key: "nationalPrefixForParsing",
                        value: function() {
                            return this.numberingPlan.nationalPrefixForParsing()
                        }
                    }, {
                        key: "nationalPrefixTransformRule",
                        value: function() {
                            return this.numberingPlan.nationalPrefixTransformRule()
                        }
                    }, {
                        key: "leadingDigits",
                        value: function() {
                            return this.numberingPlan.leadingDigits()
                        }
                    }, {
                        key: "hasTypes",
                        value: function() {
                            return this.numberingPlan.hasTypes()
                        }
                    }, {
                        key: "type",
                        value: function(Ke) {
                            return this.numberingPlan.type(Ke)
                        }
                    }, {
                        key: "ext",
                        value: function() {
                            return this.numberingPlan.ext()
                        }
                    }, {
                        key: "countryCallingCodes",
                        value: function() {
                            return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes
                        }
                    }, {
                        key: "chooseCountryByCountryCallingCode",
                        value: function(Ke) {
                            return this.selectNumberingPlan(Ke)
                        }
                    }, {
                        key: "hasSelectedNumberingPlan",
                        value: function() {
                            return void 0 !== this.numberingPlan
                        }
                    }])
                }(),
                Te = function() {
                    return P(function ue(Me, Ke) {
                        x(this, ue), this.globalMetadataObject = Ke, this.metadata = Me, Je.call(this, Ke.metadata)
                    }, [{
                        key: "callingCode",
                        value: function() {
                            return this.metadata[0]
                        }
                    }, {
                        key: "getDefaultCountryMetadataForRegion",
                        value: function() {
                            return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())
                        }
                    }, {
                        key: "IDDPrefix",
                        value: function() {
                            if (!this.v1 && !this.v2) return this.metadata[1]
                        }
                    }, {
                        key: "defaultIDDPrefix",
                        value: function() {
                            if (!this.v1 && !this.v2) return this.metadata[12]
                        }
                    }, {
                        key: "nationalNumberPattern",
                        value: function() {
                            return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2]
                        }
                    }, {
                        key: "possibleLengths",
                        value: function() {
                            if (!this.v1) return this.metadata[this.v2 ? 2 : 3]
                        }
                    }, {
                        key: "_getFormats",
                        value: function(Ke) {
                            return Ke[this.v1 ? 2 : this.v2 ? 3 : 4]
                        }
                    }, {
                        key: "formats",
                        value: function() {
                            var Ke = this;
                            return (this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || []).map(function(He) {
                                return new Ae(He, Ke)
                            })
                        }
                    }, {
                        key: "nationalPrefix",
                        value: function() {
                            return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5]
                        }
                    }, {
                        key: "_getNationalPrefixFormattingRule",
                        value: function(Ke) {
                            return Ke[this.v1 ? 4 : this.v2 ? 5 : 6]
                        }
                    }, {
                        key: "nationalPrefixFormattingRule",
                        value: function() {
                            return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())
                        }
                    }, {
                        key: "_nationalPrefixForParsing",
                        value: function() {
                            return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7]
                        }
                    }, {
                        key: "nationalPrefixForParsing",
                        value: function() {
                            return this._nationalPrefixForParsing() || this.nationalPrefix()
                        }
                    }, {
                        key: "nationalPrefixTransformRule",
                        value: function() {
                            return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8]
                        }
                    }, {
                        key: "_getNationalPrefixIsOptionalWhenFormatting",
                        value: function() {
                            return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9]
                        }
                    }, {
                        key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
                        value: function() {
                            return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())
                        }
                    }, {
                        key: "leadingDigits",
                        value: function() {
                            return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10]
                        }
                    }, {
                        key: "types",
                        value: function() {
                            return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11]
                        }
                    }, {
                        key: "hasTypes",
                        value: function() {
                            return !(this.types() && 0 === this.types().length || !this.types())
                        }
                    }, {
                        key: "type",
                        value: function(Ke) {
                            if (this.hasTypes() && je(this.types(), Ke)) return new be(je(this.types(), Ke), this)
                        }
                    }, {
                        key: "ext",
                        value: function() {
                            return this.v1 || this.v2 ? B : this.metadata[13] || B
                        }
                    }])
                }(),
                Ae = function() {
                    return P(function ue(Me, Ke) {
                        x(this, ue), this._format = Me, this.metadata = Ke
                    }, [{
                        key: "pattern",
                        value: function() {
                            return this._format[0]
                        }
                    }, {
                        key: "format",
                        value: function() {
                            return this._format[1]
                        }
                    }, {
                        key: "leadingDigitsPatterns",
                        value: function() {
                            return this._format[2] || []
                        }
                    }, {
                        key: "nationalPrefixFormattingRule",
                        value: function() {
                            return this._format[3] || this.metadata.nationalPrefixFormattingRule()
                        }
                    }, {
                        key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
                        value: function() {
                            return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()
                        }
                    }, {
                        key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
                        value: function() {
                            return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()
                        }
                    }, {
                        key: "usesNationalPrefix",
                        value: function() {
                            return !(!this.nationalPrefixFormattingRule() || ce.test(this.nationalPrefixFormattingRule()))
                        }
                    }, {
                        key: "internationalFormat",
                        value: function() {
                            return this._format[5] || this.format()
                        }
                    }])
                }(),
                ce = /^\(?\$1\)?$/,
                be = function() {
                    return P(function ue(Me, Ke) {
                        x(this, ue), this.type = Me, this.metadata = Ke
                    }, [{
                        key: "pattern",
                        value: function() {
                            return this.metadata.v1 ? this.type : this.type[0]
                        }
                    }, {
                        key: "possibleLengths",
                        value: function() {
                            if (!this.metadata.v1) return this.type[1] || this.metadata.possibleLengths()
                        }
                    }])
                }();

            function je(ue, Me) {
                switch (Me) {
                    case "FIXED_LINE":
                        return ue[0];
                    case "MOBILE":
                        return ue[1];
                    case "TOLL_FREE":
                        return ue[2];
                    case "PREMIUM_RATE":
                        return ue[3];
                    case "PERSONAL_NUMBER":
                        return ue[4];
                    case "VOICEMAIL":
                        return ue[5];
                    case "UAN":
                        return ue[6];
                    case "PAGER":
                        return ue[7];
                    case "VOIP":
                        return ue[8];
                    case "SHARED_COST":
                        return ue[9]
                }
            }

            function me(ue) {
                if (!ue) throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
                if (!(0, r.Z)(ue) || !(0, r.Z)(ue.countries)) throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat((0, r.Z)(ue) ? "an object of shape: { " + Object.keys(ue).join(", ") + " }" : "a " + ge(ue) + ": " + ue, "."))
            }
            var ge = function(Me) {
                return C(Me)
            };

            function we(ue, Me) {
                if ((Me = new oe(Me)).hasCountry(ue)) return Me.selectNumberingPlan(ue).countryCallingCode();
                throw new Error("Unknown country: ".concat(ue))
            }

            function Je(ue) {
                var Me = ue.version;
                "number" == typeof Me ? (this.v1 = 1 === Me, this.v2 = 2 === Me, this.v3 = 3 === Me, this.v4 = 4 === Me) : Me ? -1 === t(Me, "1.2.0") ? this.v2 = !0 : -1 === t(Me, "1.7.35") ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0
            }
        },
        6681: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Z: () => t
            });
            const t = {
                version: 4,
                country_calling_codes: {
                    1: ["US", "AG", "AI", "AS", "BB", "BM", "BS", "CA", "DM", "DO", "GD", "GU", "JM", "KN", "KY", "LC", "MP", "MS", "PR", "SX", "TC", "TT", "VC", "VG", "VI"],
                    7: ["RU", "KZ"],
                    20: ["EG"],
                    27: ["ZA"],
                    30: ["GR"],
                    31: ["NL"],
                    32: ["BE"],
                    33: ["FR"],
                    34: ["ES"],
                    36: ["HU"],
                    39: ["IT", "VA"],
                    40: ["RO"],
                    41: ["CH"],
                    43: ["AT"],
                    44: ["GB", "GG", "IM", "JE"],
                    45: ["DK"],
                    46: ["SE"],
                    47: ["NO", "SJ"],
                    48: ["PL"],
                    49: ["DE"],
                    51: ["PE"],
                    52: ["MX"],
                    53: ["CU"],
                    54: ["AR"],
                    55: ["BR"],
                    56: ["CL"],
                    57: ["CO"],
                    58: ["VE"],
                    60: ["MY"],
                    61: ["AU", "CC", "CX"],
                    62: ["ID"],
                    63: ["PH"],
                    64: ["NZ"],
                    65: ["SG"],
                    66: ["TH"],
                    81: ["JP"],
                    82: ["KR"],
                    84: ["VN"],
                    86: ["CN"],
                    90: ["TR"],
                    91: ["IN"],
                    92: ["PK"],
                    93: ["AF"],
                    94: ["LK"],
                    95: ["MM"],
                    98: ["IR"],
                    211: ["SS"],
                    212: ["MA", "EH"],
                    213: ["DZ"],
                    216: ["TN"],
                    218: ["LY"],
                    220: ["GM"],
                    221: ["SN"],
                    222: ["MR"],
                    223: ["ML"],
                    224: ["GN"],
                    225: ["CI"],
                    226: ["BF"],
                    227: ["NE"],
                    228: ["TG"],
                    229: ["BJ"],
                    230: ["MU"],
                    231: ["LR"],
                    232: ["SL"],
                    233: ["GH"],
                    234: ["NG"],
                    235: ["TD"],
                    236: ["CF"],
                    237: ["CM"],
                    238: ["CV"],
                    239: ["ST"],
                    240: ["GQ"],
                    241: ["GA"],
                    242: ["CG"],
                    243: ["CD"],
                    244: ["AO"],
                    245: ["GW"],
                    246: ["IO"],
                    247: ["AC"],
                    248: ["SC"],
                    249: ["SD"],
                    250: ["RW"],
                    251: ["ET"],
                    252: ["SO"],
                    253: ["DJ"],
                    254: ["KE"],
                    255: ["TZ"],
                    256: ["UG"],
                    257: ["BI"],
                    258: ["MZ"],
                    260: ["ZM"],
                    261: ["MG"],
                    262: ["RE", "YT"],
                    263: ["ZW"],
                    264: ["NA"],
                    265: ["MW"],
                    266: ["LS"],
                    267: ["BW"],
                    268: ["SZ"],
                    269: ["KM"],
                    290: ["SH", "TA"],
                    291: ["ER"],
                    297: ["AW"],
                    298: ["FO"],
                    299: ["GL"],
                    350: ["GI"],
                    351: ["PT"],
                    352: ["LU"],
                    353: ["IE"],
                    354: ["IS"],
                    355: ["AL"],
                    356: ["MT"],
                    357: ["CY"],
                    358: ["FI", "AX"],
                    359: ["BG"],
                    370: ["LT"],
                    371: ["LV"],
                    372: ["EE"],
                    373: ["MD"],
                    374: ["AM"],
                    375: ["BY"],
                    376: ["AD"],
                    377: ["MC"],
                    378: ["SM"],
                    380: ["UA"],
                    381: ["RS"],
                    382: ["ME"],
                    383: ["XK"],
                    385: ["HR"],
                    386: ["SI"],
                    387: ["BA"],
                    389: ["MK"],
                    420: ["CZ"],
                    421: ["SK"],
                    423: ["LI"],
                    500: ["FK"],
                    501: ["BZ"],
                    502: ["GT"],
                    503: ["SV"],
                    504: ["HN"],
                    505: ["NI"],
                    506: ["CR"],
                    507: ["PA"],
                    508: ["PM"],
                    509: ["HT"],
                    590: ["GP", "BL", "MF"],
                    591: ["BO"],
                    592: ["GY"],
                    593: ["EC"],
                    594: ["GF"],
                    595: ["PY"],
                    596: ["MQ"],
                    597: ["SR"],
                    598: ["UY"],
                    599: ["CW", "BQ"],
                    670: ["TL"],
                    672: ["NF"],
                    673: ["BN"],
                    674: ["NR"],
                    675: ["PG"],
                    676: ["TO"],
                    677: ["SB"],
                    678: ["VU"],
                    679: ["FJ"],
                    680: ["PW"],
                    681: ["WF"],
                    682: ["CK"],
                    683: ["NU"],
                    685: ["WS"],
                    686: ["KI"],
                    687: ["NC"],
                    688: ["TV"],
                    689: ["PF"],
                    690: ["TK"],
                    691: ["FM"],
                    692: ["MH"],
                    850: ["KP"],
                    852: ["HK"],
                    853: ["MO"],
                    855: ["KH"],
                    856: ["LA"],
                    880: ["BD"],
                    886: ["TW"],
                    960: ["MV"],
                    961: ["LB"],
                    962: ["JO"],
                    963: ["SY"],
                    964: ["IQ"],
                    965: ["KW"],
                    966: ["SA"],
                    967: ["YE"],
                    968: ["OM"],
                    970: ["PS"],
                    971: ["AE"],
                    972: ["IL"],
                    973: ["BH"],
                    974: ["QA"],
                    975: ["BT"],
                    976: ["MN"],
                    977: ["NP"],
                    992: ["TJ"],
                    993: ["TM"],
                    994: ["AZ"],
                    995: ["GE"],
                    996: ["KG"],
                    998: ["UZ"]
                },
                countries: {
                    AC: ["247", "00", "(?:[01589]\\d|[46])\\d{4}", [5, 6]],
                    AD: ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9],
                        [
                            ["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["1"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]
                        ]
                    ],
                    AE: ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12],
                        [
                            ["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]],
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"],
                            ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]
                        ], "0"
                    ],
                    AF: ["93", "00", "[2-7]\\d{8}", [9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]
                        ], "0"
                    ],
                    AG: ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"],
                    AI: ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"],
                    AL: ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9],
                        [
                            ["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"],
                            ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]
                        ], "0"
                    ],
                    AM: ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8],
                        [
                            ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"],
                            ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"],
                            ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"],
                            ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]
                        ], "0"
                    ],
                    AO: ["244", "00", "[29]\\d{8}", [9],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]
                        ]
                    ],
                    AR: ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11],
                        [
                            ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1],
                            ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"],
                            ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"],
                            ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]
                        ], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"
                    ],
                    AS: ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"],
                    AT: ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
                        [
                            ["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"],
                            ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"],
                            ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"],
                            ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"],
                            ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]
                        ], "0"
                    ],
                    AU: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12],
                        [
                            ["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"],
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]
                        ], "0", 0, "(183[12])|0", 0, 0, 0, [
                            ["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]],
                            ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]],
                            ["180(?:0\\d{3}|2)\\d{3}", [7, 10]],
                            ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]],
                            ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]],
                            ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]
                        ], "0011"
                    ],
                    AW: ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]
                        ]
                    ],
                    AX: ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"],
                    AZ: ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]
                        ], "0"
                    ],
                    BA: ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]
                        ], "0"
                    ],
                    BB: ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"],
                    BD: ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10],
                        [
                            ["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"],
                            ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"],
                            ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"],
                            ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]
                        ], "0"
                    ],
                    BE: ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]
                        ], "0"
                    ],
                    BF: ["226", "00", "(?:[025-7]\\d|44)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]
                        ]
                    ],
                    BG: ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12],
                        [
                            ["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"],
                            ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]
                        ], "0"
                    ],
                    BH: ["973", "00", "[136-9]\\d{7}", [8],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]
                        ]
                    ],
                    BI: ["257", "00", "(?:[267]\\d|31)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]
                        ]
                    ],
                    BJ: ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]
                        ]
                    ],
                    BL: ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [
                        ["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"],
                        ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],
                        ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]
                    ]],
                    BM: ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"],
                    BN: ["673", "00", "[2-578]\\d{6}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]
                        ]
                    ],
                    BO: ["591", "00(?:1\\d)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9],
                        [
                            ["(\\d)(\\d{7})", "$1 $2", ["[235]|4[46]"]],
                            ["(\\d{8})", "$1", ["[67]"]],
                            ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]
                        ], "0", 0, "0(1\\d)?"
                    ],
                    BQ: ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"],
                    BR: ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", [8, 9, 10, 11],
                        [
                            ["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]],
                            ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"],
                            ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]
                        ], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"
                    ],
                    BS: ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"],
                    BT: ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8],
                        [
                            ["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]
                        ]
                    ],
                    BW: ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10],
                        [
                            ["(\\d{2})(\\d{5})", "$1 $2", ["90"]],
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]],
                            ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]
                        ]
                    ],
                    BY: ["375", "810", "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", [6, 7, 8, 9, 10, 11],
                        [
                            ["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"],
                            ["(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"],
                            ["(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"],
                            ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]
                        ], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"
                    ],
                    BZ: ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11],
                        [
                            ["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]],
                            ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]
                        ]
                    ],
                    CA: ["1", "011", "[2-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [
                        ["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]],
                        ["", [10]],
                        ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]],
                        ["900[2-9]\\d{6}", [10]],
                        ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|33|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]
                    ]],
                    CC: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [
                        ["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]],
                        ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]],
                        ["180(?:0\\d{3}|2)\\d{3}", [7, 10]],
                        ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]],
                        ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]
                    ], "0011"],
                    CD: ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10],
                        [
                            ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"],
                            ["(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]
                        ], "0"
                    ],
                    CF: ["236", "00", "(?:[27]\\d{3}|8776)\\d{4}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[278]"]]
                        ]
                    ],
                    CG: ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9],
                        [
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]
                        ]
                    ],
                    CH: ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]
                        ], "0"
                    ],
                    CI: ["225", "00", "[02]\\d{9}", [10],
                        [
                            ["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]
                        ]
                    ],
                    CK: ["682", "00", "[2-578]\\d{4}", [5],
                        [
                            ["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]
                        ]
                    ],
                    CL: ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11],
                        [
                            ["(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]],
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"],
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"], "($1)"],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
                            ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]
                        ]
                    ],
                    CM: ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]],
                            ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]
                        ]
                    ],
                    CN: ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12],
                        [
                            ["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"],
                            ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1],
                            ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1],
                            ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1],
                            ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]],
                            ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]
                        ], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"
                    ],
                    CO: ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["46"]],
                            ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"],
                            ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]],
                            ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]
                        ], "0", 0, "0([3579]|4(?:[14]4|56))?"
                    ],
                    CR: ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]
                        ], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"
                    ],
                    CU: ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10],
                        [
                            ["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"],
                            ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"],
                            ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"],
                            ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]
                        ], "0"
                    ],
                    CV: ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]
                        ]
                    ],
                    CW: ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]],
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]
                        ], 0, 0, 0, 0, 0, "[69]"
                    ],
                    CX: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [
                        ["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]],
                        ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]],
                        ["180(?:0\\d{3}|2)\\d{3}", [7, 10]],
                        ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]],
                        ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]
                    ], "0011"],
                    CY: ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]
                        ]
                    ],
                    CZ: ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]],
                            ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]],
                            ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]],
                            ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]
                        ]
                    ],
                    DE: ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                        [
                            ["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"],
                            ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"],
                            ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"],
                            ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"],
                            ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"],
                            ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"],
                            ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"],
                            ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"],
                            ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"],
                            ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"],
                            ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
                            ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"],
                            ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"],
                            ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"],
                            ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"],
                            ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]
                        ], "0"
                    ],
                    DJ: ["253", "00", "(?:2\\d|77)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]
                        ]
                    ],
                    DK: ["45", "00", "[2-9]\\d{7}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]
                        ]
                    ],
                    DM: ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"],
                    DO: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"],
                    DZ: ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]
                        ], "0"
                    ],
                    EC: ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]
                        ], "0"
                    ],
                    EE: ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]],
                            ["(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]],
                            ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]
                        ]
                    ],
                    EG: ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10],
                        [
                            ["(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"],
                            ["(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"],
                            ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]
                        ], "0"
                    ],
                    EH: ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, "528[89]"],
                    ER: ["291", "00", "[178]\\d{6}", [7],
                        [
                            ["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]
                        ], "0"
                    ],
                    ES: ["34", "00", "[5-9]\\d{8}", [9],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]
                        ]
                    ],
                    ET: ["251", "00", "(?:11|[2-579]\\d)\\d{7}", [9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "0$1"]
                        ], "0"
                    ],
                    FI: ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", [5, 6, 7, 8, 9, 10, 11, 12],
                        [
                            ["(\\d{5})", "$1", ["20[2-59]"], "0$1"],
                            ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"],
                            ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"],
                            ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"],
                            ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]
                        ], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"
                    ],
                    FJ: ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    FK: ["500", "00", "[2-7]\\d{4}", [5]],
                    FM: ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]
                        ]
                    ],
                    FO: ["298", "00", "[2-9]\\d{5}", [6],
                        [
                            ["(\\d{6})", "$1", ["[2-9]"]]
                        ], 0, 0, "(10(?:01|[12]0|88))"
                    ],
                    FR: ["33", "00", "[1-9]\\d{8}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"],
                            ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]
                        ], "0"
                    ],
                    GA: ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8],
                        [
                            ["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]
                        ], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"
                    ],
                    GB: ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"],
                            ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"],
                            ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"],
                            ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"],
                            ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]
                        ], "0", 0, "0|180020", 0, 0, 0, [
                            ["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]],
                            ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]],
                            ["80[08]\\d{7}|800\\d{6}|8001111"],
                            ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]],
                            ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]],
                            ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]],
                            ["56\\d{8}", [10]]
                        ], 0, " x"
                    ],
                    GD: ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"],
                    GE: ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]
                        ], "0"
                    ],
                    GF: ["594", "00", "(?:[56]94\\d|7093)\\d{5}|(?:80|9\\d)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|9[47]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]
                        ], "0"
                    ],
                    GG: ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [
                        ["1481[25-9]\\d{5}", [10]],
                        ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]],
                        ["80[08]\\d{7}|800\\d{6}|8001111"],
                        ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]],
                        ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]],
                        ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]],
                        ["56\\d{8}", [10]]
                    ]],
                    GH: ["233", "00", "(?:[235]\\d{3}|800)\\d{5}", [8, 9],
                        [
                            ["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"]
                        ], "0"
                    ],
                    GI: ["350", "00", "(?:[25]\\d|60)\\d{6}", [8],
                        [
                            ["(\\d{3})(\\d{5})", "$1 $2", ["2"]]
                        ]
                    ],
                    GL: ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]
                        ]
                    ],
                    GM: ["220", "00", "[2-9]\\d{6}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]
                        ]
                    ],
                    GN: ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]
                        ]
                    ],
                    GP: ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]
                        ], "0", 0, 0, 0, 0, 0, [
                            ["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"],
                            ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],
                            ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]
                        ]
                    ],
                    GQ: ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]],
                            ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]
                        ]
                    ],
                    GR: ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12],
                        [
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]],
                            ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]],
                            ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]
                        ]
                    ],
                    GT: ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]
                        ]
                    ],
                    GU: ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"],
                    GW: ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["40"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]
                        ]
                    ],
                    GY: ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]
                        ]
                    ],
                    HK: ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11],
                        [
                            ["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]],
                            ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    HN: ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11],
                        [
                            ["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]
                        ]
                    ],
                    HR: ["385", "00", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"],
                            ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]
                        ], "0"
                    ],
                    HT: ["509", "00", "[2-589]\\d{7}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]
                        ]
                    ],
                    HU: ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]
                        ], "06"
                    ],
                    ID: ["62", "00[89]", "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
                        [
                            ["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]],
                            ["(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"],
                            ["(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"],
                            ["(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"],
                            ["(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"],
                            ["(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"],
                            ["(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"],
                            ["(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]
                        ], "0"
                    ],
                    IE: ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10],
                        [
                            ["(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"],
                            ["(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"],
                            ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"],
                            ["(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]
                        ], "0"
                    ],
                    IL: ["972", "0(?:0|1[2-9])", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12],
                        [
                            ["(\\d{4})(\\d{3})", "$1-$2", ["125"]],
                            ["(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]],
                            ["(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]],
                            ["(\\d{4})(\\d{6})", "$1-$2", ["159"]],
                            ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]],
                            ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]
                        ], "0"
                    ],
                    IM: ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0|180020", "1624$1", 0, "74576|(?:16|7[56])24"],
                    IN: ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13],
                        [
                            ["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1],
                            ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1],
                            ["(\\d{5})(\\d{5})", "$1 $2", ["16|[6-9]"], "0$1", 1],
                            ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[06]0"], 0, 1],
                            ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]
                        ], "0"
                    ],
                    IO: ["246", "00", "3\\d{6}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["3"]]
                        ]
                    ],
                    IQ: ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]
                        ], "0"
                    ],
                    IR: ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10],
                        [
                            ["(\\d{4,5})", "$1", ["96"], "0$1"],
                            ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]
                        ], "0"
                    ],
                    IS: ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    IT: ["39", "00", "0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12],
                        [
                            ["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]],
                            ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],
                            ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["894"]],
                            ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]],
                            ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]],
                            ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]],
                            ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]
                        ], 0, 0, 0, 0, 0, 0, [
                            ["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],
                            ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]],
                            ["80(?:0\\d{3}|3)\\d{3}", [6, 9]],
                            ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]],
                            ["1(?:78\\d|99)\\d{6}", [9, 10]],
                            ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]],
                            ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]
                        ]
                    ],
                    JE: ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [
                        ["1534[0-24-8]\\d{5}"],
                        ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"],
                        ["80(?:07(?:35|81)|8901)\\d{4}"],
                        ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],
                        ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],
                        ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"],
                        ["56\\d{8}"]
                    ]],
                    JM: ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"],
                    JO: ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", [8, 9],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"],
                            ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"],
                            ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"],
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[47]"], "0$1"]
                        ], "0"
                    ],
                    JP: ["81", "010", "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"],
                            ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"],
                            ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]
                        ], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"
                    ],
                    KE: ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10],
                        [
                            ["(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"],
                            ["(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]
                        ], "0"
                    ],
                    KG: ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10],
                        [
                            ["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]
                        ], "0"
                    ],
                    KH: ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]
                        ], "0"
                    ],
                    KI: ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"],
                    KM: ["269", "00", "[3478]\\d{6}", [7],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]
                        ]
                    ],
                    KN: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"],
                    KP: ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]
                        ], "0"
                    ],
                    KR: ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", [5, 6, 8, 9, 10, 11, 12, 13, 14],
                        [
                            ["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"],
                            ["(\\d{4})(\\d{4})", "$1-$2", ["1"]],
                            ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"],
                            ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"],
                            ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]
                        ], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"
                    ],
                    KW: ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8],
                        [
                            ["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]],
                            ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]
                        ]
                    ],
                    KY: ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"],
                    KZ: ["7", "810", "(?:33622|8\\d{8})\\d{5}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "33622|7", 0, "8~10"],
                    LA: ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["3"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]
                        ], "0"
                    ],
                    LB: ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8],
                        [
                            ["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]
                        ], "0"
                    ],
                    LC: ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"],
                    LI: ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]
                        ], "0", 0, "(1001)|0"
                    ],
                    LK: ["94", "00", "[1-9]\\d{8}", [9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]
                        ], "0"
                    ],
                    LR: ["231", "00", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9],
                        [
                            ["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]
                        ], "0"
                    ],
                    LS: ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]
                        ]
                    ],
                    LT: ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", 1],
                            ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1],
                            ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1],
                            ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]
                        ], "0", 0, "[08]"
                    ],
                    LU: ["352", "00", "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", [4, 5, 6, 7, 8, 9, 10, 11],
                        [
                            ["(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],
                            ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],
                            ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["2(?:[0367]|4[3-8])"]],
                            ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["2(?:[0367]|4[3-8])"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]
                        ], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"
                    ],
                    LV: ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]
                        ]
                    ],
                    LY: ["218", "00", "[2-9]\\d{8}", [9],
                        [
                            ["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]
                        ], "0"
                    ],
                    MA: ["212", "00", "[5-8]\\d{8}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[45]"], "0$1"],
                            ["(\\d{4})(\\d{5})", "$1-$2", ["5(?:[19]|2[2-46-9]|3[3-9])|8(?:0[89]|92)"], "0$1"],
                            ["(\\d{2})(\\d{7})", "$1-$2", ["8"], "0$1"],
                            ["(\\d{3})(\\d{6})", "$1-$2", ["[5-7]"], "0$1"]
                        ], "0", 0, 0, 0, 0, 0, [
                            ["5(?:(?:18|4[0679]|5[03])\\d|2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9]))\\d{5}"],
                            ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}"],
                            ["80[0-7]\\d{6}"],
                            ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]
                        ]
                    ],
                    MC: ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]],
                            ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "0$1"]
                        ], "0"
                    ],
                    MD: ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8],
                        [
                            ["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]
                        ], "0"
                    ],
                    ME: ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]
                        ], "0"
                    ],
                    MF: ["590", "00", "(?:590\\d|7090)\\d{5}|(?:69|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [
                        ["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"],
                        ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"],
                        ["80[0-5]\\d{6}"], 0, 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]
                    ]],
                    MG: ["261", "00", "[23]\\d{8}", [9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]
                        ], "0", 0, "([24-9]\\d{6})$|0", "20$1"
                    ],
                    MH: ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]
                        ], "1"
                    ],
                    MK: ["389", "00", "[2-578]\\d{7}", [8],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"],
                            ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]
                        ], "0"
                    ],
                    ML: ["223", "00", "[24-9]\\d{7}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]
                        ]
                    ],
                    MM: ["95", "00", "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", [6, 7, 8, 9, 10],
                        [
                            ["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"],
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"],
                            ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]
                        ], "0"
                    ],
                    MN: ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10],
                        [
                            ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[12]1"], "0$1"],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]],
                            ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"],
                            ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"],
                            ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]
                        ], "0"
                    ],
                    MO: ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8],
                        [
                            ["(\\d{4})(\\d{3})", "$1 $2", ["0"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]
                        ]
                    ],
                    MP: ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"],
                    MQ: ["596", "00", "(?:596\\d|7091)\\d{5}|(?:69|[89]\\d)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]
                        ], "0"
                    ],
                    MR: ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]
                        ]
                    ],
                    MS: ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"],
                    MT: ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]
                        ]
                    ],
                    MU: ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]],
                            ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "020"
                    ],
                    MV: ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10],
                        [
                            ["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    MW: ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9],
                        [
                            ["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-9]"], "0$1"]
                        ], "0"
                    ],
                    MX: ["52", "0[09]", "[2-9]\\d{9}", [10],
                        [
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    MY: ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"],
                            ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]
                        ], "0"
                    ],
                    MZ: ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-79]"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]
                        ]
                    ],
                    NA: ["264", "00", "[68]\\d{7,8}", [8, 9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]
                        ], "0"
                    ],
                    NC: ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]
                        ]
                    ],
                    NE: ["227", "00", "[027-9]\\d{7}", [8],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]
                        ]
                    ],
                    NF: ["672", "00", "[13]\\d{5}", [6],
                        [
                            ["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]],
                            ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]
                        ], 0, 0, "([0-258]\\d{4})$", "3$1"
                    ],
                    NG: ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"],
                            ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"],
                            ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"],
                            ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]
                        ], "0"
                    ],
                    NI: ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]
                        ]
                    ],
                    NL: ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11],
                        [
                            ["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"],
                            ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"],
                            ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]
                        ], "0"
                    ],
                    NO: ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8],
                        [
                            ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]
                        ], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"
                    ],
                    NP: ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11],
                        [
                            ["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"],
                            ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"],
                            ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]
                        ], "0"
                    ],
                    NR: ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]
                        ]
                    ],
                    NU: ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["8"]]
                        ]
                    ],
                    NZ: ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10],
                        [
                            ["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"],
                            ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"],
                            ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]
                        ], "0", 0, 0, 0, 0, 0, 0, "00"
                    ],
                    OM: ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9],
                        [
                            ["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]],
                            ["(\\d{2})(\\d{6})", "$1 $2", ["2"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]
                        ]
                    ],
                    PA: ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11],
                        [
                            ["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]],
                            ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]
                        ]
                    ],
                    PE: ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9],
                        [
                            ["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"],
                            ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"],
                            ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]
                        ], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "
                    ],
                    PF: ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]],
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]
                        ]
                    ],
                    PG: ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    PH: ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13],
                        [
                            ["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"],
                            ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"],
                            ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"],
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
                            ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]
                        ], "0"
                    ],
                    PK: ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12],
                        [
                            ["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"],
                            ["(\\d{4})(\\d{5})", "$1 $2", ["1"]],
                            ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"],
                            ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"],
                            ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"],
                            ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"],
                            ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]
                        ], "0"
                    ],
                    PL: ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10],
                        [
                            ["(\\d{5})", "$1", ["19"]],
                            ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]],
                            ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],
                            ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]
                        ]
                    ],
                    PM: ["508", "00", "[45]\\d{5}|(?:708|8\\d\\d)\\d{6}", [6, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[45]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]
                        ], "0"
                    ],
                    PR: ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"],
                    PS: ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]
                        ], "0"
                    ],
                    PT: ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]
                        ]
                    ],
                    PW: ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]
                        ]
                    ],
                    PY: ["595", "00", "59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}", [6, 7, 8, 9, 10, 11],
                        [
                            ["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"],
                            ["(\\d{2})(\\d{5})", "$1 $2", ["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"], "(0$1)"],
                            ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]],
                            ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]
                        ], "0"
                    ],
                    QA: ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]
                        ]
                    ],
                    RE: ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]
                        ], "0", 0, 0, 0, 0, 0, [
                            ["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"],
                            ["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"],
                            ["80\\d{7}"],
                            ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"],
                            ["8(?:1[019]|2[0156]|84|90)\\d{6}"]
                        ]
                    ],
                    RO: ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9],
                        [
                            ["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"],
                            ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]
                        ], "0", 0, 0, 0, 0, 0, 0, 0, " int "
                    ],
                    RS: ["381", "00", "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", [6, 7, 8, 9, 10, 11, 12],
                        [
                            ["(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"],
                            ["(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]
                        ], "0"
                    ],
                    RU: ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14],
                        [
                            ["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1],
                            ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1],
                            ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1],
                            ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]
                        ], "8", 0, 0, 0, 0, 0, [
                            ["336(?:[013-9]\\d|2[013-9])\\d{5}|(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15-7]|6[0-35-79]|7[1-37-9]))\\d{7}", [10]],
                            ["9\\d{9}", [10]],
                            ["8(?:0[04]|108\\d{3})\\d{7}"],
                            ["80[39]\\d{7}", [10]],
                            ["808\\d{7}", [10]]
                        ], "8~10"
                    ],
                    RW: ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]
                        ], "0"
                    ],
                    SA: ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [9, 10],
                        [
                            ["(\\d{4})(\\d{5})", "$1 $2", ["9"]],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]
                        ], "0"
                    ],
                    SB: ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7],
                        [
                            ["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]
                        ]
                    ],
                    SC: ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7],
                        [
                            ["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    SD: ["249", "00", "[19]\\d{8}", [9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]
                        ], "0"
                    ],
                    SE: ["46", "00", "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", [6, 7, 8, 9, 10, 12],
                        [
                            ["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"],
                            ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"],
                            ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"],
                            ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"],
                            ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"],
                            ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"],
                            ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"],
                            ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"],
                            ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]
                        ], "0"
                    ],
                    SG: ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]],
                            ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]],
                            ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]
                        ]
                    ],
                    SH: ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"],
                    SI: ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8],
                        [
                            ["(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"],
                            ["(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[0139]|51|6"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]
                        ], "0", 0, 0, 0, 0, 0, 0, "00"
                    ],
                    SJ: ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"],
                    SK: ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9],
                        [
                            ["(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"],
                            ["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1/$2 $3 $4", ["[3-5]"], "0$1"]
                        ], "0"
                    ],
                    SL: ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]
                        ], "0"
                    ],
                    SM: ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]],
                            ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]
                        ], 0, 0, "([89]\\d{5})$", "0549$1"
                    ],
                    SN: ["221", "00", "(?:[378]\\d|93)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]
                        ]
                    ],
                    SO: ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9],
                        [
                            ["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]],
                            ["(\\d{6})", "$1", ["[134]"]],
                            ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],
                            ["(\\d)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]],
                            ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|7[67]|9[2-9]"]]
                        ], "0"
                    ],
                    SR: ["597", "00", "(?:[2-5]|[6-8]\\d|90)\\d{5}", [6, 7],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]],
                            ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]],
                            ["(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]
                        ]
                    ],
                    SS: ["211", "00", "[19]\\d{8}", [9],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]
                        ], "0"
                    ],
                    ST: ["239", "00", "(?:22|9\\d)\\d{5}", [7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]
                        ]
                    ],
                    SV: ["503", "00", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]],
                            ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]
                        ]
                    ],
                    SX: ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"],
                    SY: ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "0$1", 1]
                        ], "0"
                    ],
                    SZ: ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]],
                            ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]
                        ]
                    ],
                    TA: ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"],
                    TC: ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"],
                    TD: ["235", "00|16", "(?:22|30|[689]\\d|77)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "00"
                    ],
                    TG: ["228", "00", "[279]\\d{7}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]
                        ]
                    ],
                    TH: ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13],
                        [
                            ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"],
                            ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]
                        ], "0"
                    ],
                    TJ: ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9],
                        [
                            ["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]],
                            ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]],
                            ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]
                        ], 0, 0, 0, 0, 0, 0, 0, "8~10"
                    ],
                    TK: ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]],
                    TL: ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]
                        ]
                    ],
                    TM: ["993", "810", "(?:[1-6]\\d|71)\\d{6}", [8],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"],
                            ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"],
                            ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]
                        ], "8", 0, 0, 0, 0, 0, 0, "8~10"
                    ],
                    TN: ["216", "00", "[2-57-9]\\d{7}", [8],
                        [
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]
                        ]
                    ],
                    TO: ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7],
                        [
                            ["(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],
                            ["(\\d{4})(\\d{3})", "$1 $2", ["0"]],
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]
                        ]
                    ],
                    TR: ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13],
                        [
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", 1],
                            ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5(?:[0-59]|61)", "5(?:[0-59]|61[06])", "5(?:[0-59]|61[06]1)"], "0$1", 1],
                            ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1],
                            ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]
                        ], "0"
                    ],
                    TT: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"],
                    TV: ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7],
                        [
                            ["(\\d{2})(\\d{3})", "$1 $2", ["2"]],
                            ["(\\d{2})(\\d{4})", "$1 $2", ["90"]],
                            ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]
                        ]
                    ],
                    TW: ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11],
                        [
                            ["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"],
                            ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]", "[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"],
                            ["(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]
                        ], "0", 0, 0, 0, 0, 0, 0, 0, "#"
                    ],
                    TZ: ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"],
                            ["(\\d{2})(\\d{7})", "$1 $2", ["5"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]
                        ], "0"
                    ],
                    UA: ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"],
                            ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]
                        ], "0", 0, 0, 0, 0, 0, 0, "0~0"
                    ],
                    UG: ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9],
                        [
                            ["(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"],
                            ["(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"],
                            ["(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "0$1"]
                        ], "0"
                    ],
                    US: ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10],
                        [
                            ["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1],
                            ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]
                        ], "1", 0, 0, 0, 0, 0, [
                            ["3052(?:0[0-8]|[1-9]\\d)\\d{4}|(?:2742|305[3-9])\\d{6}|(?:472|983)[2-47-9]\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-247]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"],
                            [""],
                            ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],
                            ["900[2-9]\\d{6}"],
                            ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"], 0, 0, 0, ["305209\\d{4}"]
                        ]
                    ],
                    UY: ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
                        [
                            ["(\\d{4,5})", "$1", ["21"]],
                            ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]],
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"],
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]],
                            ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]],
                            ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]
                        ], "0", 0, 0, 0, 0, 0, 0, "00", " int. "
                    ],
                    UZ: ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9],
                        [
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]
                        ]
                    ],
                    VA: ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"],
                    VC: ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"],
                    VE: ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10],
                        [
                            ["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]
                        ], "0"
                    ],
                    VG: ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"],
                    VI: ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"],
                    VN: ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}", [7, 8, 9, 10],
                        [
                            ["(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", 1],
                            ["(\\d{4})(\\d{4,6})", "$1 $2", ["1"], 0, 1],
                            ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["6"], "0$1", 1],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1],
                            ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]
                        ], "0"
                    ],
                    VU: ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7],
                        [
                            ["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]
                        ]
                    ],
                    WF: ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9],
                        [
                            ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]],
                            ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]
                        ]
                    ],
                    WS: ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10],
                        [
                            ["(\\d{5})", "$1", ["[2-5]|6[1-9]"]],
                            ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]],
                            ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]
                        ]
                    ],
                    XK: ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12],
                        [
                            ["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"],
                            ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]
                        ], "0"
                    ],
                    YE: ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9],
                        [
                            ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]
                        ], "0"
                    ],
                    YT: ["262", "00", "7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [
                        ["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"],
                        ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"],
                        ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]
                    ]],
                    ZA: ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10],
                        [
                            ["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]
                        ], "0"
                    ],
                    ZM: ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"],
                            ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]
                        ], "0"
                    ],
                    ZW: ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10],
                        [
                            ["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"],
                            ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"],
                            ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"],
                            ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"],
                            ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
                            ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"],
                            ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"],
                            ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"],
                            ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"],
                            ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]
                        ], "0"
                    ]
                },
                nonGeographic: {
                    800: ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]
                        ], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]
                    ],
                    808: ["808", 0, "[1-9]\\d{7}", [8],
                        [
                            ["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]
                        ], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]
                    ],
                    870: ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12],
                        [
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]
                        ], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]
                    ],
                    878: ["878", 0, "10\\d{10}", [12],
                        [
                            ["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]
                        ], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]
                    ],
                    881: ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10],
                        [
                            ["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]],
                            ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]
                        ], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]
                    ],
                    882: ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12],
                        [
                            ["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]],
                            ["(\\d{2})(\\d{6})", "$1 $2", ["49"]],
                            ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]],
                            ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]],
                            ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]],
                            ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|51"]],
                            ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]],
                            ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]
                        ], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]
                    ],
                    883: ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12],
                        [
                            ["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]],
                            ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]],
                            ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]],
                            ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]],
                            ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]
                        ], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]
                    ],
                    888: ["888", 0, "\\d{11}", [11],
                        [
                            ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]
                        ], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]
                    ],
                    979: ["979", 0, "[1359]\\d{8}", [9],
                        [
                            ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]
                        ], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]
                    ]
                }
            }
        },
        78: (Re, he, _) => {
            "use strict";
            _.d(he, {
                R: () => Zo
            });
            var t = _(6681),
                r = _(7792);

            function x(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }

            function P(L, ee, R) {
                return $(L, ee, void 0, R)
            }

            function $(L, ee, R, ie) {
                ee && (ie = new r.ZP(ie.metadata)).selectNumberingPlan(ee);
                var rt = ie.type(R),
                    gt = rt && rt.possibleLengths() || ie.possibleLengths();
                if (!gt) return "IS_POSSIBLE";
                if ("FIXED_LINE_OR_MOBILE" === R) {
                    if (!ie.type("FIXED_LINE")) return $(L, ee, "MOBILE", ie);
                    var Wt = ie.type("MOBILE");
                    Wt && (gt = function V(L, ee) {
                        for (var rt, R = L.slice(), ie = function U(L, ee) {
                                var R = typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                                if (R) return (R = R.call(L)).next.bind(R);
                                if (Array.isArray(L) || (R = function C(L, ee) {
                                        if (L) {
                                            if ("string" == typeof L) return x(L, ee);
                                            var R = {}.toString.call(L).slice(8, -1);
                                            return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? x(L, ee) : void 0
                                        }
                                    }(L)) || ee && L && "number" == typeof L.length) {
                                    R && (L = R);
                                    var ie = 0;
                                    return function() {
                                        return ie >= L.length ? {
                                            done: !0
                                        } : {
                                            done: !1,
                                            value: L[ie++]
                                        }
                                    }
                                }
                                throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
                            }(ee); !(rt = ie()).done;) {
                            var gt = rt.value;
                            L.indexOf(gt) < 0 && R.push(gt)
                        }
                        return R.sort(function(Wt, en) {
                            return Wt - en
                        })
                    }(gt, Wt.possibleLengths()))
                } else if (R && !rt) return "INVALID_LENGTH";
                var en = L.length,
                    X = gt[0];
                return X === en ? "IS_POSSIBLE" : X > en ? "TOO_SHORT" : gt[gt.length - 1] < en ? "TOO_LONG" : gt.indexOf(en, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH"
            }

            function F(L, ee) {
                return L = L || "", new RegExp("^(?:" + ee + ")$").test(L)
            }

            function le(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }
            var oe = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];

            function Te(L, ee, R) {
                if (ee = ee || {}, L.country || L.countryCallingCode) {
                    (R = new r.ZP(R)).selectNumberingPlan(L.country, L.countryCallingCode);
                    var ie = ee.v2 ? L.nationalNumber : L.phone;
                    if (F(ie, R.nationalNumberPattern())) {
                        if (Ae(ie, "FIXED_LINE", R)) return R.type("MOBILE") && "" === R.type("MOBILE").pattern() || !R.type("MOBILE") || Ae(ie, "MOBILE", R) ? "FIXED_LINE_OR_MOBILE" : "FIXED_LINE";
                        for (var gt, rt = function k(L, ee) {
                                var R = typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                                if (R) return (R = R.call(L)).next.bind(R);
                                if (Array.isArray(L) || (R = function B(L, ee) {
                                        if (L) {
                                            if ("string" == typeof L) return le(L, ee);
                                            var R = {}.toString.call(L).slice(8, -1);
                                            return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? le(L, ee) : void 0
                                        }
                                    }(L)) || ee && L && "number" == typeof L.length) {
                                    R && (L = R);
                                    var ie = 0;
                                    return function() {
                                        return ie >= L.length ? {
                                            done: !0
                                        } : {
                                            done: !1,
                                            value: L[ie++]
                                        }
                                    }
                                }
                                throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
                            }(oe); !(gt = rt()).done;) {
                            var Wt = gt.value;
                            if (Ae(ie, Wt, R)) return Wt
                        }
                    }
                }
            }

            function Ae(L, ee, R) {
                return !(!(ee = R.type(ee)) || !ee.pattern() || ee.possibleLengths() && ee.possibleLengths().indexOf(L.length) < 0) && F(L, ee.pattern())
            }
            var we = "0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9",
                He = "".concat("-\u2010-\u2015\u2212\u30fc\uff0d").concat("\uff0f/").concat("\uff0e.").concat(" \xa0\xad\u200b\u2060\u3000").concat("()\uff08\uff09\uff3b\uff3d\\[\\]").concat("~\u2053\u223c\uff5e"),
                kt = new RegExp("([" + we + "])");

            function St(L, ee, R, ie) {
                if (ee) {
                    var rt = new r.ZP(ie);
                    rt.selectNumberingPlan(ee, R);
                    var gt = new RegExp(rt.IDDPrefix());
                    if (0 === L.search(gt)) {
                        var Wt = (L = L.slice(L.match(gt)[0].length)).match(kt);
                        if (!(Wt && null != Wt[1] && Wt[1].length > 0 && "0" === Wt[1])) return L
                    }
                }
            }

            function Ct(L, ee) {
                if (L && ee.numberingPlan.nationalPrefixForParsing()) {
                    var R = new RegExp("^(?:" + ee.numberingPlan.nationalPrefixForParsing() + ")"),
                        ie = R.exec(L);
                    if (ie) {
                        var rt, gt, Y, Wt = ie.length - 1,
                            en = Wt > 0 && ie[Wt];
                        if (ee.nationalPrefixTransformRule() && en ? (rt = L.replace(R, ee.nationalPrefixTransformRule()), Wt > 1 && (gt = ie[1])) : (rt = L.slice(ie[0].length), en && (gt = ie[1])), en) {
                            var H = L.indexOf(ie[1]);
                            L.slice(0, H) === ee.numberingPlan.nationalPrefix() && (Y = ee.numberingPlan.nationalPrefix())
                        } else Y = ie[0];
                        return {
                            nationalNumber: rt,
                            nationalPrefix: Y,
                            carrierCode: gt
                        }
                    }
                }
                return {
                    nationalNumber: L
                }
            }

            function De(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }

            function J(L, ee) {
                var R = ee.countries,
                    ie = ee.metadata;
                ie = new r.ZP(ie);
                for (var gt, rt = function ht(L, ee) {
                        var R = typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                        if (R) return (R = R.call(L)).next.bind(R);
                        if (Array.isArray(L) || (R = function Pe(L, ee) {
                                if (L) {
                                    if ("string" == typeof L) return De(L, ee);
                                    var R = {}.toString.call(L).slice(8, -1);
                                    return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? De(L, ee) : void 0
                                }
                            }(L)) || ee && L && "number" == typeof L.length) {
                            R && (L = R);
                            var ie = 0;
                            return function() {
                                return ie >= L.length ? {
                                    done: !0
                                } : {
                                    done: !1,
                                    value: L[ie++]
                                }
                            }
                        }
                        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
                    }(R); !(gt = rt()).done;) {
                    var Wt = gt.value;
                    if (ie.selectNumberingPlan(Wt), ie.leadingDigits()) {
                        if (L && 0 === L.search(ie.leadingDigits())) return Wt
                    } else if (Te({
                            phone: L,
                            country: Wt
                        }, void 0, ie.metadata)) return Wt
                }
            }

            function Fe(L, ee) {
                var R = ee.nationalNumber,
                    ie = ee.metadata,
                    rt = ie.getCountryCodesForCallingCode(L);
                if (rt) return 1 === rt.length ? rt[0] : J(R, {
                    countries: rt,
                    metadata: ie.metadata
                })
            }

            function at(L, ee, R) {
                var ie = Ct(L, R),
                    rt = ie.carrierCode,
                    gt = ie.nationalNumber;
                if (gt !== L) {
                    if (! function ct(L, ee, R) {
                            return !(F(L, R.nationalNumberPattern()) && !F(ee, R.nationalNumberPattern()))
                        }(L, gt, R)) return {
                        nationalNumber: L
                    };
                    if (R.numberingPlan.possibleLengths() && (ee || (ee = Fe(R.numberingPlan.callingCode(), {
                            nationalNumber: gt,
                            metadata: R
                        })), ! function vt(L, ee, R) {
                            switch (P(L, ee, R)) {
                                case "TOO_SHORT":
                                case "INVALID_LENGTH":
                                    return !1;
                                default:
                                    return !0
                            }
                        }(gt, ee, R))) return {
                        nationalNumber: L
                    }
                }
                return {
                    nationalNumber: gt,
                    carrierCode: rt
                }
            }

            function Qt(L, ee, R, ie, rt) {
                var gt = ee || R ? (0, r.Gg)(ee || R, rt) : ie;
                if (0 === L.indexOf(gt)) {
                    (rt = new r.ZP(rt)).selectNumberingPlan(ee || R, gt);
                    var Wt = L.slice(gt.length),
                        X = at(Wt, ee, rt).nationalNumber,
                        H = at(L, ee, rt).nationalNumber;
                    if (!F(H, rt.nationalNumberPattern()) && F(X, rt.nationalNumberPattern()) || "TOO_LONG" === P(H, ee, rt)) return {
                        countryCallingCode: gt,
                        number: Wt
                    }
                }
                return {
                    number: L
                }
            }

            function Ge(L, ee, R, ie, rt) {
                if (!L) return {};
                var gt;
                if ("+" !== L[0]) {
                    var Wt = St(L, ee || R, ie, rt);
                    if (!Wt || Wt === L) {
                        if (ee || R || ie) {
                            var en = Qt(L, ee, R, ie, rt),
                                X = en.countryCallingCode;
                            if (X) return {
                                countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
                                countryCallingCode: X,
                                number: en.number
                            }
                        }
                        return {
                            number: L
                        }
                    }
                    gt = !0, L = "+" + Wt
                }
                if ("0" === L[1]) return {};
                rt = new r.ZP(rt);
                for (var H = 2; H - 1 <= 3 && H <= L.length;) {
                    var Ie = L.slice(1, H);
                    if (rt.hasCallingCode(Ie)) return rt.selectNumberingPlan(Ie), {
                        countryCallingCodeSource: gt ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
                        countryCallingCode: Ie,
                        number: L.slice(H)
                    };
                    H++
                }
                return {}
            }
            var mt = _(9322);

            function Lt(L) {
                return L.replace(new RegExp("[".concat(He, "]+"), "g"), " ").trim()
            }
            var _n = /(\$\d)/;

            function Ln(L, ee, R) {
                var ie = R.useInternationalFormat,
                    rt = R.withNationalPrefix,
                    en = L.replace(new RegExp(ee.pattern()), ie ? ee.internationalFormat() : rt && ee.nationalPrefixFormattingRule() ? ee.format().replace(_n, ee.nationalPrefixFormattingRule()) : ee.format());
                return ie ? Lt(en) : en
            }
            var Nn = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/,
                dt = {
                    formatExtension: function(ee, R, ie) {
                        return "".concat(ee).concat(ie.ext()).concat(R)
                    }
                };

            function Pt(L, ee, R, ie, rt) {
                var gt = function jt(L, ee) {
                    return function sn(L, ee) {
                        for (var R = 0; R < L.length;) {
                            if (ee(L[R])) return L[R];
                            R++
                        }
                    }(L, function(R) {
                        if (R.leadingDigitsPatterns().length > 0) {
                            var ie = R.leadingDigitsPatterns()[R.leadingDigitsPatterns().length - 1];
                            if (0 !== ee.search(ie)) return !1
                        }
                        return F(ee, R.pattern())
                    })
                }(ie.formats(), L);
                return gt ? Ln(L, gt, {
                    useInternationalFormat: "INTERNATIONAL" === R,
                    withNationalPrefix: !(gt.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && rt && !1 === rt.nationalPrefix),
                    carrierCode: ee,
                    metadata: ie
                }) : L
            }

            function on(L, ee, R, ie) {
                return ee ? ie(L, ee, R) : L
            }

            function cr(L) {
                return (cr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(ee) {
                    return typeof ee
                } : function(ee) {
                    return ee && "function" == typeof Symbol && ee.constructor === Symbol && ee !== Symbol.prototype ? "symbol" : typeof ee
                })(L)
            }

            function Jn(L, ee) {
                var R = Object.keys(L);
                if (Object.getOwnPropertySymbols) {
                    var ie = Object.getOwnPropertySymbols(L);
                    ee && (ie = ie.filter(function(rt) {
                        return Object.getOwnPropertyDescriptor(L, rt).enumerable
                    })), R.push.apply(R, ie)
                }
                return R
            }

            function wr(L) {
                for (var ee = 1; ee < arguments.length; ee++) {
                    var R = null != arguments[ee] ? arguments[ee] : {};
                    ee % 2 ? Jn(Object(R), !0).forEach(function(ie) {
                        Yn(L, ie, R[ie])
                    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(L, Object.getOwnPropertyDescriptors(R)) : Jn(Object(R)).forEach(function(ie) {
                        Object.defineProperty(L, ie, Object.getOwnPropertyDescriptor(R, ie))
                    })
                }
                return L
            }

            function Yn(L, ee, R) {
                return (ee = Jr(ee)) in L ? Object.defineProperty(L, ee, {
                    value: R,
                    enumerable: !0,
                    configurable: !0,
                    writable: !0
                }) : L[ee] = R, L
            }

            function Kn(L, ee) {
                for (var R = 0; R < ee.length; R++) {
                    var ie = ee[R];
                    ie.enumerable = ie.enumerable || !1, ie.configurable = !0, "value" in ie && (ie.writable = !0), Object.defineProperty(L, Jr(ie.key), ie)
                }
            }

            function Jr(L) {
                var ee = function hr(L, ee) {
                    if ("object" != cr(L) || !L) return L;
                    var R = L[Symbol.toPrimitive];
                    if (void 0 !== R) {
                        var ie = R.call(L, ee || "default");
                        if ("object" != cr(ie)) return ie;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === ee ? String : Number)(L)
                }(L, "string");
                return "symbol" == cr(ee) ? ee : ee + ""
            }
            var Si = function() {
                    return function si(L, ee, R) {
                        return ee && Kn(L.prototype, ee), R && Kn(L, R), Object.defineProperty(L, "prototype", {
                            writable: !1
                        }), L
                    }(function L(ee, R, ie) {
                        if (function In(L, ee) {
                                if (!(L instanceof ee)) throw new TypeError("Cannot call a class as a function")
                            }(this, L), !ee) throw new TypeError("First argument is required");
                        if ("string" != typeof ee) throw new TypeError("First argument must be a string");
                        if ("+" === ee[0] && !R) throw new TypeError("`metadata` argument not passed");
                        if ((0, mt.Z)(R) && (0, mt.Z)(R.countries)) {
                            ie = R;
                            var rt = ee;
                            if (!Ji.test(rt)) throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');
                            var gt = Ge(rt, void 0, void 0, void 0, ie);
                            if (ee = gt.countryCallingCode, !(R = gt.number)) throw new Error("Invalid `number` argument passed: too short")
                        }
                        if (!R) throw new TypeError("`nationalNumber` argument is required");
                        if ("string" != typeof R) throw new TypeError("`nationalNumber` argument must be a string");
                        (0, r.zW)(ie);
                        var X = function eo(L, ee) {
                                var R, ie, rt = new r.ZP(ee);
                                return function(ee) {
                                    return /^[A-Z]{2}$/.test(ee)
                                }(L) ? (rt.selectNumberingPlan(R = L), ie = rt.countryCallingCode()) : ie = L, {
                                    country: R,
                                    countryCallingCode: ie
                                }
                            }(ee, ie),
                            H = X.countryCallingCode;
                        this.country = X.country, this.countryCallingCode = H, this.nationalNumber = R, this.number = "+" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {
                            return ie
                        }
                    }, [{
                        key: "setExt",
                        value: function(R) {
                            this.ext = R
                        }
                    }, {
                        key: "getPossibleCountries",
                        value: function() {
                            return this.country ? [this.country] : function be(L, ee, R) {
                                var rt = new r.ZP(R).getCountryCodesForCallingCode(L);
                                return rt ? rt.filter(function(gt) {
                                    return function je(L, ee, R) {
                                        var ie = new r.ZP(R);
                                        return ie.selectNumberingPlan(ee), ie.numberingPlan.possibleLengths().indexOf(L.length) >= 0
                                    }(ee, gt, R)
                                }) : []
                            }(this.countryCallingCode, this.nationalNumber, this.getMetadata())
                        }
                    }, {
                        key: "isPossible",
                        value: function() {
                            return function K(L, ee, R) {
                                if (void 0 === ee && (ee = {}), R = new r.ZP(R), ee.v2) {
                                    if (!L.countryCallingCode) throw new Error("Invalid phone number object passed");
                                    R.selectNumberingPlan(L.countryCallingCode)
                                } else {
                                    if (!L.phone) return !1;
                                    if (L.country) {
                                        if (!R.hasCountry(L.country)) throw new Error("Unknown country: ".concat(L.country));
                                        R.selectNumberingPlan(L.country)
                                    } else {
                                        if (!L.countryCallingCode) throw new Error("Invalid phone number object passed");
                                        R.selectNumberingPlan(L.countryCallingCode)
                                    }
                                }
                                if (R.possibleLengths()) return function G(L, ee, R) {
                                    return "IS_POSSIBLE" === P(L, ee, R)
                                }(L.phone || L.nationalNumber, L.country, R);
                                if (L.countryCallingCode && R.isNonGeographicCallingCode(L.countryCallingCode)) return !0;
                                throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.')
                            }(this, {
                                v2: !0
                            }, this.getMetadata())
                        }
                    }, {
                        key: "isValid",
                        value: function() {
                            return function ce(L, ee, R) {
                                return ee = ee || {}, (R = new r.ZP(R)).selectNumberingPlan(L.country, L.countryCallingCode), R.hasTypes() ? void 0 !== Te(L, ee, R.metadata) : F(ee.v2 ? L.nationalNumber : L.phone, R.nationalNumberPattern())
                            }(this, {
                                v2: !0
                            }, this.getMetadata())
                        }
                    }, {
                        key: "isNonGeographic",
                        value: function() {
                            return new r.ZP(this.getMetadata()).isNonGeographicCallingCode(this.countryCallingCode)
                        }
                    }, {
                        key: "isEqual",
                        value: function(R) {
                            return this.number === R.number && this.ext === R.ext
                        }
                    }, {
                        key: "getType",
                        value: function() {
                            return Te(this, {
                                v2: !0
                            }, this.getMetadata())
                        }
                    }, {
                        key: "format",
                        value: function(R, ie) {
                            return function et(L, ee, R, ie) {
                                if (R = R ? function Xn() {
                                        for (var L = 1, ee = arguments.length, R = new Array(ee), ie = 0; ie < ee; ie++) R[ie] = arguments[ie];
                                        for (; L < R.length;) {
                                            if (R[L])
                                                for (var rt in R[L]) R[0][rt] = R[L][rt];
                                            L++
                                        }
                                        return R[0]
                                    }({}, dt, R) : dt, ie = new r.ZP(ie), L.country && "001" !== L.country) {
                                    if (!ie.hasCountry(L.country)) throw new Error("Unknown country: ".concat(L.country));
                                    ie.selectNumberingPlan(L.country)
                                } else {
                                    if (!L.countryCallingCode) return L.phone || "";
                                    ie.selectNumberingPlan(L.countryCallingCode)
                                }
                                var Wt, rt = ie.countryCallingCode(),
                                    gt = R.v2 ? L.nationalNumber : L.phone;
                                switch (ee) {
                                    case "NATIONAL":
                                        return gt ? on(Wt = Pt(gt, L.carrierCode, "NATIONAL", ie, R), L.ext, ie, R.formatExtension) : "";
                                    case "INTERNATIONAL":
                                        return gt ? (Wt = Pt(gt, null, "INTERNATIONAL", ie, R), on(Wt = "+".concat(rt, " ").concat(Wt), L.ext, ie, R.formatExtension)) : "+".concat(rt);
                                    case "E.164":
                                        return "+".concat(rt).concat(gt);
                                    case "RFC3966":
                                        return function Ut(L) {
                                            var ee = L.number,
                                                R = L.ext;
                                            if (!ee) return "";
                                            if ("+" !== ee[0]) throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');
                                            return "tel:".concat(ee).concat(R ? ";ext=" + R : "")
                                        }({
                                            number: "+".concat(rt).concat(gt),
                                            ext: L.ext
                                        });
                                    case "IDD":
                                        if (!R.fromCountry) return;
                                        var en = function $n(L, ee, R, ie, rt) {
                                            if ((0, r.Gg)(ie, rt.metadata) === R) {
                                                var Wt = Pt(L, ee, "NATIONAL", rt);
                                                return "1" === R ? R + " " + Wt : Wt
                                            }
                                            var en = function kn(L, ee, R) {
                                                var ie = new r.ZP(R);
                                                return ie.selectNumberingPlan(L, ee), ie.defaultIDDPrefix() ? ie.defaultIDDPrefix() : Nn.test(ie.IDDPrefix()) ? ie.IDDPrefix() : void 0
                                            }(ie, void 0, rt.metadata);
                                            if (en) return "".concat(en, " ").concat(R, " ").concat(Pt(L, null, "INTERNATIONAL", rt))
                                        }(gt, L.carrierCode, rt, R.fromCountry, ie);
                                        return en ? on(en, L.ext, ie, R.formatExtension) : void 0;
                                    default:
                                        throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(ee, '"'))
                                }
                            }(this, R, ie ? wr(wr({}, ie), {}, {
                                v2: !0
                            }) : {
                                v2: !0
                            }, this.getMetadata())
                        }
                    }, {
                        key: "formatNational",
                        value: function(R) {
                            return this.format("NATIONAL", R)
                        }
                    }, {
                        key: "formatInternational",
                        value: function(R) {
                            return this.format("INTERNATIONAL", R)
                        }
                    }, {
                        key: "getURI",
                        value: function(R) {
                            return this.format("RFC3966", R)
                        }
                    }])
                }(),
                Ji = /^\+\d+$/;

            function Pi(L) {
                return (Pi = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(ee) {
                    return typeof ee
                } : function(ee) {
                    return ee && "function" == typeof Symbol && ee.constructor === Symbol && ee !== Symbol.prototype ? "symbol" : typeof ee
                })(L)
            }

            function lr(L, ee) {
                for (var R = 0; R < ee.length; R++) {
                    var ie = ee[R];
                    ie.enumerable = ie.enumerable || !1, ie.configurable = !0, "value" in ie && (ie.writable = !0), Object.defineProperty(L, Er(ie.key), ie)
                }
            }

            function Er(L) {
                var ee = function jr(L, ee) {
                    if ("object" != Pi(L) || !L) return L;
                    var R = L[Symbol.toPrimitive];
                    if (void 0 !== R) {
                        var ie = R.call(L, ee || "default");
                        if ("object" != Pi(ie)) return ie;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === ee ? String : Number)(L)
                }(L, "string");
                return "symbol" == Pi(ee) ? ee : ee + ""
            }
            var zr = function() {
                return function br(L, ee, R) {
                    return ee && lr(L.prototype, ee), R && lr(L, R), Object.defineProperty(L, "prototype", {
                        writable: !1
                    }), L
                }(function L(ee) {
                    var R = ee.onCountryChange,
                        ie = ee.onCallingCodeChange;
                    (function To(L, ee) {
                        if (!(L instanceof ee)) throw new TypeError("Cannot call a class as a function")
                    })(this, L), this.onCountryChange = R, this.onCallingCodeChange = ie
                }, [{
                    key: "reset",
                    value: function(R) {
                        var ie = R.country,
                            rt = R.callingCode;
                        this.international = !1, this.missingPlus = !1, this.IDDPrefix = void 0, this.callingCode = void 0, this.digits = "", this.resetNationalSignificantNumber(), this.initCountryAndCallingCode(ie, rt)
                    }
                }, {
                    key: "resetNationalSignificantNumber",
                    value: function() {
                        this.nationalSignificantNumber = this.getNationalDigits(), this.nationalSignificantNumberIsModified = !1, this.nationalPrefix = void 0, this.carrierCode = void 0, this.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix = void 0
                    }
                }, {
                    key: "update",
                    value: function(R) {
                        for (var ie = 0, rt = Object.keys(R); ie < rt.length; ie++) {
                            var gt = rt[ie];
                            this[gt] = R[gt]
                        }
                    }
                }, {
                    key: "initCountryAndCallingCode",
                    value: function(R, ie) {
                        this.setCountry(R), this.setCallingCode(ie)
                    }
                }, {
                    key: "setCountry",
                    value: function(R) {
                        this.country = R, this.onCountryChange(R)
                    }
                }, {
                    key: "setCallingCode",
                    value: function(R) {
                        this.callingCode = R, this.onCallingCodeChange(R, this.country)
                    }
                }, {
                    key: "startInternationalNumber",
                    value: function(R, ie) {
                        this.international = !0, this.initCountryAndCallingCode(R, ie)
                    }
                }, {
                    key: "appendDigits",
                    value: function(R) {
                        this.digits += R
                    }
                }, {
                    key: "appendNationalSignificantNumberDigits",
                    value: function(R) {
                        this.nationalSignificantNumber += R
                    }
                }, {
                    key: "getNationalDigits",
                    value: function() {
                        return this.international ? this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0)) : this.digits
                    }
                }, {
                    key: "getDigitsWithoutInternationalPrefix",
                    value: function() {
                        return this.international && this.IDDPrefix ? this.digits.slice(this.IDDPrefix.length) : this.digits
                    }
                }])
            }();

            function Ee(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }
            var re = "x",
                ae = new RegExp(re);

            function Dt(L, ee) {
                if (ee < 1) return "";
                for (var R = ""; ee > 1;) 1 & ee && (R += L), ee >>= 1, L += L;
                return R + L
            }

            function Xt(L, ee) {
                return ")" === L[ee] && ee++,
                    function er(L) {
                        for (var ee = [], R = 0; R < L.length;) "(" === L[R] ? ee.push(R) : ")" === L[R] && ee.pop(), R++;
                        var ie = 0,
                            rt = "";
                        ee.push(L.length);
                        for (var gt = 0, Wt = ee; gt < Wt.length; gt++) {
                            var en = Wt[gt];
                            rt += L.slice(ie, en), ie = en + 1
                        }
                        return rt
                    }(L.slice(0, ee))
            }

            function bi(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }
            var ji = {
                0: "0",
                1: "1",
                2: "2",
                3: "3",
                4: "4",
                5: "5",
                6: "6",
                7: "7",
                8: "8",
                9: "9",
                "\uff10": "0",
                "\uff11": "1",
                "\uff12": "2",
                "\uff13": "3",
                "\uff14": "4",
                "\uff15": "5",
                "\uff16": "6",
                "\uff17": "7",
                "\uff18": "8",
                "\uff19": "9",
                "\u0660": "0",
                "\u0661": "1",
                "\u0662": "2",
                "\u0663": "3",
                "\u0664": "4",
                "\u0665": "5",
                "\u0666": "6",
                "\u0667": "7",
                "\u0668": "8",
                "\u0669": "9",
                "\u06f0": "0",
                "\u06f1": "1",
                "\u06f2": "2",
                "\u06f3": "3",
                "\u06f4": "4",
                "\u06f5": "5",
                "\u06f6": "6",
                "\u06f7": "7",
                "\u06f8": "8",
                "\u06f9": "9"
            };

            function ye(L) {
                return ji[L]
            }

            function Ue(L) {
                for (var ie, ee = "", R = function Tn(L, ee) {
                        var R = typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                        if (R) return (R = R.call(L)).next.bind(R);
                        if (Array.isArray(L) || (R = function Lr(L, ee) {
                                if (L) {
                                    if ("string" == typeof L) return bi(L, ee);
                                    var R = {}.toString.call(L).slice(8, -1);
                                    return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? bi(L, ee) : void 0
                                }
                            }(L)) || ee && L && "number" == typeof L.length) {
                            R && (L = R);
                            var ie = 0;
                            return function() {
                                return ie >= L.length ? {
                                    done: !0
                                } : {
                                    done: !1,
                                    value: L[ie++]
                                }
                            }
                        }
                        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
                    }(L.split("")); !(ie = R()).done;) {
                    var gt = ye(ie.value);
                    gt && (ee += gt)
                }
                return ee
            }

            function Le(L, ee, R) {
                var ie = R.metadata,
                    rt = R.shouldTryNationalPrefixFormattingRule,
                    gt = R.getSeparatorAfterNationalPrefix;
                if (new RegExp("^(?:".concat(ee.pattern(), ")$")).test(L.nationalSignificantNumber)) return function zt(L, ee, R) {
                    var ie = R.metadata,
                        gt = R.getSeparatorAfterNationalPrefix;
                    if ((0, R.shouldTryNationalPrefixFormattingRule)(ee)) {
                        var H = Ht(L, ee, {
                            useNationalPrefixFormattingRule: !0,
                            getSeparatorAfterNationalPrefix: gt,
                            metadata: ie
                        });
                        if (H) return H
                    }
                    return Ht(L, ee, {
                        useNationalPrefixFormattingRule: !1,
                        getSeparatorAfterNationalPrefix: gt,
                        metadata: ie
                    })
                }(L, ee, {
                    metadata: ie,
                    shouldTryNationalPrefixFormattingRule: rt,
                    getSeparatorAfterNationalPrefix: gt
                })
            }

            function Ht(L, ee, R) {
                var rt = R.useNationalPrefixFormattingRule,
                    gt = R.getSeparatorAfterNationalPrefix,
                    Wt = Ln(L.nationalSignificantNumber, ee, {
                        carrierCode: L.carrierCode,
                        useInternationalFormat: L.international,
                        withNationalPrefix: rt,
                        metadata: R.metadata
                    });
                if (rt || (L.nationalPrefix ? Wt = L.nationalPrefix + gt(ee) + Wt : L.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix && (Wt = L.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix + " " + Wt)), function an(L, ee) {
                        return Ue(L) === ee.getNationalDigits()
                    }(Wt, L)) return Wt
            }

            function Kt(L) {
                return (Kt = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(ee) {
                    return typeof ee
                } : function(ee) {
                    return ee && "function" == typeof Symbol && ee.constructor === Symbol && ee !== Symbol.prototype ? "symbol" : typeof ee
                })(L)
            }

            function Zn(L, ee) {
                for (var R = 0; R < ee.length; R++) {
                    var ie = ee[R];
                    ie.enumerable = ie.enumerable || !1, ie.configurable = !0, "value" in ie && (ie.writable = !0), Object.defineProperty(L, Ur(ie.key), ie)
                }
            }

            function Ur(L) {
                var ee = function Dr(L, ee) {
                    if ("object" != Kt(L) || !L) return L;
                    var R = L[Symbol.toPrimitive];
                    if (void 0 !== R) {
                        var ie = R.call(L, ee || "default");
                        if ("object" != Kt(ie)) return ie;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === ee ? String : Number)(L)
                }(L, "string");
                return "symbol" == Kt(ee) ? ee : ee + ""
            }
            var mr = function() {
                return function Vn(L, ee, R) {
                    return ee && Zn(L.prototype, ee), R && Zn(L, R), Object.defineProperty(L, "prototype", {
                        writable: !1
                    }), L
                }(function L() {
                    ! function yn(L, ee) {
                        if (!(L instanceof ee)) throw new TypeError("Cannot call a class as a function")
                    }(this, L)
                }, [{
                    key: "parse",
                    value: function(R) {
                        if (this.context = [{
                                or: !0,
                                instructions: []
                            }], this.parsePattern(R), 1 !== this.context.length) throw new Error("Non-finalized contexts left when pattern parse ended");
                        var ie = this.context[0],
                            rt = ie.branches,
                            gt = ie.instructions;
                        if (rt) return {
                            op: "|",
                            args: rt.concat([$r(gt)])
                        };
                        if (0 === gt.length) throw new Error("Pattern is required");
                        return 1 === gt.length ? gt[0] : gt
                    }
                }, {
                    key: "startContext",
                    value: function(R) {
                        this.context.push(R)
                    }
                }, {
                    key: "endContext",
                    value: function() {
                        this.context.pop()
                    }
                }, {
                    key: "getContext",
                    value: function() {
                        return this.context[this.context.length - 1]
                    }
                }, {
                    key: "parsePattern",
                    value: function(R) {
                        if (!R) throw new Error("Pattern is required");
                        var ie = R.match(yo);
                        if (ie) {
                            var rt = ie[1],
                                gt = R.slice(0, ie.index),
                                Wt = R.slice(ie.index + rt.length);
                            switch (rt) {
                                case "(?:":
                                    gt && this.parsePattern(gt), this.startContext({
                                        or: !0,
                                        instructions: [],
                                        branches: []
                                    });
                                    break;
                                case ")":
                                    if (!this.getContext().or) throw new Error('")" operator must be preceded by "(?:" operator');
                                    if (gt && this.parsePattern(gt), 0 === this.getContext().instructions.length) throw new Error('No instructions found after "|" operator in an "or" group');
                                    var X = this.getContext().branches;
                                    X.push($r(this.getContext().instructions)), this.endContext(), this.getContext().instructions.push({
                                        op: "|",
                                        args: X
                                    });
                                    break;
                                case "|":
                                    if (!this.getContext().or) throw new Error('"|" operator can only be used inside "or" groups');
                                    if (gt && this.parsePattern(gt), !this.getContext().branches) {
                                        if (1 !== this.context.length) throw new Error('"branches" not found in an "or" group context');
                                        this.getContext().branches = []
                                    }
                                    this.getContext().branches.push($r(this.getContext().instructions)), this.getContext().instructions = [];
                                    break;
                                case "[":
                                    gt && this.parsePattern(gt), this.startContext({
                                        oneOfSet: !0
                                    });
                                    break;
                                case "]":
                                    if (!this.getContext().oneOfSet) throw new Error('"]" operator must be preceded by "[" operator');
                                    this.endContext(), this.getContext().instructions.push({
                                        op: "[]",
                                        args: Yr(gt)
                                    });
                                    break;
                                default:
                                    throw new Error("Unknown operator: ".concat(rt))
                            }
                            Wt && this.parsePattern(Wt)
                        } else {
                            if (Cr.test(R)) throw new Error("Illegal characters found in a pattern: ".concat(R));
                            this.getContext().instructions = this.getContext().instructions.concat(R.split(""))
                        }
                    }
                }])
            }();

            function Yr(L) {
                for (var ee = [], R = 0; R < L.length;) {
                    if ("-" === L[R]) {
                        if (0 === R || R === L.length - 1) throw new Error("Couldn't parse a one-of set pattern: ".concat(L));
                        for (var ie = L[R - 1].charCodeAt(0) + 1, rt = L[R + 1].charCodeAt(0) - 1, gt = ie; gt <= rt;) ee.push(String.fromCharCode(gt)), gt++
                    } else ee.push(L[R]);
                    R++
                }
                return ee
            }
            var Cr = /[\(\)\[\]\?\:\|]/,
                yo = new RegExp("(\\||\\(\\?\\:|\\)|\\[|\\])");

            function $r(L) {
                return 1 === L.length ? L[0] : L
            }

            function hi(L, ee) {
                var R = typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                if (R) return (R = R.call(L)).next.bind(R);
                if (Array.isArray(L) || (R = function ls(L, ee) {
                        if (L) {
                            if ("string" == typeof L) return Ho(L, ee);
                            var R = {}.toString.call(L).slice(8, -1);
                            return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? Ho(L, ee) : void 0
                        }
                    }(L)) || ee && L && "number" == typeof L.length) {
                    R && (L = R);
                    var ie = 0;
                    return function() {
                        return ie >= L.length ? {
                            done: !0
                        } : {
                            done: !1,
                            value: L[ie++]
                        }
                    }
                }
                throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
            }

            function Ho(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }

            function Oo(L) {
                return (Oo = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(ee) {
                    return typeof ee
                } : function(ee) {
                    return ee && "function" == typeof Symbol && ee.constructor === Symbol && ee !== Symbol.prototype ? "symbol" : typeof ee
                })(L)
            }

            function it(L, ee) {
                for (var R = 0; R < ee.length; R++) {
                    var ie = ee[R];
                    ie.enumerable = ie.enumerable || !1, ie.configurable = !0, "value" in ie && (ie.writable = !0), Object.defineProperty(L, Tt(ie.key), ie)
                }
            }

            function Tt(L) {
                var ee = function $t(L, ee) {
                    if ("object" != Oo(L) || !L) return L;
                    var R = L[Symbol.toPrimitive];
                    if (void 0 !== R) {
                        var ie = R.call(L, ee || "default");
                        if ("object" != Oo(ie)) return ie;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === ee ? String : Number)(L)
                }(L, "string");
                return "symbol" == Oo(ee) ? ee : ee + ""
            }
            var xn = function() {
                return function Rt(L, ee, R) {
                    return ee && it(L.prototype, ee), R && it(L, R), Object.defineProperty(L, "prototype", {
                        writable: !1
                    }), L
                }(function L(ee) {
                    (function to(L, ee) {
                        if (!(L instanceof ee)) throw new TypeError("Cannot call a class as a function")
                    })(this, L), this.matchTree = (new mr).parse(ee)
                }, [{
                    key: "match",
                    value: function(R) {
                        var ie = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},
                            rt = ie.allowOverflow;
                        if (!R) throw new Error("String is required");
                        var gt = cn(R.split(""), this.matchTree, !0);
                        if (gt && gt.match && delete gt.matchedChars, !gt || !gt.overflow || rt) return gt
                    }
                }])
            }();

            function cn(L, ee, R) {
                if ("string" == typeof ee) {
                    var ie = L.join("");
                    return 0 === ee.indexOf(ie) ? L.length === ee.length ? {
                        match: !0,
                        matchedChars: L
                    } : {
                        partialMatch: !0
                    } : 0 === ie.indexOf(ee) ? R && L.length > ee.length ? {
                        overflow: !0
                    } : {
                        match: !0,
                        matchedChars: L.slice(0, ee.length)
                    } : void 0
                }
                if (Array.isArray(ee)) {
                    for (var rt = L.slice(), gt = 0; gt < ee.length;) {
                        var en = cn(rt, ee[gt], R && gt === ee.length - 1);
                        if (!en) return;
                        if (en.overflow) return en;
                        if (!en.match) {
                            if (en.partialMatch) return {
                                partialMatch: !0
                            };
                            throw new Error("Unsupported match result:\n".concat(JSON.stringify(en, null, 2)))
                        }
                        if (0 === (rt = rt.slice(en.matchedChars.length)).length) return gt === ee.length - 1 ? {
                            match: !0,
                            matchedChars: L
                        } : {
                            partialMatch: !0
                        };
                        gt++
                    }
                    return R ? {
                        overflow: !0
                    } : {
                        match: !0,
                        matchedChars: L.slice(0, L.length - rt.length)
                    }
                }
                switch (ee.op) {
                    case "|":
                        for (var X, H, Y = hi(ee.args); !(H = Y()).done;) {
                            var It = cn(L, H.value, R);
                            if (It) {
                                if (It.overflow) return It;
                                if (It.match) return {
                                    match: !0,
                                    matchedChars: It.matchedChars
                                };
                                if (!It.partialMatch) throw new Error("Unsupported match result:\n".concat(JSON.stringify(It, null, 2)));
                                X = !0
                            }
                        }
                        return X ? {
                            partialMatch: !0
                        } : void 0;
                    case "[]":
                        for (var nr, An = hi(ee.args); !(nr = An()).done;) {
                            var no = nr.value;
                            if (L[0] === no) return 1 === L.length ? {
                                match: !0,
                                matchedChars: L
                            } : R ? {
                                overflow: !0
                            } : {
                                match: !0,
                                matchedChars: [no]
                            }
                        }
                        return;
                    default:
                        throw new Error("Unsupported instruction tree: ".concat(ee))
                }
            }

            function Tr(L) {
                return (Tr = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(ee) {
                    return typeof ee
                } : function(ee) {
                    return ee && "function" == typeof Symbol && ee.constructor === Symbol && ee !== Symbol.prototype ? "symbol" : typeof ee
                })(L)
            }

            function li(L, ee) {
                var R = typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                if (R) return (R = R.call(L)).next.bind(R);
                if (Array.isArray(L) || (R = function mi(L, ee) {
                        if (L) {
                            if ("string" == typeof L) return Ki(L, ee);
                            var R = {}.toString.call(L).slice(8, -1);
                            return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? Ki(L, ee) : void 0
                        }
                    }(L)) || ee && L && "number" == typeof L.length) {
                    R && (L = R);
                    var ie = 0;
                    return function() {
                        return ie >= L.length ? {
                            done: !0
                        } : {
                            done: !1,
                            value: L[ie++]
                        }
                    }
                }
                throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
            }

            function Ki(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }

            function ei(L, ee) {
                for (var R = 0; R < ee.length; R++) {
                    var ie = ee[R];
                    ie.enumerable = ie.enumerable || !1, ie.configurable = !0, "value" in ie && (ie.writable = !0), Object.defineProperty(L, cs(ie.key), ie)
                }
            }

            function cs(L) {
                var ee = function Qo(L, ee) {
                    if ("object" != Tr(L) || !L) return L;
                    var R = L[Symbol.toPrimitive];
                    if (void 0 !== R) {
                        var ie = R.call(L, ee || "default");
                        if ("object" != Tr(ie)) return ie;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === ee ? String : Number)(L)
                }(L, "string");
                return "symbol" == Tr(ee) ? ee : ee + ""
            }
            var Rs = Dt("9", 15),
                us = /[- ]/,
                Fs = new RegExp("[" + He + "]*\\$1[" + He + "]*(\\$\\d[" + He + "]*)*$"),
                ds = function() {
                    return function Ao(L, ee, R) {
                        return ee && ei(L.prototype, ee), R && ei(L, R), Object.defineProperty(L, "prototype", {
                            writable: !1
                        }), L
                    }(function L(ee) {
                        var ie = ee.metadata;
                        (function Gr(L, ee) {
                            if (!(L instanceof ee)) throw new TypeError("Cannot call a class as a function")
                        })(this, L), this.metadata = ie, this.resetFormat()
                    }, [{
                        key: "resetFormat",
                        value: function() {
                            this.chosenFormat = void 0, this.template = void 0, this.nationalNumberTemplate = void 0, this.populatedNationalNumberTemplate = void 0, this.populatedNationalNumberTemplatePosition = -1
                        }
                    }, {
                        key: "reset",
                        value: function(R, ie) {
                            this.resetFormat(), R ? (this.isNANP = "1" === R.callingCode(), this.matchingFormats = R.formats(), ie.nationalSignificantNumber && this.narrowDownMatchingFormats(ie)) : (this.isNANP = void 0, this.matchingFormats = [])
                        }
                    }, {
                        key: "format",
                        value: function(R, ie) {
                            var rt = this;
                            if (function ot(L, ee, R) {
                                    return "IS_POSSIBLE" === P(L, ee, R)
                                }(ie.nationalSignificantNumber, ie.country, this.metadata))
                                for (var Wt, gt = li(this.matchingFormats); !(Wt = gt()).done;) {
                                    var en = Wt.value,
                                        X = Le(ie, en, {
                                            metadata: this.metadata,
                                            shouldTryNationalPrefixFormattingRule: function(H) {
                                                return rt.shouldTryNationalPrefixFormattingRule(H, {
                                                    international: ie.international,
                                                    nationalPrefix: ie.nationalPrefix
                                                })
                                            },
                                            getSeparatorAfterNationalPrefix: function(H) {
                                                return rt.getSeparatorAfterNationalPrefix(H)
                                            }
                                        });
                                    if (X) return this.resetFormat(), this.chosenFormat = en, this.setNationalNumberTemplate(X.replace(/\d/g, re), ie), this.populatedNationalNumberTemplate = X, this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(re), X
                                }
                            return this.formatNationalNumberWithNextDigits(R, ie)
                        }
                    }, {
                        key: "formatNationalNumberWithNextDigits",
                        value: function(R, ie) {
                            var rt = this.chosenFormat,
                                gt = this.chooseFormat(ie);
                            if (gt) return this.formatNextNationalNumberDigits(gt === rt ? R : ie.getNationalDigits())
                        }
                    }, {
                        key: "narrowDownMatchingFormats",
                        value: function(R) {
                            var ie = this,
                                gt = R.nationalPrefix,
                                Wt = R.international,
                                en = R.nationalSignificantNumber,
                                X = en.length - 3;
                            X < 0 && (X = 0), this.matchingFormats = this.matchingFormats.filter(function(Y) {
                                return ie.formatSuits(Y, Wt, gt) && ie.formatMatches(Y, en, X)
                            }), this.chosenFormat && -1 === this.matchingFormats.indexOf(this.chosenFormat) && this.resetFormat()
                        }
                    }, {
                        key: "formatSuits",
                        value: function(R, ie, rt) {
                            return !(rt && !R.usesNationalPrefix() && !R.nationalPrefixIsOptionalWhenFormattingInNationalFormat() || !ie && !rt && R.nationalPrefixIsMandatoryWhenFormattingInNationalFormat())
                        }
                    }, {
                        key: "formatMatches",
                        value: function(R, ie, rt) {
                            var gt = R.leadingDigitsPatterns().length;
                            if (0 === gt) return !0;
                            rt = Math.min(rt, gt - 1);
                            var Wt = R.leadingDigitsPatterns()[rt];
                            if (ie.length < 3) try {
                                return void 0 !== new xn(Wt).match(ie, {
                                    allowOverflow: !0
                                })
                            } catch (en) {
                                return console.error(en), !0
                            }
                            return new RegExp("^(".concat(Wt, ")")).test(ie)
                        }
                    }, {
                        key: "getFormatFormat",
                        value: function(R, ie) {
                            return ie ? R.internationalFormat() : R.format()
                        }
                    }, {
                        key: "chooseFormat",
                        value: function(R) {
                            for (var en, ie = this, rt = function() {
                                    var Y = en.value;
                                    return ie.chosenFormat === Y ? 0 : Fs.test(ie.getFormatFormat(Y, R.international)) ? ie.createTemplateForFormat(Y, R) ? (ie.chosenFormat = Y, 0) : (ie.matchingFormats = ie.matchingFormats.filter(function(H) {
                                        return H !== Y
                                    }), 1) : 1
                                }, Wt = li(this.matchingFormats.slice()); !(en = Wt()).done && 0 !== rt(););
                            return this.chosenFormat || this.resetFormat(), this.chosenFormat
                        }
                    }, {
                        key: "createTemplateForFormat",
                        value: function(R, ie) {
                            if (!(R.pattern().indexOf("|") >= 0)) {
                                var rt = this.getTemplateForFormat(R, ie);
                                if (rt) return this.setNationalNumberTemplate(rt, ie), !0
                            }
                        }
                    }, {
                        key: "getSeparatorAfterNationalPrefix",
                        value: function(R) {
                            return this.isNANP || R && R.nationalPrefixFormattingRule() && us.test(R.nationalPrefixFormattingRule()) ? " " : ""
                        }
                    }, {
                        key: "getInternationalPrefixBeforeCountryCallingCode",
                        value: function(R, ie) {
                            var rt = R.IDDPrefix;
                            return rt ? ie && !1 === ie.spacing ? rt : rt + " " : R.missingPlus ? "" : "+"
                        }
                    }, {
                        key: "getTemplate",
                        value: function(R) {
                            if (this.template) {
                                for (var ie = -1, rt = 0, gt = R.international ? this.getInternationalPrefixBeforeCountryCallingCode(R, {
                                        spacing: !1
                                    }) : ""; rt < gt.length + R.getDigitsWithoutInternationalPrefix().length;) ie = this.template.indexOf(re, ie + 1), rt++;
                                return Xt(this.template, ie + 1)
                            }
                        }
                    }, {
                        key: "setNationalNumberTemplate",
                        value: function(R, ie) {
                            this.nationalNumberTemplate = R, this.populatedNationalNumberTemplate = R, this.populatedNationalNumberTemplatePosition = -1, this.template = ie.international ? this.getInternationalPrefixBeforeCountryCallingCode(ie).replace(/[\d\+]/g, re) + Dt(re, ie.callingCode.length) + " " + R : R
                        }
                    }, {
                        key: "getTemplateForFormat",
                        value: function(R, ie) {
                            var rt = ie.nationalSignificantNumber,
                                gt = ie.international,
                                Wt = ie.nationalPrefix,
                                en = ie.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix,
                                X = R.pattern();
                            X = X.replace(/\[([^\[\]])*\]/g, "\\d").replace(/\d(?=[^,}][^,}])/g, "\\d");
                            var Y = Rs.match(X)[0];
                            if (!(rt.length > Y.length)) {
                                var H = new RegExp("^" + X + "$"),
                                    Ie = rt.replace(/\d/g, "9");
                                H.test(Ie) && (Y = Ie);
                                var An, It = this.getFormatFormat(R, gt);
                                if (this.shouldTryNationalPrefixFormattingRule(R, {
                                        international: gt,
                                        nationalPrefix: Wt
                                    })) {
                                    var nr = It.replace(_n, R.nationalPrefixFormattingRule());
                                    if (Ue(R.nationalPrefixFormattingRule()) === (Wt || "") + Ue("$1") && (It = nr, An = !0, Wt))
                                        for (var no = Wt.length; no > 0;) It = It.replace(/\d/, re), no--
                                }
                                var Ci = Y.replace(new RegExp(X), It).replace(new RegExp("9", "g"), re);
                                return An || (en ? Ci = Dt(re, en.length) + " " + Ci : Wt && (Ci = Dt(re, Wt.length) + this.getSeparatorAfterNationalPrefix(R) + Ci)), gt && (Ci = Lt(Ci)), Ci
                            }
                        }
                    }, {
                        key: "formatNextNationalNumberDigits",
                        value: function(R) {
                            var ie = function Kr(L, ee, R) {
                                for (var rt, ie = function Fr(L, ee) {
                                        var R = typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                                        if (R) return (R = R.call(L)).next.bind(R);
                                        if (Array.isArray(L) || (R = function nt(L, ee) {
                                                if (L) {
                                                    if ("string" == typeof L) return Ee(L, ee);
                                                    var R = {}.toString.call(L).slice(8, -1);
                                                    return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? Ee(L, ee) : void 0
                                                }
                                            }(L)) || ee && L && "number" == typeof L.length) {
                                            R && (L = R);
                                            var ie = 0;
                                            return function() {
                                                return ie >= L.length ? {
                                                    done: !0
                                                } : {
                                                    done: !1,
                                                    value: L[ie++]
                                                }
                                            }
                                        }
                                        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
                                    }(R.split("")); !(rt = ie()).done;) {
                                    var gt = rt.value;
                                    if (L.slice(ee + 1).search(ae) < 0) return;
                                    ee = L.search(ae), L = L.replace(ae, gt)
                                }
                                return [L, ee]
                            }(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, R);
                            if (ie) return this.populatedNationalNumberTemplate = ie[0], this.populatedNationalNumberTemplatePosition = ie[1], Xt(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1);
                            this.resetFormat()
                        }
                    }, {
                        key: "shouldTryNationalPrefixFormattingRule",
                        value: function(R, ie) {
                            var rt = ie.international,
                                gt = ie.nationalPrefix;
                            if (R.nationalPrefixFormattingRule()) {
                                var Wt = R.usesNationalPrefix();
                                if (Wt && gt || !Wt && !rt) return !0
                            }
                        }
                    }])
                }();

            function jo(L) {
                return (jo = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(ee) {
                    return typeof ee
                } : function(ee) {
                    return ee && "function" == typeof Symbol && ee.constructor === Symbol && ee !== Symbol.prototype ? "symbol" : typeof ee
                })(L)
            }

            function Ni(L, ee) {
                return function Ls(L) {
                    if (Array.isArray(L)) return L
                }(L) || function fs(L, ee) {
                    var R = null == L ? null : typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                    if (null != R) {
                        var ie, rt, gt, Wt, en = [],
                            X = !0,
                            Y = !1;
                        try {
                            if (gt = (R = R.call(L)).next, 0 === ee) {
                                if (Object(R) !== R) return;
                                X = !1
                            } else
                                for (; !(X = (ie = gt.call(R)).done) && (en.push(ie.value), en.length !== ee); X = !0);
                        } catch (H) {
                            Y = !0, rt = H
                        } finally {
                            try {
                                if (!X && null != R.return && (Wt = R.return(), Object(Wt) !== Wt)) return
                            } finally {
                                if (Y) throw rt
                            }
                        }
                        return en
                    }
                }(L, ee) || function Vr(L, ee) {
                    if (L) {
                        if ("string" == typeof L) return ks(L, ee);
                        var R = {}.toString.call(L).slice(8, -1);
                        return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? ks(L, ee) : void 0
                    }
                }(L, ee) || function ii() {
                    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
                }()
            }

            function ks(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }

            function ia(L, ee) {
                for (var R = 0; R < ee.length; R++) {
                    var ie = ee[R];
                    ie.enumerable = ie.enumerable || !1, ie.configurable = !0, "value" in ie && (ie.writable = !0), Object.defineProperty(L, Xo(ie.key), ie)
                }
            }

            function Xo(L) {
                var ee = function oa(L, ee) {
                    if ("object" != jo(L) || !L) return L;
                    var R = L[Symbol.toPrimitive];
                    if (void 0 !== R) {
                        var ie = R.call(L, ee || "default");
                        if ("object" != jo(ie)) return ie;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === ee ? String : Number)(L)
                }(L, "string");
                return "symbol" == jo(ee) ? ee : ee + ""
            }
            var ps = new RegExp("^[" + He + we + "]+$", "i"),
                _a = "(?:[+\uff0b][" + He + we + "]*|[" + He + we + "]+)",
                xi = new RegExp("[^" + He + we + "]+.*$"),
                Aa = /[^\d\[\]]/,
                xo = function() {
                    return function Bi(L, ee, R) {
                        return ee && ia(L.prototype, ee), R && ia(L, R), Object.defineProperty(L, "prototype", {
                            writable: !1
                        }), L
                    }(function L(ee) {
                        var R = ee.defaultCountry,
                            ie = ee.defaultCallingCode,
                            rt = ee.metadata,
                            gt = ee.onNationalSignificantNumberChange;
                        (function Ts(L, ee) {
                            if (!(L instanceof ee)) throw new TypeError("Cannot call a class as a function")
                        })(this, L), this.defaultCountry = R, this.defaultCallingCode = ie, this.metadata = rt, this.onNationalSignificantNumberChange = gt
                    }, [{
                        key: "input",
                        value: function(R, ie) {
                            var Y, rt = function va(L) {
                                    var R = Ni(function so(L) {
                                            var ee = function $s(L) {
                                                var R, ee = L.search(_a);
                                                if (!(ee < 0)) return "+" === (L = L.slice(ee))[0] && (R = !0, L = L.slice(1)), L = L.replace(xi, ""), R && (L = "+" + L), L
                                            }(L) || "";
                                            return "+" === ee[0] ? [ee.slice(1), !0] : [ee]
                                        }(L), 2),
                                        ie = R[0],
                                        rt = R[1];
                                    return ps.test(ie) || (ie = ""), [ie, rt]
                                }(R),
                                gt = Ni(rt, 2),
                                en = gt[1],
                                X = Ue(gt[0]);
                            return en && (ie.digits || (ie.startInternationalNumber(void 0, void 0), X || (Y = !0))), X && this.inputDigits(X, ie), {
                                digits: X,
                                justLeadingPlus: Y
                            }
                        }
                    }, {
                        key: "inputDigits",
                        value: function(R, ie) {
                            var rt = ie.digits,
                                gt = rt.length < 3 && rt.length + R.length >= 3;
                            if (ie.appendDigits(R), gt && this.extractIddPrefix(ie), this.isWaitingForCountryCallingCode(ie)) {
                                if (!this.extractCountryCallingCode(ie)) return
                            } else ie.appendNationalSignificantNumberDigits(R);
                            ie.international || this.hasExtractedNationalSignificantNumber || this.extractNationalSignificantNumber(ie.getNationalDigits(), function(Wt) {
                                return ie.update(Wt)
                            })
                        }
                    }, {
                        key: "isWaitingForCountryCallingCode",
                        value: function(R) {
                            return R.international && !R.callingCode
                        }
                    }, {
                        key: "extractCountryCallingCode",
                        value: function(R) {
                            var ie = Ge("+" + R.getDigitsWithoutInternationalPrefix(), R.country, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),
                                rt = ie.countryCallingCode,
                                gt = ie.number;
                            if (rt) return R.setCallingCode(rt), R.update({
                                nationalSignificantNumber: gt
                            }), !0
                        }
                    }, {
                        key: "reset",
                        value: function(R) {
                            if (R) {
                                this.hasSelectedNumberingPlan = !0;
                                var ie = R._nationalPrefixForParsing();
                                this.couldPossiblyExtractAnotherNationalSignificantNumber = ie && Aa.test(ie)
                            } else this.hasSelectedNumberingPlan = void 0, this.couldPossiblyExtractAnotherNationalSignificantNumber = void 0
                        }
                    }, {
                        key: "extractNationalSignificantNumber",
                        value: function(R, ie) {
                            if (this.hasSelectedNumberingPlan) {
                                var rt = Ct(R, this.metadata),
                                    Wt = rt.nationalNumber;
                                if (Wt !== R) return this.onExtractedNationalNumber(rt.nationalPrefix, rt.carrierCode, Wt, R, ie), !0
                            }
                        }
                    }, {
                        key: "extractAnotherNationalSignificantNumber",
                        value: function(R, ie, rt) {
                            if (!this.hasExtractedNationalSignificantNumber) return this.extractNationalSignificantNumber(R, rt);
                            if (this.couldPossiblyExtractAnotherNationalSignificantNumber) {
                                var gt = Ct(R, this.metadata),
                                    en = gt.nationalNumber;
                                if (en !== ie) return this.onExtractedNationalNumber(gt.nationalPrefix, gt.carrierCode, en, R, rt), !0
                            }
                        }
                    }, {
                        key: "onExtractedNationalNumber",
                        value: function(R, ie, rt, gt, Wt) {
                            var X, en = !1,
                                Y = gt.lastIndexOf(rt);
                            if (Y < 0 || Y !== gt.length - rt.length) en = !0;
                            else {
                                var H = gt.slice(0, Y);
                                H && H !== R && (X = H)
                            }
                            Wt({
                                nationalPrefix: R,
                                carrierCode: ie,
                                nationalSignificantNumber: rt,
                                nationalSignificantNumberIsModified: en,
                                prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix: X
                            }), this.hasExtractedNationalSignificantNumber = !0, this.onNationalSignificantNumberChange()
                        }
                    }, {
                        key: "reExtractNationalSignificantNumber",
                        value: function(R) {
                            return !!this.extractAnotherNationalSignificantNumber(R.getNationalDigits(), R.nationalSignificantNumber, function(ie) {
                                return R.update(ie)
                            }) || (this.extractIddPrefix(R) || this.fixMissingPlus(R) ? (this.extractCallingCodeAndNationalSignificantNumber(R), !0) : void 0)
                        }
                    }, {
                        key: "extractIddPrefix",
                        value: function(R) {
                            var gt = R.digits;
                            if (!R.international && !R.IDDPrefix) {
                                var en = St(gt, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);
                                if (void 0 !== en && en !== gt) return R.update({
                                    IDDPrefix: gt.slice(0, gt.length - en.length)
                                }), this.startInternationalNumber(R, {
                                    country: void 0,
                                    callingCode: void 0
                                }), !0
                            }
                        }
                    }, {
                        key: "fixMissingPlus",
                        value: function(R) {
                            if (!R.international) {
                                var rt = Qt(R.digits, R.country, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata).countryCallingCode;
                                if (rt) return R.update({
                                    missingPlus: !0
                                }), this.startInternationalNumber(R, {
                                    country: R.country,
                                    callingCode: rt
                                }), !0
                            }
                        }
                    }, {
                        key: "startInternationalNumber",
                        value: function(R, ie) {
                            R.startInternationalNumber(ie.country, ie.callingCode), R.nationalSignificantNumber && (R.resetNationalSignificantNumber(), this.onNationalSignificantNumberChange(), this.hasExtractedNationalSignificantNumber = void 0)
                        }
                    }, {
                        key: "extractCallingCodeAndNationalSignificantNumber",
                        value: function(R) {
                            this.extractCountryCallingCode(R) && this.extractNationalSignificantNumber(R.getNationalDigits(), function(ie) {
                                return R.update(ie)
                            })
                        }
                    }])
                }();

            function Mo(L) {
                return (Mo = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(ee) {
                    return typeof ee
                } : function(ee) {
                    return ee && "function" == typeof Symbol && ee.constructor === Symbol && ee !== Symbol.prototype ? "symbol" : typeof ee
                })(L)
            }

            function So(L, ee) {
                (null == ee || ee > L.length) && (ee = L.length);
                for (var R = 0, ie = Array(ee); R < ee; R++) ie[R] = L[R];
                return ie
            }

            function lo(L, ee) {
                for (var R = 0; R < ee.length; R++) {
                    var ie = ee[R];
                    ie.enumerable = ie.enumerable || !1, ie.configurable = !0, "value" in ie && (ie.writable = !0), Object.defineProperty(L, sa(ie.key), ie)
                }
            }

            function sa(L) {
                var ee = function ti(L, ee) {
                    if ("object" != Mo(L) || !L) return L;
                    var R = L[Symbol.toPrimitive];
                    if (void 0 !== R) {
                        var ie = R.call(L, ee || "default");
                        if ("object" != Mo(ie)) return ie;
                        throw new TypeError("@@toPrimitive must return a primitive value.")
                    }
                    return ("string" === ee ? String : Number)(L)
                }(L, "string");
                return "symbol" == Mo(ee) ? ee : ee + ""
            }
            var ya = function() {
                return function qn(L, ee, R) {
                    return ee && lo(L.prototype, ee), R && lo(L, R), Object.defineProperty(L, "prototype", {
                        writable: !1
                    }), L
                }(function L(ee, R) {
                    (function Oi(L, ee) {
                        if (!(L instanceof ee)) throw new TypeError("Cannot call a class as a function")
                    })(this, L), this.metadata = new r.ZP(R);
                    var rt = function hs(L, ee) {
                            return function ao(L) {
                                if (Array.isArray(L)) return L
                            }(L) || function ci(L, ee) {
                                var R = null == L ? null : typeof Symbol < "u" && L[Symbol.iterator] || L["@@iterator"];
                                if (null != R) {
                                    var ie, rt, gt, Wt, en = [],
                                        X = !0,
                                        Y = !1;
                                    try {
                                        if (gt = (R = R.call(L)).next, 0 === ee) {
                                            if (Object(R) !== R) return;
                                            X = !1
                                        } else
                                            for (; !(X = (ie = gt.call(R)).done) && (en.push(ie.value), en.length !== ee); X = !0);
                                    } catch (H) {
                                        Y = !0, rt = H
                                    } finally {
                                        try {
                                            if (!X && null != R.return && (Wt = R.return(), Object(Wt) !== Wt)) return
                                        } finally {
                                            if (Y) throw rt
                                        }
                                    }
                                    return en
                                }
                            }(L, ee) || function Ri(L, ee) {
                                if (L) {
                                    if ("string" == typeof L) return So(L, ee);
                                    var R = {}.toString.call(L).slice(8, -1);
                                    return "Object" === R && L.constructor && (R = L.constructor.name), "Map" === R || "Set" === R ? Array.from(L) : "Arguments" === R || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R) ? So(L, ee) : void 0
                                }
                            }(L, ee) || function Ti() {
                                throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
                            }()
                        }(this.getCountryAndCallingCode(ee), 2),
                        Wt = rt[1];
                    this.defaultCountry = rt[0], this.defaultCallingCode = Wt, this.reset()
                }, [{
                    key: "getCountryAndCallingCode",
                    value: function(R) {
                        var ie, rt;
                        return R && ((0, mt.Z)(R) ? (ie = R.defaultCountry, rt = R.defaultCallingCode) : ie = R), ie && !this.metadata.hasCountry(ie) && (ie = void 0), [ie, rt]
                    }
                }, {
                    key: "input",
                    value: function(R) {
                        var ie = this.parser.input(R, this.state),
                            rt = ie.digits;
                        if (ie.justLeadingPlus) this.formattedOutput = "+";
                        else if (rt) {
                            var Wt;
                            if (this.determineTheCountryIfNeeded(), this.state.nationalSignificantNumber && this.formatter.narrowDownMatchingFormats(this.state), this.metadata.hasSelectedNumberingPlan() && (Wt = this.formatter.format(rt, this.state)), void 0 === Wt && this.parser.reExtractNationalSignificantNumber(this.state)) {
                                this.determineTheCountryIfNeeded();
                                var en = this.state.getNationalDigits();
                                en && (Wt = this.formatter.format(en, this.state))
                            }
                            this.formattedOutput = Wt ? this.getFullNumber(Wt) : this.getNonFormattedNumber()
                        }
                        return this.formattedOutput
                    }
                }, {
                    key: "reset",
                    value: function() {
                        var R = this;
                        return this.state = new zr({
                            onCountryChange: function(rt) {
                                R.country = rt
                            },
                            onCallingCodeChange: function(rt, gt) {
                                R.metadata.selectNumberingPlan(gt, rt), R.formatter.reset(R.metadata.numberingPlan, R.state), R.parser.reset(R.metadata.numberingPlan)
                            }
                        }), this.formatter = new ds({
                            state: this.state,
                            metadata: this.metadata
                        }), this.parser = new xo({
                            defaultCountry: this.defaultCountry,
                            defaultCallingCode: this.defaultCallingCode,
                            metadata: this.metadata,
                            state: this.state,
                            onNationalSignificantNumberChange: function() {
                                R.determineTheCountryIfNeeded(), R.formatter.reset(R.metadata.numberingPlan, R.state)
                            }
                        }), this.state.reset({
                            country: this.defaultCountry,
                            callingCode: this.defaultCallingCode
                        }), this.formattedOutput = "", this
                    }
                }, {
                    key: "isInternational",
                    value: function() {
                        return this.state.international
                    }
                }, {
                    key: "getCallingCode",
                    value: function() {
                        if (this.isInternational()) return this.state.callingCode
                    }
                }, {
                    key: "getCountryCallingCode",
                    value: function() {
                        return this.getCallingCode()
                    }
                }, {
                    key: "getCountry",
                    value: function() {
                        if (this.state.digits) return this._getCountry()
                    }
                }, {
                    key: "_getCountry",
                    value: function() {
                        return this.state.country
                    }
                }, {
                    key: "determineTheCountryIfNeeded",
                    value: function() {
                        (!this.state.country || this.isCountryCallingCodeAmbiguous()) && this.determineTheCountry()
                    }
                }, {
                    key: "getFullNumber",
                    value: function(R) {
                        var en;
                        if (this.isInternational()) {
                            var gt = this.state.callingCode;
                            return en = gt ? R ? "".concat(gt, " ").concat(R) : gt : "".concat(this.state.getDigitsWithoutInternationalPrefix()), this.formatter.getInternationalPrefixBeforeCountryCallingCode(this.state, {
                                spacing: !!en
                            }) + en
                        }
                        return R
                    }
                }, {
                    key: "getNonFormattedNationalNumberWithPrefix",
                    value: function() {
                        var R = this.state,
                            Wt = R.nationalSignificantNumber,
                            en = R.prefixBeforeNationalSignificantNumberThatIsNotNationalPrefix || R.nationalPrefix;
                        return en && (Wt = en + Wt), Wt
                    }
                }, {
                    key: "getNonFormattedNumber",
                    value: function() {
                        return this.getFullNumber(this.state.nationalSignificantNumberIsModified ? this.state.getNationalDigits() : this.getNonFormattedNationalNumberWithPrefix())
                    }
                }, {
                    key: "getNonFormattedTemplate",
                    value: function() {
                        var R = this.getNonFormattedNumber();
                        if (R) return R.replace(/[\+\d]/g, re)
                    }
                }, {
                    key: "isCountryCallingCodeAmbiguous",
                    value: function() {
                        var ie = this.metadata.getCountryCodesForCallingCode(this.state.callingCode);
                        return ie && ie.length > 1
                    }
                }, {
                    key: "determineTheCountry",
                    value: function() {
                        this.state.setCountry(Fe(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, {
                            nationalNumber: this.state.nationalSignificantNumber,
                            metadata: this.metadata
                        }))
                    }
                }, {
                    key: "getNumberValue",
                    value: function() {
                        var R = this.state,
                            ie = R.digits,
                            rt = R.callingCode,
                            gt = R.country,
                            Wt = R.nationalSignificantNumber;
                        if (ie) {
                            if (this.isInternational()) return rt ? "+" + rt + Wt : "+" + ie;
                            if (gt || rt) return "+" + (gt ? this.metadata.countryCallingCode() : rt) + Wt
                        }
                    }
                }, {
                    key: "getNumber",
                    value: function() {
                        var R = this.state,
                            ie = R.nationalSignificantNumber,
                            rt = R.carrierCode,
                            gt = R.callingCode,
                            Wt = this._getCountry();
                        if (ie && (Wt || gt)) {
                            if (Wt && Wt === this.defaultCountry) {
                                var en = new r.ZP(this.metadata.metadata);
                                en.selectNumberingPlan(Wt);
                                var X = en.numberingPlan.callingCode(),
                                    Y = this.metadata.getCountryCodesForCallingCode(X);
                                if (Y.length > 1) {
                                    var H = J(ie, {
                                        countries: Y,
                                        metadata: this.metadata.metadata
                                    });
                                    H && (Wt = H)
                                }
                            }
                            var Ie = new Si(Wt || gt, ie, this.metadata.metadata);
                            return rt && (Ie.carrierCode = rt), Ie
                        }
                    }
                }, {
                    key: "isPossible",
                    value: function() {
                        var R = this.getNumber();
                        return !!R && R.isPossible()
                    }
                }, {
                    key: "isValid",
                    value: function() {
                        var R = this.getNumber();
                        return !!R && R.isValid()
                    }
                }, {
                    key: "getNationalNumber",
                    value: function() {
                        return this.state.nationalSignificantNumber
                    }
                }, {
                    key: "getChars",
                    value: function() {
                        return (this.state.international ? "+" : "") + this.state.digits
                    }
                }, {
                    key: "getTemplate",
                    value: function() {
                        return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || ""
                    }
                }])
            }();

            function Zo(L) {
                return ya.call(this, L, t.Z)
            }(Zo.prototype = Object.create(ya.prototype, {})).constructor = Zo
        },
        137: (Re, he, _) => {
            "use strict";
            _.d(he, {
                fx: () => k
            });
            var t = _(4650),
                r = _(6895),
                U = _(8816);
            let k = (() => {
                class B {
                    static forRoot() {
                        return {
                            ngModule: B,
                            providers: []
                        }
                    }
                }
                return B.\u0275fac = function(oe) {
                    return new(oe || B)
                }, B.\u0275mod = t.oAB({
                    type: B
                }), B.\u0275inj = t.cJS({
                    imports: [r.ez, U.f]
                }), B
            })()
        },
        835: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Fq: () => K
            });
            var t = _(4650),
                r = _(4006);
            const U = {
                provide: r.JU,
                useExisting: (0, t.Gpc)(() => C),
                multi: !0
            };
            let C = (() => {
                class G {
                    constructor() {
                        this.btnCheckboxTrue = !0, this.btnCheckboxFalse = !1, this.state = !1, this.isDisabled = !1, this.onChange = Function.prototype, this.onTouched = Function.prototype
                    }
                    onClick() {
                        this.isDisabled || (this.toggle(!this.state), this.onChange(this.value))
                    }
                    ngOnInit() {
                        this.toggle(this.trueValue === this.value)
                    }
                    get trueValue() {
                        return !(typeof this.btnCheckboxTrue < "u") || this.btnCheckboxTrue
                    }
                    get falseValue() {
                        return typeof this.btnCheckboxFalse < "u" && this.btnCheckboxFalse
                    }
                    toggle(k) {
                        this.state = k, this.value = this.state ? this.trueValue : this.falseValue
                    }
                    writeValue(k) {
                        this.state = this.trueValue === k, this.value = k ? this.trueValue : this.falseValue
                    }
                    setDisabledState(k) {
                        this.isDisabled = k
                    }
                    registerOnChange(k) {
                        this.onChange = k
                    }
                    registerOnTouched(k) {
                        this.onTouched = k
                    }
                }
                return G.\u0275fac = function(k) {
                    return new(k || G)
                }, G.\u0275dir = t.lG2({
                    type: G,
                    selectors: [
                        ["", "btnCheckbox", ""]
                    ],
                    hostVars: 3,
                    hostBindings: function(k, B) {
                        1 & k && t.NdJ("click", function() {
                            return B.onClick()
                        }), 2 & k && (t.uIk("aria-pressed", B.state), t.ekj("active", B.state))
                    },
                    inputs: {
                        btnCheckboxTrue: "btnCheckboxTrue",
                        btnCheckboxFalse: "btnCheckboxFalse"
                    },
                    features: [t._Bn([U])]
                }), G
            })();
            const x = {
                provide: r.JU,
                useExisting: (0, t.Gpc)(() => V),
                multi: !0
            };
            let V = (() => {
                class G {
                    constructor(k, B, le, oe) {
                        this.el = k, this.cdr = B, this.renderer = le, this.group = oe, this.onChange = Function.prototype, this.onTouched = Function.prototype, this.uncheckable = !1, this.role = "radio", this._disabled = !1, this._hasFocus = !1
                    }
                    get value() {
                        return this.group ? this.group.value : this._value
                    }
                    set value(k) {
                        this.group ? this.group.value = k : (this._value = k, this._onChange(k))
                    }
                    get disabled() {
                        return this._disabled
                    }
                    set disabled(k) {
                        this.setDisabledState(k)
                    }
                    get controlOrGroupDisabled() {
                        return !!(this.disabled || this.group && this.group.disabled) || void 0
                    }
                    get hasDisabledClass() {
                        return this.controlOrGroupDisabled && !this.isActive
                    }
                    get isActive() {
                        return this.btnRadio === this.value
                    }
                    get tabindex() {
                        if (!this.controlOrGroupDisabled) return this.isActive || null == this.group ? 0 : -1
                    }
                    get hasFocus() {
                        return this._hasFocus
                    }
                    toggleIfAllowed() {
                        !this.canToggle() || (this.value = this.uncheckable && this.btnRadio === this.value ? void 0 : this.btnRadio)
                    }
                    onSpacePressed(k) {
                        this.toggleIfAllowed(), k.preventDefault()
                    }
                    focus() {
                        this.el.nativeElement.focus()
                    }
                    onFocus() {
                        this._hasFocus = !0
                    }
                    onBlur() {
                        this._hasFocus = !1, this.onTouched()
                    }
                    canToggle() {
                        return !this.controlOrGroupDisabled && (this.uncheckable || this.btnRadio !== this.value)
                    }
                    ngOnChanges(k) {
                        "uncheckable" in k && (this.uncheckable = !1 !== this.uncheckable && typeof this.uncheckable < "u")
                    }
                    _onChange(k) {
                        this.group ? this.group.value = k : (this.onTouched(), this.onChange(k))
                    }
                    writeValue(k) {
                        this.value = k, this.cdr.markForCheck()
                    }
                    registerOnChange(k) {
                        this.onChange = k
                    }
                    registerOnTouched(k) {
                        this.onTouched = k
                    }
                    setDisabledState(k) {
                        this._disabled = k, k ? this.renderer.setAttribute(this.el.nativeElement, "disabled", "disabled") : this.renderer.removeAttribute(this.el.nativeElement, "disabled")
                    }
                }
                return G.\u0275fac = function(k) {
                    return new(k || G)(t.Y36(t.SBq), t.Y36(t.sBO), t.Y36(t.Qsj), t.Y36((0, t.Gpc)(() => $), 8))
                }, G.\u0275dir = t.lG2({
                    type: G,
                    selectors: [
                        ["", "btnRadio", ""]
                    ],
                    hostVars: 8,
                    hostBindings: function(k, B) {
                        1 & k && t.NdJ("click", function() {
                            return B.toggleIfAllowed()
                        })("keydown.space", function(oe) {
                            return B.onSpacePressed(oe)
                        })("focus", function() {
                            return B.onFocus()
                        })("blur", function() {
                            return B.onBlur()
                        }), 2 & k && (t.uIk("aria-disabled", B.controlOrGroupDisabled)("aria-checked", B.isActive)("role", B.role)("tabindex", B.tabindex), t.ekj("disabled", B.hasDisabledClass)("active", B.isActive))
                    },
                    inputs: {
                        btnRadio: "btnRadio",
                        uncheckable: "uncheckable",
                        value: "value",
                        disabled: "disabled"
                    },
                    features: [t._Bn([x]), t.TTD]
                }), G
            })();
            const P = {
                provide: r.JU,
                useExisting: (0, t.Gpc)(() => $),
                multi: !0
            };
            let $ = (() => {
                    class G {
                        constructor(k) {
                            this.cdr = k, this.onChange = Function.prototype, this.onTouched = Function.prototype, this.role = "radiogroup", this._disabled = !1
                        }
                        get value() {
                            return this._value
                        }
                        set value(k) {
                            this._value = k, this.onChange(k)
                        }
                        get disabled() {
                            return this._disabled
                        }
                        get tabindex() {
                            return this._disabled ? null : 0
                        }
                        writeValue(k) {
                            this._value = k, this.cdr.markForCheck()
                        }
                        registerOnChange(k) {
                            this.onChange = k
                        }
                        registerOnTouched(k) {
                            this.onTouched = k
                        }
                        setDisabledState(k) {
                            this.radioButtons && (this._disabled = k, this.radioButtons.forEach(B => {
                                B.setDisabledState(k)
                            }), this.cdr.markForCheck())
                        }
                        onFocus() {
                            if (this._disabled) return;
                            const k = this.getActiveOrFocusedRadio();
                            if (k) k.focus();
                            else if (this.radioButtons) {
                                const B = this.radioButtons.find(le => !le.disabled);
                                B && B.focus()
                            }
                        }
                        onBlur() {
                            this.onTouched && this.onTouched()
                        }
                        selectNext(k) {
                            this.selectInDirection("next"), k.preventDefault()
                        }
                        selectPrevious(k) {
                            this.selectInDirection("previous"), k.preventDefault()
                        }
                        selectInDirection(k) {
                            if (this._disabled) return;

                            function B(oe, Te) {
                                let ce = (oe + ("next" === k ? 1 : -1)) % Te.length;
                                return ce < 0 && (ce = Te.length - 1), ce
                            }
                            const le = this.getActiveOrFocusedRadio();
                            if (le && this.radioButtons) {
                                const oe = this.radioButtons.toArray(),
                                    Te = oe.indexOf(le);
                                for (let Ae = B(Te, oe); Ae !== Te; Ae = B(Ae, oe))
                                    if (oe[Ae].canToggle()) {
                                        oe[Ae].toggleIfAllowed(), oe[Ae].focus();
                                        break
                                    }
                            }
                        }
                        getActiveOrFocusedRadio() {
                            if (this.radioButtons) return this.radioButtons.find(k => k.isActive) || this.radioButtons.find(k => k.hasFocus)
                        }
                    }
                    return G.\u0275fac = function(k) {
                        return new(k || G)(t.Y36(t.sBO))
                    }, G.\u0275dir = t.lG2({
                        type: G,
                        selectors: [
                            ["", "btnRadioGroup", ""]
                        ],
                        contentQueries: function(k, B, le) {
                            if (1 & k && t.Suo(le, V, 4), 2 & k) {
                                let oe;
                                t.iGM(oe = t.CRH()) && (B.radioButtons = oe)
                            }
                        },
                        hostVars: 2,
                        hostBindings: function(k, B) {
                            1 & k && t.NdJ("focus", function() {
                                return B.onFocus()
                            })("blur", function() {
                                return B.onBlur()
                            })("keydown.ArrowRight", function(oe) {
                                return B.selectNext(oe)
                            })("keydown.ArrowDown", function(oe) {
                                return B.selectNext(oe)
                            })("keydown.ArrowLeft", function(oe) {
                                return B.selectPrevious(oe)
                            })("keydown.ArrowUp", function(oe) {
                                return B.selectPrevious(oe)
                            }), 2 & k && t.uIk("role", B.role)("tabindex", B.tabindex)
                        },
                        features: [t._Bn([P])]
                    }), G
                })(),
                K = (() => {
                    class G {
                        static forRoot() {
                            return {
                                ngModule: G,
                                providers: []
                            }
                        }
                    }
                    return G.\u0275fac = function(k) {
                        return new(k || G)
                    }, G.\u0275mod = t.oAB({
                        type: G
                    }), G.\u0275inj = t.cJS({}), G
                })()
        },
        371: (Re, he, _) => {
            "use strict";
            _.d(he, {
                bB: () => je
            });
            var t = _(4650),
                r = _(6895);
            let je = (() => {
                class me {
                    static forRoot() {
                        return {
                            ngModule: me,
                            providers: []
                        }
                    }
                }
                return me.\u0275fac = function(_e) {
                    return new(_e || me)
                }, me.\u0275mod = t.oAB({
                    type: me
                }), me.\u0275inj = t.cJS({
                    imports: [r.ez]
                }), me
            })()
        },
        8816: (Re, he, _) => {
            "use strict";
            _.d(he, {
                f: () => P
            });
            var t = _(7340),
                r = _(4650);
            const U = "400ms cubic-bezier(0.4,0.0,0.2,1)";
            (0, t.oB)({
                height: 0,
                visibility: "hidden"
            }), (0, t.jt)(U, (0, t.oB)({
                height: "*",
                visibility: "visible"
            })), (0, t.oB)({
                height: "*",
                visibility: "visible"
            }), (0, t.jt)(U, (0, t.oB)({
                height: 0,
                visibility: "hidden"
            }));
            let P = (() => {
                class $ {
                    static forRoot() {
                        return {
                            ngModule: $,
                            providers: []
                        }
                    }
                }
                return $.\u0275fac = function(G) {
                    return new(G || $)
                }, $.\u0275mod = r.oAB({
                    type: $
                }), $.\u0275inj = r.cJS({}), $
            })()
        },
        3044: (Re, he, _) => {
            "use strict";
            _.d(he, {
                TO: () => Tn,
                Hz: () => Lr,
                mr: () => ji,
                Mq: () => bi
            });
            var t = _(4650),
                r = _(9300);
            class U {
                constructor(Ue, Le) {
                    this.open = Ue, this.close = Le || Ue
                }
                isManual() {
                    return "manual" === this.open || "manual" === this.close
                }
            }
            const C = {
                hover: ["mouseover", "mouseout"],
                focus: ["focusin", "focusout"]
            };
            const G = typeof window < "u" && window || {};
            let _e;

            function we() {
                if (typeof G.document > "u") return "bs4";
                const ye = G.document.createElement("span");
                ye.innerText = "testing bs version", ye.classList.add("d-none"), ye.classList.add("pl-1"), G.document.head.appendChild(ye);
                const Ue = ye.getBoundingClientRect(),
                    Le = G.getComputedStyle(ye).paddingLeft;
                return !Ue || Ue && 0 !== Ue.top ? (G.document.head.removeChild(ye), "bs3") : Le && parseFloat(Le) ? (G.document.head.removeChild(ye), "bs4") : (G.document.head.removeChild(ye), "bs5")
            }

            function Je() {
                return typeof G > "u" || (typeof G.__theme > "u" ? (_e || (_e = we()), "bs3" === _e) : "bs3" === G.__theme)
            }

            function ue() {
                return !Je() && (_e || (_e = we()), "bs4" === _e)
            }

            function Ke() {
                return {
                    isBs3: Je(),
                    isBs4: ue(),
                    isBs5: !Je() && !ue() && (_e || (_e = we()), "bs5" === _e)
                }
            }
            typeof console > "u" || console;
            var Pe = _(6895),
                De = _(7579),
                J = _(6451),
                fe = _(4968),
                Fe = _(9646),
                at = _(6406),
                ct = (() => {
                    return (ye = ct || (ct = {})).top = "top", ye.bottom = "bottom", ye.left = "left", ye.right = "right", ye.auto = "auto", ye.end = "right", ye.start = "left", ye["top left"] = "top left", ye["top right"] = "top right", ye["right top"] = "right top", ye["right bottom"] = "right bottom", ye["bottom right"] = "bottom right", ye["bottom left"] = "bottom left", ye["left bottom"] = "left bottom", ye["left top"] = "left top", ye["top start"] = "top left", ye["top end"] = "top right", ye["end top"] = "right top", ye["end bottom"] = "right bottom", ye["bottom end"] = "bottom right", ye["bottom start"] = "bottom left", ye["start bottom"] = "start bottom", ye["start top"] = "left top", ct;
                    var ye
                })(),
                vt = (() => {
                    return (ye = vt || (vt = {})).top = "top", ye.bottom = "bottom", ye.left = "start", ye.right = "end", ye.auto = "auto", ye.end = "end", ye.start = "start", ye["top left"] = "top start", ye["top right"] = "top end", ye["right top"] = "end top", ye["right bottom"] = "end bottom", ye["bottom right"] = "bottom end", ye["bottom left"] = "bottom start", ye["left bottom"] = "start bottom", ye["left top"] = "start top", ye["top start"] = "top start", ye["top end"] = "top end", ye["end top"] = "end top", ye["end bottom"] = "end bottom", ye["bottom end"] = "bottom end", ye["bottom start"] = "bottom start", ye["start bottom"] = "start bottom", ye["start top"] = "start top", vt;
                    var ye
                })();

            function Qt(ye, Ue) {
                if (1 !== ye.nodeType) return [];
                const ot = ye.ownerDocument.defaultView ? .getComputedStyle(ye, null);
                return Ue ? ot && ot[Ue] : ot
            }

            function Ge(ye) {
                if (!ye) return document.documentElement;
                let ot, Le = ye ? .offsetParent;
                for (; null === Le && ye.nextElementSibling && ot !== ye.nextElementSibling;) ot = ye.nextElementSibling, Le = ot.offsetParent;
                const zt = Le && Le.nodeName;
                return zt && "BODY" !== zt && "HTML" !== zt ? Le && -1 !== ["TH", "TD", "TABLE"].indexOf(Le.nodeName) && "static" === Qt(Le, "position") ? Ge(Le) : Le : ot ? ot.ownerDocument.documentElement : document.documentElement
            }

            function Lt(ye) {
                return null !== ye.parentNode ? Lt(ye.parentNode) : ye
            }

            function _n(ye, Ue) {
                if (!(ye && ye.nodeType && Ue && Ue.nodeType)) return document.documentElement;
                const Le = ye.compareDocumentPosition(Ue) & Node.DOCUMENT_POSITION_FOLLOWING,
                    ot = Le ? ye : Ue,
                    zt = Le ? Ue : ye,
                    Ht = document.createRange();
                Ht.setStart(ot, 0), Ht.setEnd(zt, 0);
                const an = Ht.commonAncestorContainer;
                if (ye !== an && Ue !== an || ot.contains(zt)) return function mt(ye) {
                    const {
                        nodeName: Ue
                    } = ye;
                    return "BODY" !== Ue && ("HTML" === Ue || Ge(ye.firstElementChild) === ye)
                }(an) ? an : Ge(an);
                const Kt = Lt(ye);
                return Kt.host ? _n(Kt.host, Ue) : _n(ye, Lt(Ue).host)
            }

            function Ln(ye) {
                if (!ye || !ye.parentElement) return document.documentElement;
                let Ue = ye.parentElement;
                for (; Ue ? .parentElement && "none" === Qt(Ue, "transform");) Ue = Ue.parentElement;
                return Ue || document.documentElement
            }

            function Nn(ye, Ue) {
                const Le = "x" === Ue ? "Left" : "Top",
                    ot = "Left" === Le ? "Right" : "Bottom";
                return parseFloat(ye[`border${Le}Width`]) + parseFloat(ye[`border${ot}Width`])
            }

            function kn(ye, Ue, Le, ot) {
                return Math.max(Ue[`offset${ye}`], Ue[`scroll${ye}`], Le[`client${ye}`], Le[`offset${ye}`], Le[`scroll${ye}`], 0)
            }

            function vn(ye) {
                const Ue = ye.body,
                    Le = ye.documentElement;
                return {
                    height: kn("Height", Ue, Le),
                    width: kn("Width", Ue, Le)
                }
            }

            function tn(ye) {
                return { ...ye,
                    right: (ye.left || 0) + ye.width,
                    bottom: (ye.top || 0) + ye.height
                }
            }

            function pn(ye) {
                return "number" == typeof ye || "[object Number]" === Object.prototype.toString.call(ye)
            }

            function Rn(ye) {
                const Ue = ye.getBoundingClientRect();
                if (!(Ue && pn(Ue.top) && pn(Ue.left) && pn(Ue.bottom) && pn(Ue.right))) return Ue;
                const Le = {
                        left: Ue.left,
                        top: Ue.top,
                        width: Ue.right - Ue.left,
                        height: Ue.bottom - Ue.top
                    },
                    ot = "HTML" === ye.nodeName ? vn(ye.ownerDocument) : void 0,
                    zt = ot ? .width || ye.clientWidth || pn(Ue.right) && pn(Le.left) && Ue.right - Le.left || 0,
                    Ht = ot ? .height || ye.clientHeight || pn(Ue.bottom) && pn(Le.top) && Ue.bottom - Le.top || 0;
                let an = ye.offsetWidth - zt,
                    Kt = ye.offsetHeight - Ht;
                if (an || Kt) {
                    const yn = Qt(ye);
                    an -= Nn(yn, "x"), Kt -= Nn(yn, "y"), Le.width -= an, Le.height -= Kt
                }
                return tn(Le)
            }

            function Qn(ye) {
                return "HTML" === ye.nodeName ? ye : ye.parentNode || ye.host
            }

            function _r(ye) {
                if (!ye) return document.body;
                switch (ye.nodeName) {
                    case "HTML":
                    case "BODY":
                        return ye.ownerDocument.body;
                    case "#document":
                        return ye.body
                }
                const {
                    overflow: Ue,
                    overflowX: Le,
                    overflowY: ot
                } = Qt(ye);
                return /(auto|scroll|overlay)/.test(String(Ue) + String(ot) + String(Le)) ? ye : _r(Qn(ye))
            }

            function Mr(ye, Ue, Le = !1) {
                const ot = "HTML" === Ue.nodeName,
                    zt = Rn(ye),
                    Ht = Rn(Ue),
                    Kt = (_r(ye), Qt(Ue)),
                    yn = parseFloat(Kt.borderTopWidth),
                    Zn = parseFloat(Kt.borderLeftWidth);
                Le && ot && (Ht.top = Math.max(Ht.top ? ? 0, 0), Ht.left = Math.max(Ht.left ? ? 0, 0));
                const Vn = tn({
                    top: (zt.top ? ? 0) - (Ht.top ? ? 0) - yn,
                    left: (zt.left ? ? 0) - (Ht.left ? ? 0) - Zn,
                    width: zt.width,
                    height: zt.height
                });
                if (Vn.marginTop = 0, Vn.marginLeft = 0, ot) {
                    const Ur = parseFloat(Kt.marginTop),
                        Dr = parseFloat(Kt.marginLeft);
                    pn(Vn.top) && (Vn.top -= yn - Ur), pn(Vn.bottom) && (Vn.bottom -= yn - Ur), pn(Vn.left) && (Vn.left -= Zn - Dr), pn(Vn.right) && (Vn.right -= Zn - Dr), Vn.marginTop = Ur, Vn.marginLeft = Dr
                }
                return Vn
            }

            function Ut(ye, Ue = "top") {
                const Le = "top" === Ue ? "scrollTop" : "scrollLeft",
                    ot = ye.nodeName;
                if ("BODY" === ot || "HTML" === ot) {
                    const zt = ye.ownerDocument.documentElement;
                    return (ye.ownerDocument.scrollingElement || zt)[Le]
                }
                return ye[Le]
            }

            function et(ye) {
                const Ue = ye.nodeName;
                return "BODY" !== Ue && "HTML" !== Ue && ("fixed" === Qt(ye, "position") || et(Qn(ye)))
            }

            function Pt(ye, Ue, Le = 0, ot, zt = !1) {
                let Ht = {
                    top: 0,
                    left: 0
                };
                const an = zt ? Ln(ye) : _n(ye, Ue);
                if ("viewport" === ot) Ht = function dt(ye, Ue = !1) {
                    const Le = ye.ownerDocument.documentElement,
                        ot = Mr(ye, Le),
                        zt = Math.max(Le.clientWidth, window.innerWidth || 0),
                        Ht = Math.max(Le.clientHeight, window.innerHeight || 0),
                        an = Ue ? 0 : Ut(Le),
                        Kt = Ue ? 0 : Ut(Le, "left");
                    return tn({
                        top: an - Number(ot ? .top) + Number(ot ? .marginTop),
                        left: Kt - Number(ot ? .left) + Number(ot ? .marginLeft),
                        width: zt,
                        height: Ht
                    })
                }(an, zt);
                else {
                    let Kt;
                    "scrollParent" === ot ? (Kt = _r(Qn(Ue)), "BODY" === Kt.nodeName && (Kt = ye.ownerDocument.documentElement)) : Kt = "window" === ot ? ye.ownerDocument.documentElement : ot;
                    const yn = Mr(Kt, an, zt);
                    if (yn && "HTML" === Kt.nodeName && !et(an)) {
                        const {
                            height: Zn,
                            width: Vn
                        } = vn(ye.ownerDocument);
                        pn(Ht.top) && pn(yn.top) && pn(yn.marginTop) && (Ht.top += yn.top - yn.marginTop), pn(Ht.top) && (Ht.bottom = Number(Zn) + Number(yn.top)), pn(Ht.left) && pn(yn.left) && pn(yn.marginLeft) && (Ht.left += yn.left - yn.marginLeft), pn(Ht.top) && (Ht.right = Number(Vn) + Number(yn.left))
                    } else yn && (Ht = yn)
                }
                return pn(Ht.left) && (Ht.left += Le), pn(Ht.top) && (Ht.top += Le), pn(Ht.right) && (Ht.right -= Le), pn(Ht.bottom) && (Ht.bottom -= Le), Ht
            }

            function jt({
                width: ye,
                height: Ue
            }) {
                return ye * Ue
            }

            function on(ye, Ue, Le, ot, zt = ["top", "bottom", "right", "left"], Ht = "viewport", an = 0) {
                if (-1 === ye.indexOf("auto")) return ye;
                const Kt = Pt(Le, ot, an, Ht),
                    yn = {
                        top: {
                            width: Kt ? .width ? ? 0,
                            height: (Ue ? .top ? ? 0) - (Kt ? .top ? ? 0)
                        },
                        right: {
                            width: (Kt ? .right ? ? 0) - (Ue ? .right ? ? 0),
                            height: Kt ? .height ? ? 0
                        },
                        bottom: {
                            width: Kt ? .width ? ? 0,
                            height: (Kt ? .bottom ? ? 0) - (Ue ? .bottom ? ? 0)
                        },
                        left: {
                            width: (Ue.left ? ? 0) - (Kt ? .left ? ? 0),
                            height: Kt ? .height ? ? 0
                        }
                    },
                    Zn = Object.keys(yn).map(mr => ({
                        position: mr,
                        ...yn[mr],
                        area: jt(yn[mr])
                    })).sort((mr, Yr) => Yr.area - mr.area);
                let Vn = Zn.filter(({
                    width: mr,
                    height: Yr
                }) => mr >= Le.clientWidth && Yr >= Le.clientHeight);
                Vn = Vn.filter(({
                    position: mr
                }) => zt.some(Yr => Yr === mr));
                const Ur = Vn.length > 0 ? Vn[0].position : Zn[0].position,
                    Dr = ye.split(" ")[1];
                return Le.className = Le.className.replace(/bs-tooltip-auto/g, `bs-tooltip-${Ke().isBs5?vt[Ur]:Ur}`), Ur + (Dr ? `-${Dr}` : "")
            }
            const cr = (ye, Ue = 0) => ye ? parseFloat(ye) : Ue;

            function Jn(ye) {
                const Le = ye.ownerDocument.defaultView ? .getComputedStyle(ye),
                    ot = cr(Le ? .marginTop) + cr(Le ? .marginBottom),
                    zt = cr(Le ? .marginLeft) + cr(Le ? .marginRight);
                return {
                    width: Number(ye.offsetWidth) + zt,
                    height: Number(ye.offsetHeight) + ot
                }
            }

            function wr(ye, Ue, Le) {
                return Mr(Ue, Le ? Ln(ye) : _n(ye, Ue), Le)
            }

            function Yn(ye, Ue, Le) {
                const ot = Le.split(" ")[0],
                    zt = Jn(ye),
                    Ht = {
                        width: zt.width,
                        height: zt.height
                    },
                    an = -1 !== ["right", "left"].indexOf(ot),
                    Kt = an ? "top" : "left",
                    yn = an ? "left" : "top",
                    Zn = an ? "height" : "width",
                    Vn = an ? "width" : "height";
                return Ht[Kt] = (Ue[Kt] ? ? 0) + Ue[Zn] / 2 - zt[Zn] / 2, Ht[yn] = ot === yn ? (Ue[yn] ? ? 0) - zt[Vn] : Ue[function Xn(ye) {
                    const Ue = {
                        left: "right",
                        right: "left",
                        bottom: "top",
                        top: "bottom"
                    };
                    return ye.replace(/left|right|bottom|top/g, Le => Ue[Le])
                }(yn)] ? ? 0, Ht
            }

            function In(ye, Ue) {
                return !!ye.modifiers[Ue] ? .enabled
            }
            const Kn = {
                top: ["top", "top start", "top end"],
                bottom: ["bottom", "bottom start", "bottom end"],
                start: ["start", "start top", "start bottom"],
                end: ["end", "end top", "end bottom"]
            };

            function si(ye, Ue) {
                return !!Ke().isBs5 && Kn[Ue].includes(ye)
            }

            function ai(ye, Ue, Le) {
                !ye || !Ue || Object.keys(Ue).forEach(ot => {
                    let zt = ""; - 1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(ot) && function Cn(ye) {
                        return "" !== ye && !isNaN(parseFloat(ye)) && isFinite(Number(ye))
                    }(Ue[ot]) && (zt = "px"), Le ? Le.setStyle(ye, ot, `${String(Ue[ot])}${zt}`) : ye.style[ot] = String(Ue[ot]) + zt
                })
            }

            function Si(ye) {
                let Ue = ye.offsets.target;
                const Le = ye.instance.target.querySelector(".arrow");
                if (!Le) return ye;
                const ot = -1 !== ["left", "right"].indexOf(ye.placement.split(" ")[0]),
                    zt = ot ? "height" : "width",
                    Ht = ot ? "Top" : "Left",
                    an = Ht.toLowerCase(),
                    Kt = ot ? "left" : "top",
                    yn = ot ? "bottom" : "right",
                    Zn = Jn(Le)[zt],
                    Vn = ye.placement.split(" ")[1];
                (ye.offsets.host[yn] ? ? 0) - Zn < (Ue[an] ? ? 0) && (Ue[an] -= (Ue[an] ? ? 0) - ((ye.offsets.host[yn] ? ? 0) - Zn)), Number(ye.offsets.host[an]) + Number(Zn) > (Ue[yn] ? ? 0) && (Ue[an] += Number(ye.offsets.host[an]) + Number(Zn) - Number(Ue[yn])), Ue = tn(Ue);
                const Ur = Qt(ye.instance.target),
                    Dr = parseFloat(Ur[`margin${Ht}`]) || 0,
                    mr = parseFloat(Ur[`border${Ht}Width`]) || 0;
                let Yr;
                if (Vn) {
                    const yo = parseFloat(Ur.borderRadius) || 0,
                        $r = Number(Dr + mr + yo);
                    Yr = an === Vn ? Number(ye.offsets.host[an]) + $r : Number(ye.offsets.host[an]) + Number(ye.offsets.host[zt] - $r)
                } else Yr = Number(ye.offsets.host[an]) + Number(ye.offsets.host[zt] / 2 - Zn / 2);
                let Cr = Yr - (Ue[an] ? ? 0) - Dr - mr;
                return Cr = Math.max(Math.min(Ue[zt] - (Zn + 5), Cr), 0), ye.offsets.arrow = {
                    [an]: Math.round(Cr),
                    [Kt]: ""
                }, ye.instance.arrow = Le, ye
            }

            function yi(ye) {
                if (ye.offsets.target = tn(ye.offsets.target), !In(ye.options, "flip")) return ye.offsets.target = { ...ye.offsets.target,
                    ...Yn(ye.instance.target, ye.offsets.host, ye.placement)
                }, ye;
                const Ue = Pt(ye.instance.target, ye.instance.host, 0, "viewport", !1);
                let Le = ye.placement.split(" ")[0],
                    ot = ye.placement.split(" ")[1] || "";
                const Kt = on("auto", ye.offsets.host, ye.instance.target, ye.instance.host, ye.options.allowedPositions),
                    yn = [Le, Kt];
                return yn.forEach((Zn, Vn) => {
                    if (Le !== Zn || yn.length === Vn + 1) return;
                    Le = ye.placement.split(" ")[0];
                    const Ur = "left" === Le && Math.floor(ye.offsets.target.right ? ? 0) > Math.floor(ye.offsets.host.left ? ? 0) || "right" === Le && Math.floor(ye.offsets.target.left ? ? 0) < Math.floor(ye.offsets.host.right ? ? 0) || "top" === Le && Math.floor(ye.offsets.target.bottom ? ? 0) > Math.floor(ye.offsets.host.top ? ? 0) || "bottom" === Le && Math.floor(ye.offsets.target.top ? ? 0) < Math.floor(ye.offsets.host.bottom ? ? 0),
                        Dr = Math.floor(ye.offsets.target.left ? ? 0) < Math.floor(Ue.left ? ? 0),
                        mr = Math.floor(ye.offsets.target.right ? ? 0) > Math.floor(Ue.right ? ? 0),
                        Yr = Math.floor(ye.offsets.target.top ? ? 0) < Math.floor(Ue.top ? ? 0),
                        Cr = Math.floor(ye.offsets.target.bottom ? ? 0) > Math.floor(Ue.bottom ? ? 0),
                        yo = "left" === Le && Dr || "right" === Le && mr || "top" === Le && Yr || "bottom" === Le && Cr,
                        $r = -1 !== ["top", "bottom"].indexOf(Le),
                        hi = $r && "left" === ot && Dr || $r && "right" === ot && mr || !$r && "left" === ot && Yr || !$r && "right" === ot && Cr;
                    (Ur || yo || hi) && ((Ur || yo) && (Le = yn[Vn + 1]), hi && (ot = function sn(ye) {
                        return "right" === ye ? "left" : "left" === ye ? "right" : ye
                    }(ot)), ye.placement = Le + (ot ? ` ${ot}` : ""), ye.offsets.target = { ...ye.offsets.target,
                        ...Yn(ye.instance.target, ye.offsets.host, ye.placement)
                    })
                }), ye
            }

            function Ji(ye) {
                if (!In(ye.options, "preventOverflow")) return ye;
                const Ue = "transform",
                    Le = ye.instance.target.style,
                    {
                        top: ot,
                        left: zt,
                        [Ue]: Ht
                    } = Le;
                Le.top = "", Le.left = "", Le[Ue] = "";
                const an = Pt(ye.instance.target, ye.instance.host, 0, ye.options.modifiers.preventOverflow ? .boundariesElement || "scrollParent", !1);
                Le.top = ot, Le.left = zt, Le[Ue] = Ht;
                const yn = {
                    primary(Zn) {
                        let Vn = ye.offsets.target[Zn];
                        return (ye.offsets.target[Zn] ? ? 0) < (an[Zn] ? ? 0) && (Vn = Math.max(ye.offsets.target[Zn] ? ? 0, an[Zn] ? ? 0)), {
                            [Zn]: Vn
                        }
                    },
                    secondary(Zn) {
                        const Vn = "right" === Zn,
                            Ur = Vn ? "left" : "top";
                        let mr = ye.offsets.target[Ur];
                        return (ye.offsets.target[Zn] ? ? 0) > (an[Zn] ? ? 0) && (mr = Math.min(ye.offsets.target[Ur] ? ? 0, (an[Zn] ? ? 0) - ye.offsets.target[Vn ? "width" : "height"])), {
                            [Ur]: mr
                        }
                    }
                };
                return ["left", "right", "top", "bottom"].forEach(Zn => {
                    const Vn = -1 !== ["left", "top", "start"].indexOf(Zn) ? yn.primary : yn.secondary;
                    ye.offsets.target = { ...ye.offsets.target,
                        ...Vn(Zn)
                    }
                }), ye
            }

            function Pi(ye) {
                const Ue = ye.placement,
                    Le = Ue.split(" ")[0],
                    ot = Ue.split(" ")[1];
                if (ot) {
                    const {
                        host: zt,
                        target: Ht
                    } = ye.offsets, an = -1 !== ["bottom", "top"].indexOf(Le), Kt = an ? "left" : "top", yn = an ? "width" : "height", Zn = {
                        start: {
                            [Kt]: zt[Kt]
                        },
                        end: {
                            [Kt]: (zt[Kt] ? ? 0) + zt[yn] - Ht[yn]
                        }
                    };
                    ye.offsets.target = { ...Ht,
                        [Kt]: Kt === ot ? Zn.start[Kt] : Zn.end[Kt]
                    }
                }
                return ye
            }
            const lr = new class To {
                position(Ue, Le) {
                    return this.offset(Ue, Le)
                }
                offset(Ue, Le) {
                    return wr(Le, Ue)
                }
                positionElements(Ue, Le, ot, zt, Ht) {
                    const an = [yi, Pi, Ji, Si],
                        yn = function eo(ye, Ue, Le, ot) {
                            if (!ye || !Ue) return;
                            const zt = wr(ye, Ue);
                            !Le.match(/^(auto)*\s*(left|right|top|bottom|start|end)*$/) && !Le.match(/^(left|right|top|bottom|start|end)*(?: (left|right|top|bottom|start|end))*$/) && (Le = "auto");
                            const Ht = !!Le.match(/auto/g);
                            let an = Le.match(/auto\s(left|right|top|bottom|start|end)/) ? Le.split(" ")[1] || "auto" : Le;
                            const Kt = an.match(/^(left|right|top|bottom|start|end)* ?(?!\1)(left|right|top|bottom|start|end)?/);
                            return Kt && (an = Kt[1] + (Kt[2] ? ` ${Kt[2]}` : "")), -1 !== ["left right", "right left", "top bottom", "bottom top"].indexOf(an) && (an = "auto"), an = on(an, zt, ye, Ue, ot ? ot.allowedPositions : void 0), {
                                options: ot || {
                                    modifiers: {}
                                },
                                instance: {
                                    target: ye,
                                    host: Ue,
                                    arrow: void 0
                                },
                                offsets: {
                                    target: Yn(ye, zt, an),
                                    host: zt,
                                    arrow: void 0
                                },
                                positionFixed: !1,
                                placement: an,
                                placementAuto: Ht
                            }
                        }(Le, Ue, ct[ot], Ht);
                    if (yn) return an.reduce((Zn, Vn) => Vn(Zn), yn)
                }
            };

            function br(ye, Ue, Le, ot, zt, Ht) {
                const an = lr.positionElements(ye, Ue, Le, ot, zt);
                if (!an) return;
                const Kt = function $n(ye) {
                    return {
                        width: ye.offsets.target.width,
                        height: ye.offsets.target.height,
                        left: Math.floor(ye.offsets.target.left ? ? 0),
                        top: Math.round(ye.offsets.target.top ? ? 0),
                        bottom: Math.round(ye.offsets.target.bottom ? ? 0),
                        right: Math.floor(ye.offsets.target.right ? ? 0)
                    }
                }(an);
                ai(Ue, {
                        "will-change": "transform",
                        top: "0px",
                        left: "0px",
                        transform: `translate3d(${Kt.left}px, ${Kt.top}px, 0px)`
                    }, Ht), an.instance.arrow && ai(an.instance.arrow, an.offsets.arrow, Ht),
                    function hr(ye, Ue) {
                        const Le = ye.instance.target;
                        let ot = Le.className;
                        const zt = Ke().isBs5 ? vt[ye.placement] : ye.placement;
                        ye.placementAuto && (ot = ot.replace(/bs-popover-auto/g, `bs-popover-${zt}`), ot = ot.replace(/ms-2|me-2|mb-2|mt-2/g, ""), ot = ot.replace(/bs-tooltip-auto/g, `bs-tooltip-${zt}`), ot = ot.replace(/\sauto/g, ` ${zt}`), -1 !== ot.indexOf("popover") && (ot = ot + " " + function Jr(ye) {
                            return Ke().isBs5 ? si(ye, "end") ? "ms-2" : si(ye, "start") ? "me-2" : si(ye, "top") ? "mb-2" : si(ye, "bottom") ? "mt-2" : "" : ""
                        }(zt)), -1 !== ot.indexOf("popover") && -1 === ot.indexOf("popover-auto") && (ot += " popover-auto"), -1 !== ot.indexOf("tooltip") && -1 === ot.indexOf("tooltip-auto") && (ot += " tooltip-auto")), ot = ot.replace(/left|right|top|bottom|end|start/g, `${zt.split(" ")[0]}`), Ue ? Ue.setAttribute(Le, "class", ot) : Le.className = ot
                    }(an, Ht)
            }
            let Er = (() => {
                class ye {
                    constructor(Le, ot, zt) {
                        this.update$$ = new De.x, this.positionElements = new Map, this.isDisabled = !1, (0, Pe.NF)(zt) && Le.runOutsideAngular(() => {
                            this.triggerEvent$ = (0, J.T)((0, fe.R)(window, "scroll", {
                                passive: !0
                            }), (0, fe.R)(window, "resize", {
                                passive: !0
                            }), (0, Fe.of)(0, at.Z), this.update$$), this.triggerEvent$.subscribe(() => {
                                this.isDisabled || this.positionElements.forEach(Ht => {
                                    br(jr(Ht.target), jr(Ht.element), Ht.attachment, Ht.appendToBody, this.options, ot.createRenderer(null, null))
                                })
                            })
                        })
                    }
                    position(Le) {
                        this.addPositionElement(Le)
                    }
                    get event$() {
                        return this.triggerEvent$
                    }
                    disable() {
                        this.isDisabled = !0
                    }
                    enable() {
                        this.isDisabled = !1
                    }
                    addPositionElement(Le) {
                        this.positionElements.set(jr(Le.element), Le)
                    }
                    calcPosition() {
                        this.update$$.next(null)
                    }
                    deletePositionElement(Le) {
                        this.positionElements.delete(jr(Le))
                    }
                    setOptions(Le) {
                        this.options = Le
                    }
                }
                return ye.\u0275fac = function(Le) {
                    return new(Le || ye)(t.LFG(t.R0b), t.LFG(t.FYo), t.LFG(t.Lbi))
                }, ye.\u0275prov = t.Yz7({
                    token: ye,
                    factory: ye.\u0275fac,
                    providedIn: "root"
                }), ye
            })();

            function jr(ye) {
                return "string" == typeof ye ? document.querySelector(ye) : ye instanceof t.SBq ? ye.nativeElement : ye ? ? null
            }
            class Fr {
                constructor(Ue, Le, ot) {
                    this.nodes = Ue, this.viewRef = Le, this.componentRef = ot
                }
            }
            class nt {
                constructor(Ue, Le, ot, zt, Ht, an, Kt, yn, Zn) {
                    this._viewContainerRef = Ue, this._renderer = Le, this._elementRef = ot, this._injector = zt, this._componentFactoryResolver = Ht, this._ngZone = an, this._applicationRef = Kt, this._posService = yn, this._document = Zn, this.onBeforeShow = new t.vpe, this.onShown = new t.vpe, this.onBeforeHide = new t.vpe, this.onHidden = new t.vpe, this._providers = [], this._isHiding = !1, this.containerDefaultSelector = "body", this._listenOpts = {}, this._globalListener = Function.prototype
                }
                get isShown() {
                    return !this._isHiding && !!this._componentRef
                }
                attach(Ue) {
                    return this._componentFactory = this._componentFactoryResolver.resolveComponentFactory(Ue), this
                }
                to(Ue) {
                    return this.container = Ue || this.container, this
                }
                position(Ue) {
                    return Ue ? (this.attachment = Ue.attachment || this.attachment, this._elementRef = Ue.target || this._elementRef, this) : this
                }
                provide(Ue) {
                    return this._providers.push(Ue), this
                }
                show(Ue = {}) {
                    if (this._subscribePositioning(), this._innerComponent = void 0, !this._componentRef) {
                        this.onBeforeShow.emit(), this._contentRef = this._getContentRef(Ue.content, Ue.context, Ue.initialState);
                        const Le = t.zs3.create({
                            providers: this._providers,
                            parent: this._injector
                        });
                        if (!this._componentFactory) return;
                        if (this._componentRef = this._componentFactory.create(Le, this._contentRef.nodes), this._applicationRef.attachView(this._componentRef.hostView), this.instance = this._componentRef.instance, Object.assign(this._componentRef.instance, Ue), this.container instanceof t.SBq && this.container.nativeElement.appendChild(this._componentRef.location.nativeElement), "string" == typeof this.container && typeof this._document < "u") {
                            const ot = this._document.querySelector(this.container) || this._document.querySelector(this.containerDefaultSelector);
                            if (!ot) return;
                            ot.appendChild(this._componentRef.location.nativeElement)
                        }!this.container && this._elementRef && this._elementRef.nativeElement.parentElement && this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement), this._contentRef.componentRef && (this._innerComponent = this._contentRef.componentRef.instance, this._contentRef.componentRef.changeDetectorRef.markForCheck(), this._contentRef.componentRef.changeDetectorRef.detectChanges()), this._componentRef.changeDetectorRef.markForCheck(), this._componentRef.changeDetectorRef.detectChanges(), this.onShown.emit(Ue.id ? {
                            id: Ue.id
                        } : this._componentRef.instance)
                    }
                    return this._registerOutsideClick(), this._componentRef
                }
                hide(Ue) {
                    if (!this._componentRef) return this;
                    this._posService.deletePositionElement(this._componentRef.location), this.onBeforeHide.emit(this._componentRef.instance);
                    const Le = this._componentRef.location.nativeElement;
                    return Le.parentNode ? .removeChild(Le), this._contentRef ? .componentRef ? .destroy(), this._viewContainerRef && this._contentRef ? .viewRef && this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)), this._contentRef ? .viewRef ? .destroy(), this._contentRef = void 0, this._componentRef = void 0, this._removeGlobalListener(), this.onHidden.emit(Ue ? {
                        id: Ue
                    } : null), this
                }
                toggle() {
                    this.isShown ? this.hide() : this.show()
                }
                dispose() {
                    this.isShown && this.hide(), this._unsubscribePositioning(), this._unregisterListenersFn && this._unregisterListenersFn()
                }
                listen(Ue) {
                    this.triggers = Ue.triggers || this.triggers, this._listenOpts.outsideClick = Ue.outsideClick, this._listenOpts.outsideEsc = Ue.outsideEsc, Ue.target = Ue.target || this._elementRef ? .nativeElement;
                    const Le = this._listenOpts.hide = () => Ue.hide ? Ue.hide() : void this.hide(),
                        ot = this._listenOpts.show = Ht => {
                            Ue.show ? Ue.show(Ht) : this.show(Ht), Ht()
                        };
                    return this._renderer && (this._unregisterListenersFn = function P(ye, Ue) {
                        const Le = function x(ye, Ue = C) {
                                const Le = (ye || "").trim();
                                if (0 === Le.length) return [];
                                const ot = Le.split(/\s+/).map(Ht => Ht.split(":")).map(Ht => {
                                        const an = Ue[Ht[0]] || Ht;
                                        return new U(an[0], an[1])
                                    }),
                                    zt = ot.filter(Ht => Ht.isManual());
                                if (zt.length > 1) throw new Error("Triggers parse error: only one manual trigger is allowed");
                                if (1 === zt.length && ot.length > 1) throw new Error("Triggers parse error: manual trigger can't be mixed with other triggers");
                                return ot
                            }(Ue.triggers),
                            ot = Ue.target;
                        if (1 === Le.length && Le[0].isManual()) return Function.prototype;
                        const zt = [],
                            Ht = [],
                            an = () => {
                                Ht.forEach(Kt => zt.push(Kt())), Ht.length = 0
                            };
                        return Le.forEach(Kt => {
                            const yn = Kt.open === Kt.close,
                                Zn = yn ? Ue.toggle : Ue.show;
                            if (!yn && Kt.close && Ue.hide) {
                                const Vn = ye.listen(ot, Kt.close, Ue.hide);
                                Ht.push(() => Vn)
                            }
                            Zn && zt.push(ye.listen(ot, Kt.open, () => Zn(an)))
                        }), () => {
                            zt.forEach(Kt => Kt())
                        }
                    }(this._renderer, {
                        target: Ue.target,
                        triggers: Ue.triggers,
                        show: ot,
                        hide: Le,
                        toggle: Ht => {
                            this.isShown ? Le() : ot(Ht)
                        }
                    })), this
                }
                _removeGlobalListener() {
                    this._globalListener && (this._globalListener(), this._globalListener = Function.prototype)
                }
                attachInline(Ue, Le) {
                    return Ue && Le && (this._inlineViewRef = Ue.createEmbeddedView(Le)), this
                }
                _registerOutsideClick() {
                    if (this._componentRef && this._componentRef.location) {
                        if (this._listenOpts.outsideClick) {
                            const Ue = this._componentRef.location.nativeElement;
                            setTimeout(() => {
                                this._renderer && this._elementRef && (this._globalListener = function $(ye, Ue) {
                                    return Ue.outsideClick ? ye.listen("document", "click", Le => {
                                        Ue.target && Ue.target.contains(Le.target) || Ue.targets && Ue.targets.some(ot => ot.contains(Le.target)) || Ue.hide && Ue.hide()
                                    }) : Function.prototype
                                }(this._renderer, {
                                    targets: [Ue, this._elementRef.nativeElement],
                                    outsideClick: this._listenOpts.outsideClick,
                                    hide: () => this._listenOpts.hide && this._listenOpts.hide()
                                }))
                            })
                        }
                        this._listenOpts.outsideEsc && this._renderer && this._elementRef && (this._globalListener = function K(ye, Ue) {
                            return Ue.outsideEsc ? ye.listen("document", "keyup.esc", Le => {
                                Ue.target && Ue.target.contains(Le.target) || Ue.targets && Ue.targets.some(ot => ot.contains(Le.target)) || Ue.hide && Ue.hide()
                            }) : Function.prototype
                        }(this._renderer, {
                            targets: [this._componentRef.location.nativeElement, this._elementRef.nativeElement],
                            outsideEsc: this._listenOpts.outsideEsc,
                            hide: () => this._listenOpts.hide && this._listenOpts.hide()
                        }))
                    }
                }
                getInnerComponent() {
                    return this._innerComponent
                }
                _subscribePositioning() {
                    this._zoneSubscription || !this.attachment || (this.onShown.subscribe(() => {
                        this._posService.position({
                            element: this._componentRef ? .location,
                            target: this._elementRef,
                            attachment: this.attachment,
                            appendToBody: "body" === this.container
                        })
                    }), this._zoneSubscription = this._ngZone.onStable.subscribe(() => {
                        !this._componentRef || this._posService.calcPosition()
                    }))
                }
                _unsubscribePositioning() {
                    !this._zoneSubscription || (this._zoneSubscription.unsubscribe(), this._zoneSubscription = void 0)
                }
                _getContentRef(Ue, Le, ot) {
                    if (!Ue) return new Fr([]);
                    if (Ue instanceof t.Rgc) {
                        if (this._viewContainerRef) {
                            const an = this._viewContainerRef.createEmbeddedView(Ue, Le);
                            return an.markForCheck(), new Fr([an.rootNodes], an)
                        }
                        const Ht = Ue.createEmbeddedView({});
                        return this._applicationRef.attachView(Ht), new Fr([Ht.rootNodes], Ht)
                    }
                    if ("function" == typeof Ue) {
                        const Ht = this._componentFactoryResolver.resolveComponentFactory(Ue),
                            an = t.zs3.create({
                                providers: this._providers,
                                parent: this._injector
                            }),
                            Kt = Ht.create(an);
                        return Object.assign(Kt.instance, ot), this._applicationRef.attachView(Kt.hostView), new Fr([
                            [Kt.location.nativeElement]
                        ], Kt.hostView, Kt)
                    }
                    const zt = this._renderer ? [this._renderer.createText(`${Ue}`)] : [];
                    return new Fr([zt])
                }
            }
            let Ee = (() => {
                class ye {
                    constructor(Le, ot, zt, Ht, an, Kt) {
                        this._componentFactoryResolver = Le, this._ngZone = ot, this._injector = zt, this._posService = Ht, this._applicationRef = an, this._document = Kt
                    }
                    createLoader(Le, ot, zt) {
                        return new nt(ot, zt, Le, this._injector, this._componentFactoryResolver, this._ngZone, this._applicationRef, this._posService, this._document)
                    }
                }
                return ye.\u0275fac = function(Le) {
                    return new(Le || ye)(t.LFG(t._Vd), t.LFG(t.R0b), t.LFG(t.zs3), t.LFG(Er), t.LFG(t.z2F), t.LFG(Pe.K0))
                }, ye.\u0275prov = t.Yz7({
                    token: ye,
                    factory: ye.\u0275fac,
                    providedIn: "root"
                }), ye
            })();
            var re = _(7340);
            const ae = function(ye) {
                    return {
                        dropdown: ye
                    }
                },
                Xe = ["*"];
            let Dt = (() => {
                    class ye {
                        constructor() {
                            this.autoClose = !0, this.insideClick = !1, this.isAnimated = !1, this.stopOnClickPropagation = !1
                        }
                    }
                    return ye.\u0275fac = function(Le) {
                        return new(Le || ye)
                    }, ye.\u0275prov = t.Yz7({
                        token: ye,
                        factory: ye.\u0275fac,
                        providedIn: "root"
                    }), ye
                })(),
                Xt = (() => {
                    class ye {
                        constructor() {
                            this.direction = "down", this.autoClose = !0, this.insideClick = !1, this.isAnimated = !1, this.stopOnClickPropagation = !1, this.isOpenChange = new t.vpe, this.isDisabledChange = new t.vpe, this.toggleClick = new t.vpe, this.counts = 0, this.dropdownMenu = new Promise(Le => {
                                this.resolveDropdownMenu = Le
                            })
                        }
                    }
                    return ye.\u0275fac = function(Le) {
                        return new(Le || ye)
                    }, ye.\u0275prov = t.Yz7({
                        token: ye,
                        factory: ye.\u0275fac,
                        providedIn: "platform"
                    }), ye
                })();
            const er = [(0, re.oB)({
                height: 0,
                overflow: "hidden"
            }), (0, re.jt)("220ms cubic-bezier(0, 0, 0.2, 1)", (0, re.oB)({
                height: "*",
                overflow: "hidden"
            }))];
            let Kr = (() => {
                    class ye {
                        constructor(Le, ot, zt, Ht, an) {
                            this._state = Le, this.cd = ot, this._renderer = zt, this._element = Ht, this.isOpen = !1, this._factoryDropDownAnimation = an.build(er), this._subscription = Le.isOpenChange.subscribe(Kt => {
                                this.isOpen = Kt;
                                const yn = this._element.nativeElement.querySelector(".dropdown-menu");
                                this._renderer.addClass(this._element.nativeElement.querySelector("div"), "open"), yn && !Je() && (this._renderer.addClass(yn, "show"), (yn.classList.contains("dropdown-menu-right") || yn.classList.contains("dropdown-menu-end")) && (this._renderer.setStyle(yn, "left", "auto"), this._renderer.setStyle(yn, "right", "0")), "up" === this.direction && (this._renderer.setStyle(yn, "top", "auto"), this._renderer.setStyle(yn, "transform", "translateY(-101%)"))), yn && this._state.isAnimated && this._factoryDropDownAnimation.create(yn).play(), this.cd.markForCheck(), this.cd.detectChanges()
                            })
                        }
                        get direction() {
                            return this._state.direction
                        }
                        _contains(Le) {
                            return this._element.nativeElement.contains(Le)
                        }
                        ngOnDestroy() {
                            this._subscription.unsubscribe()
                        }
                    }
                    return ye.\u0275fac = function(Le) {
                        return new(Le || ye)(t.Y36(Xt), t.Y36(t.sBO), t.Y36(t.Qsj), t.Y36(t.SBq), t.Y36(re._j))
                    }, ye.\u0275cmp = t.Xpm({
                        type: ye,
                        selectors: [
                            ["bs-dropdown-container"]
                        ],
                        hostAttrs: [2, "display", "block", "position", "absolute", "z-index", "1040"],
                        ngContentSelectors: Xe,
                        decls: 2,
                        vars: 9,
                        consts: [
                            [3, "ngClass"]
                        ],
                        template: function(Le, ot) {
                            1 & Le && (t.F$t(), t.TgZ(0, "div", 0), t.Hsn(1), t.qZA()), 2 & Le && (t.ekj("dropup", "up" === ot.direction)("show", ot.isOpen)("open", ot.isOpen), t.Q6J("ngClass", t.VKq(7, ae, "down" === ot.direction)))
                        },
                        dependencies: [Pe.mk],
                        encapsulation: 2,
                        changeDetection: 0
                    }), ye
                })(),
                Tn = (() => {
                    class ye {
                        constructor(Le, ot, zt, Ht, an, Kt, yn) {
                            this._elementRef = Le, this._renderer = ot, this._viewContainerRef = zt, this._cis = Ht, this._state = an, this._config = Kt, this.dropup = !1, this._isInlineOpen = !1, this._isDisabled = !1, this._subscriptions = [], this._isInited = !1, this._state.autoClose = this._config.autoClose, this._state.insideClick = this._config.insideClick, this._state.isAnimated = this._config.isAnimated, this._state.stopOnClickPropagation = this._config.stopOnClickPropagation, this._factoryDropDownAnimation = yn.build(er), this._dropdown = this._cis.createLoader(this._elementRef, this._viewContainerRef, this._renderer).provide({
                                provide: Xt,
                                useValue: this._state
                            }), this.onShown = this._dropdown.onShown, this.onHidden = this._dropdown.onHidden, this.isOpenChange = this._state.isOpenChange
                        }
                        set autoClose(Le) {
                            this._state.autoClose = Le
                        }
                        get autoClose() {
                            return this._state.autoClose
                        }
                        set isAnimated(Le) {
                            this._state.isAnimated = Le
                        }
                        get isAnimated() {
                            return this._state.isAnimated
                        }
                        set insideClick(Le) {
                            this._state.insideClick = Le
                        }
                        get insideClick() {
                            return this._state.insideClick
                        }
                        set isDisabled(Le) {
                            this._isDisabled = Le, this._state.isDisabledChange.emit(Le), Le && this.hide()
                        }
                        get isDisabled() {
                            return this._isDisabled
                        }
                        get isOpen() {
                            return this._showInline ? this._isInlineOpen : this._dropdown.isShown
                        }
                        set isOpen(Le) {
                            Le ? this.show() : this.hide()
                        }
                        get isBs4() {
                            return !Je()
                        }
                        get _showInline() {
                            return !this.container
                        }
                        ngOnInit() {
                            this._isInited || (this._isInited = !0, this._dropdown.listen({
                                outsideClick: !1,
                                triggers: this.triggers,
                                show: () => this.show()
                            }), this._subscriptions.push(this._state.toggleClick.subscribe(Le => this.toggle(Le))), this._subscriptions.push(this._state.isDisabledChange.pipe((0, r.h)(Le => Le)).subscribe(() => this.hide())))
                        }
                        show() {
                            if (!this.isOpen && !this.isDisabled) {
                                if (this._showInline) return this._inlinedMenu || this._state.dropdownMenu.then(Le => {
                                    this._dropdown.attachInline(Le.viewContainer, Le.templateRef), this._inlinedMenu = this._dropdown._inlineViewRef, this.addBs4Polyfills(), this._inlinedMenu && this._renderer.addClass(this._inlinedMenu.rootNodes[0].parentNode, "open"), this.playAnimation()
                                }).catch(), this.addBs4Polyfills(), this._isInlineOpen = !0, this.onShown.emit(!0), this._state.isOpenChange.emit(!0), void this.playAnimation();
                                this._state.dropdownMenu.then(Le => {
                                    const ot = this.dropup || typeof this.dropup < "u" && this.dropup;
                                    this._state.direction = ot ? "up" : "down";
                                    const zt = this.placement || (ot ? "top start" : "bottom start");
                                    this._dropdown.attach(Kr).to(this.container).position({
                                        attachment: zt
                                    }).show({
                                        content: Le.templateRef,
                                        placement: zt
                                    }), this._state.isOpenChange.emit(!0)
                                }).catch()
                            }
                        }
                        hide() {
                            !this.isOpen || (this._showInline ? (this.removeShowClass(), this.removeDropupStyles(), this._isInlineOpen = !1, this.onHidden.emit(!0)) : this._dropdown.hide(), this._state.isOpenChange.emit(!1))
                        }
                        toggle(Le) {
                            return this.isOpen || !Le ? this.hide() : this.show()
                        }
                        _contains(Le) {
                            return this._elementRef.nativeElement.contains(Le.target) || this._dropdown.instance && this._dropdown.instance._contains(Le.target)
                        }
                        navigationClick(Le) {
                            const ot = this._elementRef.nativeElement.querySelector(".dropdown-menu");
                            if (!ot) return;
                            const zt = this._elementRef.nativeElement.ownerDocument.activeElement,
                                Ht = ot.querySelectorAll(".dropdown-item");
                            switch (Le.keyCode) {
                                case 38:
                                    this._state.counts > 0 && Ht[--this._state.counts].focus();
                                    break;
                                case 40:
                                    this._state.counts + 1 < Ht.length && (zt.classList !== Ht[this._state.counts].classList ? Ht[this._state.counts].focus() : Ht[++this._state.counts].focus())
                            }
                            Le.preventDefault()
                        }
                        ngOnDestroy() {
                            for (const Le of this._subscriptions) Le.unsubscribe();
                            this._dropdown.dispose()
                        }
                        addBs4Polyfills() {
                            Je() || (this.addShowClass(), this.checkRightAlignment(), this.addDropupStyles())
                        }
                        playAnimation() {
                            this._state.isAnimated && this._inlinedMenu && setTimeout(() => {
                                this._inlinedMenu && this._factoryDropDownAnimation.create(this._inlinedMenu.rootNodes[0]).play()
                            })
                        }
                        addShowClass() {
                            this._inlinedMenu && this._inlinedMenu.rootNodes[0] && this._renderer.addClass(this._inlinedMenu.rootNodes[0], "show")
                        }
                        removeShowClass() {
                            this._inlinedMenu && this._inlinedMenu.rootNodes[0] && this._renderer.removeClass(this._inlinedMenu.rootNodes[0], "show")
                        }
                        checkRightAlignment() {
                            if (this._inlinedMenu && this._inlinedMenu.rootNodes[0]) {
                                const Le = this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-right") || this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-end");
                                this._renderer.setStyle(this._inlinedMenu.rootNodes[0], "left", Le ? "auto" : "0"), this._renderer.setStyle(this._inlinedMenu.rootNodes[0], "right", Le ? "0" : "auto")
                            }
                        }
                        addDropupStyles() {
                            this._inlinedMenu && this._inlinedMenu.rootNodes[0] && (this._renderer.setStyle(this._inlinedMenu.rootNodes[0], "top", this.dropup ? "auto" : "100%"), this._renderer.setStyle(this._inlinedMenu.rootNodes[0], "transform", this.dropup ? "translateY(-101%)" : "translateY(0)"), this._renderer.setStyle(this._inlinedMenu.rootNodes[0], "bottom", "auto"))
                        }
                        removeDropupStyles() {
                            this._inlinedMenu && this._inlinedMenu.rootNodes[0] && (this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], "top"), this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], "transform"), this._renderer.removeStyle(this._inlinedMenu.rootNodes[0], "bottom"))
                        }
                    }
                    return ye.\u0275fac = function(Le) {
                        return new(Le || ye)(t.Y36(t.SBq), t.Y36(t.Qsj), t.Y36(t.s_b), t.Y36(Ee), t.Y36(Xt), t.Y36(Dt), t.Y36(re._j))
                    }, ye.\u0275dir = t.lG2({
                        type: ye,
                        selectors: [
                            ["", "bsDropdown", ""],
                            ["", "dropdown", ""]
                        ],
                        hostVars: 6,
                        hostBindings: function(Le, ot) {
                            1 & Le && t.NdJ("keydown.arrowDown", function(Ht) {
                                return ot.navigationClick(Ht)
                            })("keydown.arrowUp", function(Ht) {
                                return ot.navigationClick(Ht)
                            }), 2 & Le && t.ekj("dropup", ot.dropup)("open", ot.isOpen)("show", ot.isOpen && ot.isBs4)
                        },
                        inputs: {
                            placement: "placement",
                            triggers: "triggers",
                            container: "container",
                            dropup: "dropup",
                            autoClose: "autoClose",
                            isAnimated: "isAnimated",
                            insideClick: "insideClick",
                            isDisabled: "isDisabled",
                            isOpen: "isOpen"
                        },
                        outputs: {
                            isOpenChange: "isOpenChange",
                            onShown: "onShown",
                            onHidden: "onHidden"
                        },
                        exportAs: ["bs-dropdown"],
                        features: [t._Bn([Xt])]
                    }), ye
                })(),
                Lr = (() => {
                    class ye {
                        constructor(Le, ot, zt) {
                            Le.resolveDropdownMenu({
                                templateRef: zt,
                                viewContainer: ot
                            })
                        }
                    }
                    return ye.\u0275fac = function(Le) {
                        return new(Le || ye)(t.Y36(Xt), t.Y36(t.s_b), t.Y36(t.Rgc))
                    }, ye.\u0275dir = t.lG2({
                        type: ye,
                        selectors: [
                            ["", "bsDropdownMenu", ""],
                            ["", "dropdownMenu", ""]
                        ],
                        exportAs: ["bs-dropdown-menu"]
                    }), ye
                })(),
                bi = (() => {
                    class ye {
                        constructor(Le, ot, zt, Ht, an) {
                            this._changeDetectorRef = Le, this._dropdown = ot, this._element = zt, this._renderer = Ht, this._state = an, this.isOpen = !1, this._subscriptions = [], this._subscriptions.push(this._state.isOpenChange.subscribe(Kt => {
                                this.isOpen = Kt, Kt ? (this._documentClickListener = this._renderer.listen("document", "click", yn => {
                                    this._state.autoClose && 2 !== yn.button && !this._element.nativeElement.contains(yn.target) && (!this._state.insideClick || !this._dropdown._contains(yn)) && (this._state.toggleClick.emit(!1), this._changeDetectorRef.detectChanges())
                                }), this._escKeyUpListener = this._renderer.listen(this._element.nativeElement, "keyup.esc", () => {
                                    this._state.autoClose && (this._state.toggleClick.emit(!1), this._changeDetectorRef.detectChanges())
                                })) : (this._documentClickListener && this._documentClickListener(), this._escKeyUpListener && this._escKeyUpListener())
                            })), this._subscriptions.push(this._state.isDisabledChange.subscribe(Kt => this.isDisabled = Kt || void 0))
                        }
                        onClick(Le) {
                            this._state.stopOnClickPropagation && Le.stopPropagation(), !this.isDisabled && this._state.toggleClick.emit(!0)
                        }
                        ngOnDestroy() {
                            this._documentClickListener && this._documentClickListener(), this._escKeyUpListener && this._escKeyUpListener();
                            for (const Le of this._subscriptions) Le.unsubscribe()
                        }
                    }
                    return ye.\u0275fac = function(Le) {
                        return new(Le || ye)(t.Y36(t.sBO), t.Y36(Tn), t.Y36(t.SBq), t.Y36(t.Qsj), t.Y36(Xt))
                    }, ye.\u0275dir = t.lG2({
                        type: ye,
                        selectors: [
                            ["", "bsDropdownToggle", ""],
                            ["", "dropdownToggle", ""]
                        ],
                        hostVars: 3,
                        hostBindings: function(Le, ot) {
                            1 & Le && t.NdJ("click", function(Ht) {
                                return ot.onClick(Ht)
                            }), 2 & Le && t.uIk("aria-haspopup", !0)("disabled", ot.isDisabled)("aria-expanded", ot.isOpen)
                        },
                        exportAs: ["bs-dropdown-toggle"]
                    }), ye
                })(),
                ji = (() => {
                    class ye {
                        static forRoot() {
                            return {
                                ngModule: ye,
                                providers: [Ee, Er, Xt]
                            }
                        }
                    }
                    return ye.\u0275fac = function(Le) {
                        return new(Le || ye)
                    }, ye.\u0275mod = t.oAB({
                        type: ye
                    }), ye.\u0275inj = t.cJS({
                        imports: [Pe.ez]
                    }), ye
                })()
        },
        8423: (Re, he, _) => {
            "use strict";
            _.d(he, {
                Ro: () => me,
                ef: () => ge,
                t2: () => be
            });
            var t = _(4650),
                r = _(1135),
                U = _(7579),
                C = _(9300),
                x = _(2722),
                V = _(7340),
                P = _(6895),
                $ = _(1481);
            const K = ["overlay"];

            function G(_e, we) {
                1 & _e && t._UZ(0, "div")
            }

            function F(_e, we) {
                if (1 & _e && (t.TgZ(0, "div"), t.YNc(1, G, 1, 0, "div", 6), t.qZA()), 2 & _e) {
                    const ke = t.oxw(2);
                    t.Tol(ke.spinner.class), t.Udp("color", ke.spinner.color), t.xp6(1), t.Q6J("ngForOf", ke.spinner.divArray)
                }
            }

            function k(_e, we) {
                if (1 & _e && (t._UZ(0, "div", 7), t.ALo(1, "safeHtml")), 2 & _e) {
                    const ke = t.oxw(2);
                    t.Q6J("innerHTML", t.lcZ(1, 1, ke.template), t.oJD)
                }
            }

            function B(_e, we) {
                if (1 & _e && (t.TgZ(0, "div", 1, 2), t.YNc(2, F, 2, 5, "div", 3), t.YNc(3, k, 2, 3, "div", 4), t.TgZ(4, "div", 5), t.Hsn(5), t.qZA()()), 2 & _e) {
                    const ke = t.oxw();
                    t.Udp("background-color", ke.spinner.bdColor)("z-index", ke.spinner.zIndex)("position", ke.spinner.fullScreen ? "fixed" : "absolute"), t.Q6J("@.disabled", ke.disableAnimation)("@fadeIn", "in"), t.xp6(2), t.Q6J("ngIf", !ke.template), t.xp6(1), t.Q6J("ngIf", ke.template), t.xp6(1), t.Udp("z-index", ke.spinner.zIndex)
                }
            }
            const le = ["*"],
                oe = {
                    "ball-8bits": 16,
                    "ball-atom": 4,
                    "ball-beat": 3,
                    "ball-circus": 5,
                    "ball-climbing-dot": 4,
                    "ball-clip-rotate": 1,
                    "ball-clip-rotate-multiple": 2,
                    "ball-clip-rotate-pulse": 2,
                    "ball-elastic-dots": 5,
                    "ball-fall": 3,
                    "ball-fussion": 4,
                    "ball-grid-beat": 9,
                    "ball-grid-pulse": 9,
                    "ball-newton-cradle": 4,
                    "ball-pulse": 3,
                    "ball-pulse-rise": 5,
                    "ball-pulse-sync": 3,
                    "ball-rotate": 1,
                    "ball-running-dots": 5,
                    "ball-scale": 1,
                    "ball-scale-multiple": 3,
                    "ball-scale-pulse": 2,
                    "ball-scale-ripple": 1,
                    "ball-scale-ripple-multiple": 3,
                    "ball-spin": 8,
                    "ball-spin-clockwise": 8,
                    "ball-spin-clockwise-fade": 8,
                    "ball-spin-clockwise-fade-rotating": 8,
                    "ball-spin-fade": 8,
                    "ball-spin-fade-rotating": 8,
                    "ball-spin-rotate": 2,
                    "ball-square-clockwise-spin": 8,
                    "ball-square-spin": 8,
                    "ball-triangle-path": 3,
                    "ball-zig-zag": 2,
                    "ball-zig-zag-deflect": 2,
                    cog: 1,
                    "cube-transition": 2,
                    fire: 3,
                    "line-scale": 5,
                    "line-scale-party": 5,
                    "line-scale-pulse-out": 5,
                    "line-scale-pulse-out-rapid": 5,
                    "line-spin-clockwise-fade": 8,
                    "line-spin-clockwise-fade-rotating": 8,
                    "line-spin-fade": 8,
                    "line-spin-fade-rotating": 8,
                    pacman: 6,
                    "square-jelly-box": 2,
                    "square-loader": 1,
                    "square-spin": 1,
                    timer: 1,
                    "triangle-skew-spin": 1
                },
                Ae = "primary";
            class ce {
                constructor(we) {
                    Object.assign(this, we)
                }
                static create(we) {
                    return (null == we ? .type || 0 === we.type.length) && console.warn('[ngx-spinner]: Property "type" is missed. Please, provide animation type to <ngx-spinner> component\n        and ensure css is added to angular.json file'), new ce(we)
                }
            }
            let be = (() => {
                    class _e {
                        constructor() {
                            this.spinnerObservable = new r.X(null)
                        }
                        getSpinner(ke) {
                            return this.spinnerObservable.asObservable().pipe((0, C.h)(Je => Je && Je.name === ke))
                        }
                        show(ke = Ae, Je) {
                            return new Promise((ue, Me) => {
                                setTimeout(() => {
                                    Je && Object.keys(Je).length ? (Je.name = ke, this.spinnerObservable.next(new ce({ ...Je,
                                        show: !0
                                    })), ue(!0)) : (this.spinnerObservable.next(new ce({
                                        name: ke,
                                        show: !0
                                    })), ue(!0))
                                }, 10)
                            })
                        }
                        hide(ke = Ae, Je = 10) {
                            return new Promise((ue, Me) => {
                                setTimeout(() => {
                                    this.spinnerObservable.next(new ce({
                                        name: ke,
                                        show: !1
                                    })), ue(!0)
                                }, Je)
                            })
                        }
                    }
                    return _e.\u0275fac = function(ke) {
                        return new(ke || _e)
                    }, _e.\u0275prov = t.Yz7({
                        token: _e,
                        factory: _e.\u0275fac,
                        providedIn: "root"
                    }), _e
                })(),
                je = (() => {
                    class _e {
                        constructor(ke) {
                            this._sanitizer = ke
                        }
                        transform(ke) {
                            if (ke) return this._sanitizer.bypassSecurityTrustHtml(ke)
                        }
                    }
                    return _e.\u0275fac = function(ke) {
                        return new(ke || _e)(t.Y36($.H7, 16))
                    }, _e.\u0275pipe = t.Yjl({
                        name: "safeHtml",
                        type: _e,
                        pure: !0
                    }), _e
                })(),
                me = (() => {
                    class _e {
                        constructor(ke, Je, ue) {
                            this.spinnerService = ke, this.changeDetector = Je, this.elementRef = ue, this.disableAnimation = !1, this.spinner = new ce, this.ngUnsubscribe = new U.x, this.setDefaultOptions = () => {
                                this.spinner = ce.create({
                                    name: this.name,
                                    bdColor: this.bdColor,
                                    size: this.size,
                                    color: this.color,
                                    type: this.type,
                                    fullScreen: this.fullScreen,
                                    divArray: this.divArray,
                                    divCount: this.divCount,
                                    show: this.show,
                                    zIndex: this.zIndex,
                                    template: this.template,
                                    showSpinner: this.showSpinner
                                })
                            }, this.bdColor = "rgba(51,51,51,0.8)", this.zIndex = 99999, this.color = "#fff", this.size = "large", this.fullScreen = !0, this.name = Ae, this.template = null, this.showSpinner = !1, this.divArray = [], this.divCount = 0, this.show = !1
                        }
                        handleKeyboardEvent(ke) {
                            this.spinnerDOM && this.spinnerDOM.nativeElement && (this.fullScreen || !this.fullScreen && this.isSpinnerZone(ke.target)) && (ke.returnValue = !1, ke.preventDefault())
                        }
                        initObservable() {
                            this.spinnerService.getSpinner(this.name).pipe((0, x.R)(this.ngUnsubscribe)).subscribe(ke => {
                                this.setDefaultOptions(), Object.assign(this.spinner, ke), ke.show && this.onInputChange(), this.changeDetector.detectChanges()
                            })
                        }
                        ngOnInit() {
                            this.setDefaultOptions(), this.initObservable()
                        }
                        isSpinnerZone(ke) {
                            return ke === this.elementRef.nativeElement.parentElement || ke.parentNode && this.isSpinnerZone(ke.parentNode)
                        }
                        ngOnChanges(ke) {
                            for (const Je in ke)
                                if (Je) {
                                    const ue = ke[Je];
                                    if (ue.isFirstChange()) return;
                                    typeof ue.currentValue < "u" && ue.currentValue !== ue.previousValue && "" !== ue.currentValue && (this.spinner[Je] = ue.currentValue, "showSpinner" === Je && (ue.currentValue ? this.spinnerService.show(this.spinner.name, this.spinner) : this.spinnerService.hide(this.spinner.name)), "name" === Je && this.initObservable())
                                }
                        }
                        getClass(ke, Je) {
                            this.spinner.divCount = oe[ke], this.spinner.divArray = Array(this.spinner.divCount).fill(0).map((Me, Ke) => Ke);
                            let ue = "";
                            switch (Je.toLowerCase()) {
                                case "small":
                                    ue = "la-sm";
                                    break;
                                case "medium":
                                    ue = "la-2x";
                                    break;
                                case "large":
                                    ue = "la-3x"
                            }
                            return "la-" + ke + " " + ue
                        }
                        onInputChange() {
                            this.spinner.class = this.getClass(this.spinner.type, this.spinner.size)
                        }
                        ngOnDestroy() {
                            this.ngUnsubscribe.next(), this.ngUnsubscribe.complete()
                        }
                    }
                    return _e.\u0275fac = function(ke) {
                        return new(ke || _e)(t.Y36(be), t.Y36(t.sBO), t.Y36(t.SBq))
                    }, _e.\u0275cmp = t.Xpm({
                        type: _e,
                        selectors: [
                            ["ngx-spinner"]
                        ],
                        viewQuery: function(ke, Je) {
                            if (1 & ke && t.Gf(K, 5), 2 & ke) {
                                let ue;
                                t.iGM(ue = t.CRH()) && (Je.spinnerDOM = ue.first)
                            }
                        },
                        hostBindings: function(ke, Je) {
                            1 & ke && t.NdJ("keydown", function(Me) {
                                return Je.handleKeyboardEvent(Me)
                            }, !1, t.evT)
                        },
                        inputs: {
                            bdColor: "bdColor",
                            size: "size",
                            color: "color",
                            type: "type",
                            fullScreen: "fullScreen",
                            name: "name",
                            zIndex: "zIndex",
                            template: "template",
                            showSpinner: "showSpinner",
                            disableAnimation: "disableAnimation"
                        },
                        features: [t.TTD],
                        ngContentSelectors: le,
                        decls: 1,
                        vars: 1,
                        consts: [
                            ["class", "ngx-spinner-overlay", 3, "background-color", "z-index", "position", 4, "ngIf"],
                            [1, "ngx-spinner-overlay"],
                            ["overlay", ""],
                            [3, "class", "color", 4, "ngIf"],
                            [3, "innerHTML", 4, "ngIf"],
                            [1, "loading-text"],
                            [4, "ngFor", "ngForOf"],
                            [3, "innerHTML"]
                        ],
                        template: function(ke, Je) {
                            1 & ke && (t.F$t(), t.YNc(0, B, 6, 12, "div", 0)), 2 & ke && t.Q6J("ngIf", Je.spinner.show)
                        },
                        dependencies: [P.O5, P.sg, je],
                        styles: [".ngx-spinner-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%}.ngx-spinner-overlay[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(.loading-text){top:50%;left:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.loading-text[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-60%)}"],
                        data: {
                            animation: [(0, V.X$)("fadeIn", [(0, V.SB)("in", (0, V.oB)({
                                opacity: 1
                            })), (0, V.eR)(":enter", [(0, V.oB)({
                                opacity: 0
                            }), (0, V.jt)(300)]), (0, V.eR)(":leave", (0, V.jt)(200, (0, V.oB)({
                                opacity: 0
                            })))])]
                        },
                        changeDetection: 0
                    }), _e
                })(),
                ge = (() => {
                    class _e {}
                    return _e.\u0275fac = function(ke) {
                        return new(ke || _e)
                    }, _e.\u0275mod = t.oAB({
                        type: _e
                    }), _e.\u0275inj = t.cJS({
                        imports: [
                            [P.ez]
                        ]
                    }), _e
                })()
        },
        7798: (Re, he, _) => {
            "use strict";
            _.d(he, {
                cp: () => Ds,
                lF: () => ma,
                _l: () => Bm,
                tV: () => am,
                Rn: () => yu,
                dV: () => lm,
                mj: () => Sd,
                at: () => Rm,
                S$: () => Xh,
                GM: () => em,
                e8: () => sp,
                IG: () => xh,
                dH: () => gc,
                Jb: () => Md
            });
            var t = _(4650),
                r = _(4006),
                U = _(1835),
                C = _(5032),
                x = _(1135),
                V = _(7579),
                P = _(2722),
                $ = _(9300),
                K = _(529),
                G = _(7340),
                F = _(6895),
                k = _(1481);
            const B = ["toast-component", ""];

            function le(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 5), t.NdJ("click", function() {
                        t.CHM(o);
                        const D = t.oxw();
                        return t.KtG(D.remove())
                    }), t.TgZ(1, "span", 6), t._uU(2, "\xd7"), t.qZA()()
                }
            }

            function oe(l, m) {
                if (1 & l && (t.ynx(0), t._uU(1), t.BQk()), 2 & l) {
                    const o = t.oxw(2);
                    t.xp6(1), t.hij("[", o.duplicatesCount + 1, "]")
                }
            }

            function Te(l, m) {
                if (1 & l && (t.TgZ(0, "div"), t._uU(1), t.YNc(2, oe, 2, 1, "ng-container", 4), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.Tol(o.options.titleClass), t.uIk("aria-label", o.title), t.xp6(1), t.hij(" ", o.title, " "), t.xp6(1), t.Q6J("ngIf", o.duplicatesCount)
                }
            }

            function Ae(l, m) {
                if (1 & l && t._UZ(0, "div", 7), 2 & l) {
                    const o = t.oxw();
                    t.Tol(o.options.messageClass), t.Q6J("innerHTML", o.message, t.oJD)
                }
            }

            function ce(l, m) {
                if (1 & l && (t.TgZ(0, "div", 8), t._uU(1), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.Tol(o.options.messageClass), t.uIk("aria-label", o.message), t.xp6(1), t.hij(" ", o.message, " ")
                }
            }

            function be(l, m) {
                if (1 & l && (t.TgZ(0, "div"), t._UZ(1, "div", 9), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.xp6(1), t.Udp("width", o.width + "%")
                }
            }
            class Me {
                constructor(m, o) {
                    this.component = m, this.injector = o
                }
                attach(m, o) {
                    return this._attachedHost = m, m.attach(this, o)
                }
                detach() {
                    const m = this._attachedHost;
                    if (m) return this._attachedHost = void 0, m.detach()
                }
                get isAttached() {
                    return null != this._attachedHost
                }
                setAttachedHost(m) {
                    this._attachedHost = m
                }
            }
            class Be {
                constructor(m) {
                    this._overlayRef = m, this.duplicatesCount = 0, this._afterClosed = new V.x, this._activate = new V.x, this._manualClose = new V.x, this._resetTimeout = new V.x, this._countDuplicate = new V.x
                }
                manualClose() {
                    this._manualClose.next(), this._manualClose.complete()
                }
                manualClosed() {
                    return this._manualClose.asObservable()
                }
                timeoutReset() {
                    return this._resetTimeout.asObservable()
                }
                countDuplicate() {
                    return this._countDuplicate.asObservable()
                }
                close() {
                    this._overlayRef.detach(), this._afterClosed.next(), this._manualClose.next(), this._afterClosed.complete(), this._manualClose.complete(), this._activate.complete(), this._resetTimeout.complete(), this._countDuplicate.complete()
                }
                afterClosed() {
                    return this._afterClosed.asObservable()
                }
                isInactive() {
                    return this._activate.isStopped
                }
                activate() {
                    this._activate.next(), this._activate.complete()
                }
                afterActivate() {
                    return this._activate.asObservable()
                }
                onDuplicate(m, o) {
                    m && this._resetTimeout.next(), o && this._countDuplicate.next(++this.duplicatesCount)
                }
            }
            class He {
                constructor(m, o, h, D, Z, Ze) {
                    this.toastId = m, this.config = o, this.message = h, this.title = D, this.toastType = Z, this.toastRef = Ze, this._onTap = new V.x, this._onAction = new V.x, this.toastRef.afterClosed().subscribe(() => {
                        this._onAction.complete(), this._onTap.complete()
                    })
                }
                triggerTap() {
                    this._onTap.next(), this.config.tapToDismiss && this._onTap.complete()
                }
                onTap() {
                    return this._onTap.asObservable()
                }
                triggerAction(m) {
                    this._onAction.next(m)
                }
                onAction() {
                    return this._onAction.asObservable()
                }
            }
            const kt = new t.OlP("ToastConfig");
            class St extends class Ke {
                attach(m, o) {
                    return this._attachedPortal = m, this.attachComponentPortal(m, o)
                }
                detach() {
                    this._attachedPortal && this._attachedPortal.setAttachedHost(), this._attachedPortal = void 0, this._disposeFn && (this._disposeFn(), this._disposeFn = void 0)
                }
                setDisposeFn(m) {
                    this._disposeFn = m
                }
            } {
                constructor(m, o, h) {
                    super(), this._hostDomElement = m, this._componentFactoryResolver = o, this._appRef = h
                }
                attachComponentPortal(m, o) {
                    const h = this._componentFactoryResolver.resolveComponentFactory(m.component);
                    let D;
                    return D = h.create(m.injector), this._appRef.attachView(D.hostView), this.setDisposeFn(() => {
                        this._appRef.detachView(D.hostView), D.destroy()
                    }), o ? this._hostDomElement.insertBefore(this._getComponentRootNode(D), this._hostDomElement.firstChild) : this._hostDomElement.appendChild(this._getComponentRootNode(D)), D
                }
                _getComponentRootNode(m) {
                    return m.hostView.rootNodes[0]
                }
            }
            class Ct {
                constructor(m) {
                    this._portalHost = m
                }
                attach(m, o = !0) {
                    return this._portalHost.attach(m, o)
                }
                detach() {
                    return this._portalHost.detach()
                }
            }
            let ht = (() => {
                    class l {
                        constructor(o) {
                            this._document = o
                        }
                        ngOnDestroy() {
                            this._containerElement && this._containerElement.parentNode && this._containerElement.parentNode.removeChild(this._containerElement)
                        }
                        getContainerElement() {
                            return this._containerElement || this._createContainer(), this._containerElement
                        }
                        _createContainer() {
                            const o = this._document.createElement("div");
                            o.classList.add("overlay-container"), o.setAttribute("aria-live", "polite"), this._document.body.appendChild(o), this._containerElement = o
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.LFG(F.K0))
                    }, l.\u0275prov = t.Yz7({
                        token: l,
                        factory: l.\u0275fac,
                        providedIn: "root"
                    }), l
                })(),
                Pe = (() => {
                    class l {
                        constructor(o, h, D, Z) {
                            this._overlayContainer = o, this._componentFactoryResolver = h, this._appRef = D, this._document = Z, this._paneElements = new Map
                        }
                        create(o, h) {
                            return this._createOverlayRef(this.getPaneElement(o, h))
                        }
                        getPaneElement(o = "", h) {
                            return this._paneElements.get(h) || this._paneElements.set(h, {}), this._paneElements.get(h)[o] || (this._paneElements.get(h)[o] = this._createPaneElement(o, h)), this._paneElements.get(h)[o]
                        }
                        _createPaneElement(o, h) {
                            const D = this._document.createElement("div");
                            return D.id = "toast-container", D.classList.add(o), D.classList.add("toast-container"), h ? h.getContainerElement().appendChild(D) : this._overlayContainer.getContainerElement().appendChild(D), D
                        }
                        _createPortalHost(o) {
                            return new St(o, this._componentFactoryResolver, this._appRef)
                        }
                        _createOverlayRef(o) {
                            return new Ct(this._createPortalHost(o))
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.LFG(ht), t.LFG(t._Vd), t.LFG(t.z2F), t.LFG(F.K0))
                    }, l.\u0275prov = t.Yz7({
                        token: l,
                        factory: l.\u0275fac,
                        providedIn: "root"
                    }), l
                })(),
                De = (() => {
                    class l {
                        constructor(o, h, D, Z, Ze) {
                            this.overlay = h, this._injector = D, this.sanitizer = Z, this.ngZone = Ze, this.currentlyActive = 0, this.toasts = [], this.index = 0, this.toastrConfig = { ...o.default,
                                ...o.config
                            }, o.config.iconClasses && (this.toastrConfig.iconClasses = { ...o.default.iconClasses,
                                ...o.config.iconClasses
                            })
                        }
                        show(o, h, D = {}, Z = "") {
                            return this._preBuildNotification(Z, o, h, this.applyConfig(D))
                        }
                        success(o, h, D = {}) {
                            return this._preBuildNotification(this.toastrConfig.iconClasses.success || "", o, h, this.applyConfig(D))
                        }
                        error(o, h, D = {}) {
                            return this._preBuildNotification(this.toastrConfig.iconClasses.error || "", o, h, this.applyConfig(D))
                        }
                        info(o, h, D = {}) {
                            return this._preBuildNotification(this.toastrConfig.iconClasses.info || "", o, h, this.applyConfig(D))
                        }
                        warning(o, h, D = {}) {
                            return this._preBuildNotification(this.toastrConfig.iconClasses.warning || "", o, h, this.applyConfig(D))
                        }
                        clear(o) {
                            for (const h of this.toasts)
                                if (void 0 !== o) {
                                    if (h.toastId === o) return void h.toastRef.manualClose()
                                } else h.toastRef.manualClose()
                        }
                        remove(o) {
                            const h = this._findToast(o);
                            if (!h || (h.activeToast.toastRef.close(), this.toasts.splice(h.index, 1), this.currentlyActive = this.currentlyActive - 1, !this.toastrConfig.maxOpened || !this.toasts.length)) return !1;
                            if (this.currentlyActive < this.toastrConfig.maxOpened && this.toasts[this.currentlyActive]) {
                                const D = this.toasts[this.currentlyActive].toastRef;
                                D.isInactive() || (this.currentlyActive = this.currentlyActive + 1, D.activate())
                            }
                            return !0
                        }
                        findDuplicate(o = "", h = "", D, Z) {
                            const {
                                includeTitleDuplicates: Ze
                            } = this.toastrConfig;
                            for (const ut of this.toasts) {
                                const yt = Ze && ut.title === o;
                                if ((!Ze || yt) && ut.message === h) return ut.toastRef.onDuplicate(D, Z), ut
                            }
                            return null
                        }
                        applyConfig(o = {}) {
                            return { ...this.toastrConfig,
                                ...o
                            }
                        }
                        _findToast(o) {
                            for (let h = 0; h < this.toasts.length; h++)
                                if (this.toasts[h].toastId === o) return {
                                    index: h,
                                    activeToast: this.toasts[h]
                                };
                            return null
                        }
                        _preBuildNotification(o, h, D, Z) {
                            return Z.onActivateTick ? this.ngZone.run(() => this._buildNotification(o, h, D, Z)) : this._buildNotification(o, h, D, Z)
                        }
                        _buildNotification(o, h, D, Z) {
                            if (!Z.toastComponent) throw new Error("toastComponent required");
                            const Ze = this.findDuplicate(D, h, this.toastrConfig.resetTimeoutOnDuplicate && Z.timeOut > 0, this.toastrConfig.countDuplicates);
                            if ((this.toastrConfig.includeTitleDuplicates && D || h) && this.toastrConfig.preventDuplicates && null !== Ze) return Ze;
                            this.previousToastMessage = h;
                            let ut = !1;
                            this.toastrConfig.maxOpened && this.currentlyActive >= this.toastrConfig.maxOpened && (ut = !0, this.toastrConfig.autoDismiss && this.clear(this.toasts[0].toastId));
                            const yt = this.overlay.create(Z.positionClass, this.overlayContainer);
                            this.index = this.index + 1;
                            let Bt = h;
                            h && Z.enableHtml && (Bt = this.sanitizer.sanitize(t.q3G.HTML, h));
                            const qt = new Be(yt),
                                Mn = new He(this.index, Z, Bt, D, o, qt),
                                Un = t.zs3.create({
                                    providers: [{
                                        provide: He,
                                        useValue: Mn
                                    }],
                                    parent: this._injector
                                }),
                                fi = new Me(Z.toastComponent, Un),
                                ar = yt.attach(fi, Z.newestOnTop);
                            qt.componentInstance = ar.instance;
                            const kr = {
                                toastId: this.index,
                                title: D || "",
                                message: h || "",
                                toastRef: qt,
                                onShown: qt.afterActivate(),
                                onHidden: qt.afterClosed(),
                                onTap: Mn.onTap(),
                                onAction: Mn.onAction(),
                                portal: ar
                            };
                            return ut || (this.currentlyActive = this.currentlyActive + 1, setTimeout(() => {
                                kr.toastRef.activate()
                            })), this.toasts.push(kr), kr
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.LFG(kt), t.LFG(Pe), t.LFG(t.zs3), t.LFG(k.H7), t.LFG(t.R0b))
                    }, l.\u0275prov = t.Yz7({
                        token: l,
                        factory: l.\u0275fac,
                        providedIn: "root"
                    }), l
                })();
            const fe = {
                maxOpened: 0,
                autoDismiss: !1,
                newestOnTop: !0,
                preventDuplicates: !1,
                countDuplicates: !1,
                resetTimeoutOnDuplicate: !1,
                includeTitleDuplicates: !1,
                iconClasses: {
                    error: "toast-error",
                    info: "toast-info",
                    success: "toast-success",
                    warning: "toast-warning"
                },
                closeButton: !1,
                disableTimeOut: !1,
                timeOut: 5e3,
                extendedTimeOut: 1e3,
                enableHtml: !1,
                progressBar: !1,
                toastClass: "ngx-toastr",
                positionClass: "toast-top-right",
                titleClass: "toast-title",
                messageClass: "toast-message",
                easing: "ease-in",
                easeTime: 300,
                tapToDismiss: !0,
                onActivateTick: !1,
                progressAnimation: "decreasing",
                payload: null,
                toastComponent: (() => {
                    class l {
                        constructor(o, h, D) {
                            this.toastrService = o, this.toastPackage = h, this.ngZone = D, this.width = -1, this.toastClasses = "", this.state = {
                                value: "inactive",
                                params: {
                                    easeTime: this.toastPackage.config.easeTime,
                                    easing: "ease-in"
                                }
                            }, this.message = h.message, this.title = h.title, this.options = h.config, this.originalTimeout = h.config.timeOut, this.toastClasses = `${h.toastType} ${h.config.toastClass}`, this.sub = h.toastRef.afterActivate().subscribe(() => {
                                this.activateToast()
                            }), this.sub1 = h.toastRef.manualClosed().subscribe(() => {
                                this.remove()
                            }), this.sub2 = h.toastRef.timeoutReset().subscribe(() => {
                                this.resetTimeout()
                            }), this.sub3 = h.toastRef.countDuplicate().subscribe(Z => {
                                this.duplicatesCount = Z
                            })
                        }
                        get displayStyle() {
                            if ("inactive" === this.state.value) return "none"
                        }
                        ngOnDestroy() {
                            this.sub.unsubscribe(), this.sub1.unsubscribe(), this.sub2.unsubscribe(), this.sub3.unsubscribe(), clearInterval(this.intervalId), clearTimeout(this.timeout)
                        }
                        activateToast() {
                            this.state = { ...this.state,
                                value: "active"
                            }, !0 !== this.options.disableTimeOut && "timeOut" !== this.options.disableTimeOut && this.options.timeOut && (this.outsideTimeout(() => this.remove(), this.options.timeOut), this.hideTime = (new Date).getTime() + this.options.timeOut, this.options.progressBar && this.outsideInterval(() => this.updateProgress(), 10))
                        }
                        updateProgress() {
                            if (0 === this.width || 100 === this.width || !this.options.timeOut) return;
                            const o = (new Date).getTime();
                            this.width = (this.hideTime - o) / this.options.timeOut * 100, "increasing" === this.options.progressAnimation && (this.width = 100 - this.width), this.width <= 0 && (this.width = 0), this.width >= 100 && (this.width = 100)
                        }
                        resetTimeout() {
                            clearTimeout(this.timeout), clearInterval(this.intervalId), this.state = { ...this.state,
                                value: "active"
                            }, this.outsideTimeout(() => this.remove(), this.originalTimeout), this.options.timeOut = this.originalTimeout, this.hideTime = (new Date).getTime() + (this.options.timeOut || 0), this.width = -1, this.options.progressBar && this.outsideInterval(() => this.updateProgress(), 10)
                        }
                        remove() {
                            "removed" !== this.state.value && (clearTimeout(this.timeout), this.state = { ...this.state,
                                value: "removed"
                            }, this.outsideTimeout(() => this.toastrService.remove(this.toastPackage.toastId), +this.toastPackage.config.easeTime))
                        }
                        tapToast() {
                            "removed" !== this.state.value && (this.toastPackage.triggerTap(), this.options.tapToDismiss && this.remove())
                        }
                        stickAround() {
                            "removed" !== this.state.value && "extendedTimeOut" !== this.options.disableTimeOut && (clearTimeout(this.timeout), this.options.timeOut = 0, this.hideTime = 0, clearInterval(this.intervalId), this.width = 0)
                        }
                        delayedHideToast() {
                            !0 === this.options.disableTimeOut || "extendedTimeOut" === this.options.disableTimeOut || 0 === this.options.extendedTimeOut || "removed" === this.state.value || (this.outsideTimeout(() => this.remove(), this.options.extendedTimeOut), this.options.timeOut = this.options.extendedTimeOut, this.hideTime = (new Date).getTime() + (this.options.timeOut || 0), this.width = -1, this.options.progressBar && this.outsideInterval(() => this.updateProgress(), 10))
                        }
                        outsideTimeout(o, h) {
                            this.ngZone ? this.ngZone.runOutsideAngular(() => this.timeout = setTimeout(() => this.runInsideAngular(o), h)) : this.timeout = setTimeout(() => o(), h)
                        }
                        outsideInterval(o, h) {
                            this.ngZone ? this.ngZone.runOutsideAngular(() => this.intervalId = setInterval(() => this.runInsideAngular(o), h)) : this.intervalId = setInterval(() => o(), h)
                        }
                        runInsideAngular(o) {
                            this.ngZone ? this.ngZone.run(() => o()) : o()
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.Y36(De), t.Y36(He), t.Y36(t.R0b))
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["", "toast-component", ""]
                        ],
                        hostVars: 5,
                        hostBindings: function(o, h) {
                            1 & o && t.NdJ("click", function() {
                                return h.tapToast()
                            })("mouseenter", function() {
                                return h.stickAround()
                            })("mouseleave", function() {
                                return h.delayedHideToast()
                            }), 2 & o && (t.d8E("@flyInOut", h.state), t.Tol(h.toastClasses), t.Udp("display", h.displayStyle))
                        },
                        attrs: B,
                        decls: 5,
                        vars: 5,
                        consts: [
                            ["type", "button", "class", "toast-close-button", "aria-label", "Close", 3, "click", 4, "ngIf"],
                            [3, "class", 4, "ngIf"],
                            ["role", "alert", 3, "class", "innerHTML", 4, "ngIf"],
                            ["role", "alert", 3, "class", 4, "ngIf"],
                            [4, "ngIf"],
                            ["type", "button", "aria-label", "Close", 1, "toast-close-button", 3, "click"],
                            ["aria-hidden", "true"],
                            ["role", "alert", 3, "innerHTML"],
                            ["role", "alert"],
                            [1, "toast-progress"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.YNc(0, le, 3, 0, "button", 0), t.YNc(1, Te, 3, 5, "div", 1), t.YNc(2, Ae, 1, 3, "div", 2), t.YNc(3, ce, 2, 4, "div", 3), t.YNc(4, be, 2, 2, "div", 4)), 2 & o && (t.Q6J("ngIf", h.options.closeButton), t.xp6(1), t.Q6J("ngIf", h.title), t.xp6(1), t.Q6J("ngIf", h.message && h.options.enableHtml), t.xp6(1), t.Q6J("ngIf", h.message && !h.options.enableHtml), t.xp6(1), t.Q6J("ngIf", h.options.progressBar))
                        },
                        dependencies: [F.O5],
                        encapsulation: 2,
                        data: {
                            animation: [(0, G.X$)("flyInOut", [(0, G.SB)("inactive", (0, G.oB)({
                                opacity: 0
                            })), (0, G.SB)("active", (0, G.oB)({
                                opacity: 1
                            })), (0, G.SB)("removed", (0, G.oB)({
                                opacity: 0
                            })), (0, G.eR)("inactive => active", (0, G.jt)("{{ easeTime }}ms {{ easing }}")), (0, G.eR)("active => removed", (0, G.jt)("{{ easeTime }}ms {{ easing }}"))])]
                        }
                    }), l
                })()
            };
            let Fe = (() => {
                class l {
                    static forRoot(o = {}) {
                        return {
                            ngModule: l,
                            providers: [{
                                provide: kt,
                                useValue: {
                                    default: fe,
                                    config: o
                                }
                            }]
                        }
                    }
                }
                return l.\u0275fac = function(o) {
                    return new(o || l)
                }, l.\u0275mod = t.oAB({
                    type: l
                }), l.\u0275inj = t.cJS({
                    imports: [F.ez]
                }), l
            })();
            var Ge = _(3416),
                mt = _(78),
                Lt = _(6681);

            function _n(l, m) {
                var o = Array.prototype.slice.call(m);
                return o.push(Lt.Z), l.apply(this, o)
            }
            var Ln = _(7792),
                kn = _(1042);
            class vn {
                constructor(m, o) {
                    this._document = o;
                    const h = this._textarea = this._document.createElement("textarea"),
                        D = h.style;
                    D.position = "fixed", D.top = D.opacity = "0", D.left = "-999em", h.setAttribute("aria-hidden", "true"), h.value = m, h.readOnly = !0, this._document.body.appendChild(h)
                }
                copy() {
                    const m = this._textarea;
                    let o = !1;
                    try {
                        if (m) {
                            const h = this._document.activeElement;
                            m.select(), m.setSelectionRange(0, m.value.length), o = this._document.execCommand("copy"), h && h.focus()
                        }
                    } catch {}
                    return o
                }
                destroy() {
                    const m = this._textarea;
                    m && (m.remove(), this._textarea = void 0)
                }
            }
            let tn = (() => {
                class l {
                    constructor(o) {
                        this._document = o
                    }
                    copy(o) {
                        const h = this.beginCopy(o),
                            D = h.copy();
                        return h.destroy(), D
                    }
                    beginCopy(o) {
                        return new vn(o, this._document)
                    }
                }
                return l.\u0275fac = function(o) {
                    return new(o || l)(t.LFG(F.K0))
                }, l.\u0275prov = t.Yz7({
                    token: l,
                    factory: l.\u0275fac,
                    providedIn: "root"
                }), l
            })();
            var Qn = _(7799),
                _r = _(3044),
                Mr = _(9751);
            _(515), _(9646), _(4968), _(2805), _(8421);
            _(5403), _(9841), new Mr.y(C.Z), _(3269), _(7272), _(5698), _(4004), _(8675), _(1884), _(3900), _(8505), _(1365), _(4086), _(5684), Math, Math, Math;
            typeof navigator < "u" && navigator.userAgent && (/iPad|iPhone|iPod/.test(navigator.userAgent) || /Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2 || /Android/.test(navigator.userAgent)), ["a[href]", "button:not([disabled])", 'input:not([disabled]):not([type="hidden"])', "select:not([disabled])", "textarea:not([disabled])", "[contenteditable]", '[tabindex]:not([tabindex="-1"])'].join(", "), new Date(1882, 10, 12), new Date(2174, 10, 25);
            let Bf = (() => {
                class l {}
                return l.\u0275fac = function(o) {
                    return new(o || l)
                }, l.\u0275mod = t.oAB({
                    type: l
                }), l.\u0275inj = t.cJS({}), l
            })();
            new t.OlP("live announcer delay", {
                providedIn: "root",
                factory: function jf() {
                    return 100
                }
            });
            var Xd = _(835),
                ef = _(8816),
                tf = _(137),
                Lu = _(371);
            const Pp = ["pu-error-message", ""],
                yd = ["*"];

            function $p(l, m) {
                if (1 & l && (t.ynx(0), t.TgZ(1, "label", 5), t.Hsn(2), t.qZA(), t.BQk()), 2 & l) {
                    const o = t.oxw();
                    t.xp6(1), t.uIk("for", o.uuid)
                }
            }

            function Bp(l, m) {
                if (1 & l && (t.TgZ(0, "label", 5), t._uU(1), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.uIk("for", o.uuid), t.xp6(1), t.Oqu(o.label)
                }
            }

            function Up(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "div", 6), t.NdJ("isInvalidChange", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.isInvalidChange(D))
                    }), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.Q6J("control", o.fieldControl)("errorList", o.errorList), t.uIk("aria-describedby", o.uuid)
                }
            }

            function _u(l, m) {
                if (1 & l && (t.TgZ(0, "option", 6), t._uU(1), t.qZA()), 2 & l) {
                    const o = m.$implicit;
                    t.Q6J("value", o.value), t.xp6(1), t.hij(" ", o.label, " ")
                }
            }

            function Ed(l, m) {
                if (1 & l && (t.TgZ(0, "label", 7), t._uU(1), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.uIk("for", o.uuid + "-select")("id", o.uuid), t.xp6(1), t.Oqu(o.labelAsterisk)
                }
            }

            function zf(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "div", 8), t.NdJ("isInvalidChange", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.isInvalidChange(D))
                    }), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.Q6J("control", o.fieldTextControl)("errorList", o.errorList), t.uIk("aria-describedby", o.uuid)
                }
            }

            function Gc(l, m) {
                if (1 & l && (t.ynx(0), t.TgZ(1, "label", 5), t.Hsn(2), t.qZA(), t.BQk()), 2 & l) {
                    const o = t.oxw();
                    t.xp6(1), t.uIk("for", o.uuid)
                }
            }

            function pc(l, m) {
                if (1 & l && (t.TgZ(0, "label", 5), t._uU(1), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.uIk("for", o.uuid), t.xp6(1), t.Oqu(o.label)
                }
            }

            function Vp(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "div", 6), t.NdJ("isInvalidChange", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.isInvalidChange(D))
                    }), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.Q6J("control", o.formControl)("errorList", o.errorList), t.uIk("aria-describedby", o.uuid)
                }
            }

            function sf(l, m) {
                if (1 & l && (t.TgZ(0, "label", 9), t._uU(1), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.uIk("for", o.uuid), t.xp6(1), t.Oqu(o.labelAsterisk)
                }
            }

            function vh(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 10), t.NdJ("click", function() {
                        t.CHM(o);
                        const D = t.oxw();
                        return t.KtG(D.editField())
                    }), t._UZ(1, "img", 11), t.qZA()
                }
            }

            function yh(l, m) {
                1 & l && t._UZ(0, "img", 15)
            }

            function Kf(l, m) {
                1 & l && t._UZ(0, "img", 16)
            }

            function zh(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 12), t.NdJ("click", function() {
                        t.CHM(o);
                        const D = t.oxw();
                        return t.KtG(D.togglePasswordView())
                    }), t.YNc(1, yh, 1, 0, "img", 13), t.YNc(2, Kf, 1, 0, "img", 14), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.uIk("aria-label", o.buttonAriaLabel), t.xp6(1), t.Q6J("ngIf", o.viewPassword), t.xp6(1), t.Q6J("ngIf", !o.viewPassword)
                }
            }

            function Yf(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 17), t.NdJ("click", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.onClick(D))
                    }), t._uU(1), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.uIk("aria-label", o.buttonAriaLabel), t.xp6(1), t.hij(" ", o.clickHandlerText, " ")
                }
            }

            function af(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 18), t.NdJ("click", function() {
                        t.CHM(o);
                        const D = t.oxw();
                        return t.KtG(D.copyText())
                    }), t._UZ(1, "img", 19), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.uIk("aria-label", o.buttonAriaLabel)
                }
            }

            function qf(l, m) {
                if (1 & l && (t.TgZ(0, "p", 20), t._uU(1), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.xp6(1), t.hij(" ", o.helperText, " ")
                }
            }

            function Jf(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "div", 21), t.NdJ("isInvalidChange", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.isInvalidChange(D))
                    }), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.Q6J("control", o.fieldTextControl)("errorList", o.errorList), t.uIk("aria-describedby", o.uuid)
                }
            }

            function Nr(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "li", 19)(1, "button", 20), t.NdJ("click", function() {
                        t.CHM(o);
                        const D = t.oxw(2);
                        return t.KtG(D.changeLanguage("en"))
                    }), t._uU(2), t.ALo(3, "translate"), t.qZA()()
                }
                2 & l && (t.xp6(2), t.hij(" ", t.lcZ(3, 1, "English"), " "))
            }

            function Do(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "li", 19)(1, "button", 20), t.NdJ("click", function() {
                        t.CHM(o);
                        const D = t.oxw(2);
                        return t.KtG(D.changeLanguage("fr"))
                    }), t._uU(2), t.ALo(3, "translate"), t.qZA()()
                }
                2 & l && (t.xp6(2), t.hij(" ", t.lcZ(3, 1, "French"), " "))
            }

            function No(l, m) {
                if (1 & l && (t.TgZ(0, "ul", 16), t.YNc(1, Nr, 4, 3, "li", 17), t.YNc(2, Do, 4, 3, "ng-template", null, 18, t.W1O), t.qZA()), 2 & l) {
                    const o = t.MAs(3),
                        h = t.oxw();
                    t.xp6(1), t.Q6J("ngIf", "fr" === h.currentLanguageLocale)("ngIfElse", o)
                }
            }

            function zi(l, m) {
                if (1 & l && (t.TgZ(0, "li", 7)(1, "a", 8), t._uU(2), t.ALo(3, "translate"), t.qZA()()), 2 & l) {
                    const o = m.$implicit;
                    t.xp6(1), t.s9C("href", o.link(), t.LSH), t.xp6(1), t.hij(" ", t.lcZ(3, 2, o.name), "")
                }
            }

            function hc(l, m) {
                if (1 & l && (t.TgZ(0, "ul", 5), t.YNc(1, zi, 4, 4, "li", 6), t.qZA()), 2 & l) {
                    const o = t.oxw();
                    t.xp6(1), t.Q6J("ngForOf", o.dropdownValues.values)
                }
            }

            function ha(l, m) {
                if (1 & l && (t.TgZ(0, "div")(1, "h2", 8)(2, "button", 9)(3, "span"), t._uU(4), t.ALo(5, "translate"), t.qZA()()()()), 2 & l) {
                    const o = t.oxw(),
                        h = o.$implicit,
                        D = o.index,
                        Z = t.oxw();
                    t.xp6(1), t.uIk("id", "heading " + h.productId), t.xp6(1), t.ekj("lastItem", D == Z.menu.length - 1), t.uIk("data-bs-target", "#" + h.productId)("aria-controls", h.productId), t.xp6(2), t.hij(" ", t.lcZ(5, 6, h.productName), " ")
                }
            }

            function mc(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "h2", 8)(1, "button", 10), t.NdJ("click", function() {
                        t.CHM(o);
                        const D = t.oxw().$implicit,
                            Z = t.oxw();
                        return t.KtG(Z.loadUrl(D.href))
                    }), t.TgZ(2, "span"), t._uU(3), t.ALo(4, "translate"), t.qZA()()()
                }
                if (2 & l) {
                    const o = t.oxw().$implicit;
                    t.uIk("id", "heading " + o.productId), t.xp6(1), t.uIk("data-bs-target", "#" + o.productId)("aria-controls", o.productId), t.xp6(2), t.hij(" ", t.lcZ(4, 4, o.productName), " ")
                }
            }

            function ea(l, m) {
                if (1 & l && t._UZ(0, "img", 18), 2 & l) {
                    const o = t.oxw(2).$implicit;
                    t.uIk("src", o.iconSrc, t.LSH)
                }
            }

            function Ll(l, m) {
                if (1 & l && (t.TgZ(0, "a", 16), t.YNc(1, ea, 1, 1, "img", 17), t.TgZ(2, "span"), t._uU(3), t.ALo(4, "translate"), t.qZA()()), 2 & l) {
                    const o = t.oxw().$implicit,
                        h = t.oxw().$implicit;
                    t.uIk("href", o.href, t.LSH), t.xp6(1), t.Q6J("ngIf", "support" !== h.productId && "profile" !== h.productId && o.iconSrc.length > 0), t.xp6(2), t.hij(" ", t.lcZ(4, 3, o.name), " ")
                }
            }

            function Hp(l, m) {
                if (1 & l && t._UZ(0, "img", 18), 2 & l) {
                    const o = t.oxw(2).$implicit;
                    t.uIk("src", o.iconSrc, t.LSH)
                }
            }

            function Es(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 19), t.NdJ("click", function(D) {
                        t.CHM(o);
                        const Z = t.oxw().$implicit,
                            Ze = t.oxw().$implicit,
                            ut = t.oxw();
                        return t.KtG(ut.returnLink(D, Z, Ze.productId, Z.href))
                    }), t.YNc(1, Hp, 1, 1, "img", 17), t.TgZ(2, "span"), t._uU(3), t.ALo(4, "translate"), t.qZA()()
                }
                if (2 & l) {
                    const o = t.oxw().$implicit,
                        h = t.oxw().$implicit;
                    t.ekj("active", o.isActive), t.xp6(1), t.Q6J("ngIf", "support" !== h.productId && "profile" !== h.productId && o.iconSrc.length > 0), t.xp6(2), t.hij(" ", t.lcZ(4, 4, o.name), " ")
                }
            }

            function Ar(l, m) {
                if (1 & l && t._UZ(0, "img", 18), 2 & l) {
                    const o = t.oxw(2).$implicit;
                    t.uIk("src", o.iconSrc, t.LSH)
                }
            }

            function Kh(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 28), t.NdJ("click", function(D) {
                        t.CHM(o);
                        const Z = t.oxw().$implicit,
                            Ze = t.oxw(3).$implicit,
                            ut = t.oxw();
                        return t.KtG(ut.returnLink(D, Z, Ze.productId, Z.href))
                    }), t._uU(1), t.ALo(2, "translate"), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw().$implicit;
                    t.ekj("active", o.isActive), t.xp6(1), t.hij(" ", t.lcZ(2, 3, o.name), "")
                }
            }

            function Cl(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "a", 29), t.NdJ("click", function(D) {
                        t.CHM(o);
                        const Z = t.oxw().$implicit,
                            Ze = t.oxw(3).$implicit,
                            ut = t.oxw();
                        return t.KtG(ut.returnLink(D, Z, Ze.productId, Z.href))
                    }), t._uU(1), t.ALo(2, "translate"), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw().$implicit;
                    t.uIk("href", o.href, t.LSH), t.xp6(1), t.hij(" ", t.lcZ(2, 2, o.name), "")
                }
            }

            function Is(l, m) {
                if (1 & l && (t.TgZ(0, "div"), t.YNc(1, Kh, 3, 5, "button", 26), t.YNc(2, Cl, 3, 4, "a", 27), t.qZA()), 2 & l) {
                    const o = m.$implicit;
                    t.xp6(1), t.Q6J("ngIf", 0 == o.isExternal), t.xp6(1), t.Q6J("ngIf", 1 == o.isExternal)
                }
            }

            function Om(l, m) {
                if (1 & l && (t.TgZ(0, "div", 20)(1, "h2", 21)(2, "button", 22), t.YNc(3, Ar, 1, 1, "img", 17), t.TgZ(4, "span"), t._uU(5), t.ALo(6, "translate"), t.qZA()()(), t.TgZ(7, "div", 23)(8, "div", 24), t.YNc(9, Is, 3, 2, "div", 25), t.qZA()()()), 2 & l) {
                    const o = t.oxw(),
                        h = o.$implicit,
                        D = o.index,
                        Z = t.oxw(2);
                    t.xp6(1), t.s9C("id", h.name), t.xp6(1), t.ekj("active", h.isActive), t.uIk("data-bs-target", "#dropdown" + D)("aria-expanded", h.isActive)("aria-controls", "dropdown" + D), t.xp6(1), t.Q6J("ngIf", h.iconSrc.length > 0), t.xp6(2), t.hij(" ", t.lcZ(6, 13, h.name), ""), t.xp6(2), t.ekj("show", Z.innerWidth > 991 && h.isActive), t.s9C("id", "dropdown" + D), t.uIk("aria-labelledby", h.name), t.xp6(2), t.Q6J("ngForOf", h.options)
                }
            }

            function vu(l, m) {
                if (1 & l && (t.TgZ(0, "li", 11)(1, "div", 12), t.YNc(2, Ll, 5, 5, "a", 13), t.YNc(3, Es, 5, 6, "button", 14), t.YNc(4, Om, 10, 15, "div", 15), t.qZA()()), 2 & l) {
                    const o = m.$implicit;
                    t.xp6(2), t.Q6J("ngIf", "link" == o.type && 1 == o.isExternal), t.xp6(1), t.Q6J("ngIf", "link" == o.type && !1 === o.isExternal), t.xp6(1), t.Q6J("ngIf", "dropdown" == o.type)
                }
            }

            function bh(l, m) {
                if (1 & l && (t.TgZ(0, "div", 2), t.YNc(1, ha, 6, 8, "div", 3), t.YNc(2, mc, 5, 6, "ng-template", null, 4, t.W1O), t.TgZ(4, "div", 5)(5, "ul", 6), t.YNc(6, vu, 5, 3, "li", 7), t.qZA()()()), 2 & l) {
                    const o = m.$implicit,
                        h = t.MAs(3),
                        D = t.oxw();
                    t.xp6(1), t.Q6J("ngIf", o.productId === D.app_intent && !D.isCommonProfile || "support" === o.productId || "profile" === o.productId)("ngIfElse", h), t.xp6(3), t.ekj("show", !0 === D.showOptions), t.s9C("id", o.productId), t.uIk("aria-labelledby", "heading " + o.productId), t.xp6(2), t.Q6J("ngForOf", o.productMenuOptions)
                }
            }

            function Am(l, m) {
                1 & l && t._UZ(0, "div")
            }

            function Yh(l, m) {
                if (1 & l && (t.TgZ(0, "li", 20)(1, "a", 36), t._uU(2), t.ALo(3, "uppercase"), t.ALo(4, "translate"), t.qZA()()), 2 & l) {
                    const o = m.$implicit,
                        h = t.oxw(2);
                    t.xp6(1), t.ekj("highlight", !h.isCommonProfile && h.displayName === o.appName), t.Q6J("ngClass", "nav-link puro-common_nav-link puro-common_nav-app-title "), t.uIk("href", o[h.currentLanguageLocale], t.LSH), t.xp6(1), t.Oqu(t.lcZ(3, 5, t.lcZ(4, 7, o.appName)))
                }
            }

            function Dd(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "li", 39)(1, "a", 40), t.NdJ("click", function(D) {
                        const Ze = t.CHM(o).$implicit;
                        return t.KtG(null == Ze ? null : Ze.callback(D))
                    }), t._uU(2), t.ALo(3, "translate"), t.qZA()()
                }
                if (2 & l) {
                    const o = m.$implicit;
                    t.xp6(1), t.s9C("href", o.link(), t.LSH), t.xp6(1), t.Oqu(t.lcZ(3, 2, o.name))
                }
            }

            function qh(l, m) {
                if (1 & l && (t.TgZ(0, "ul", 37), t.YNc(1, Dd, 4, 4, "li", 38), t.qZA()), 2 & l) {
                    const o = t.oxw(2);
                    t.xp6(1), t.Q6J("ngForOf", o.profileDropdown.values)
                }
            }

            function tp(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "a", 3), t._uU(1), t.ALo(2, "translate"), t.qZA(), t.TgZ(3, "header", 4)(4, "nav", 5)(5, "div", 6)(6, "div", 7)(7, "a", 8), t._UZ(8, "img", 9), t.qZA(), t.TgZ(9, "div", 10)(10, "a", 11), t._UZ(11, "img", 12), t.qZA(), t.TgZ(12, "button", 13), t._UZ(13, "img", 14), t.qZA(), t.TgZ(14, "button", 15)(15, "div", 16), t._UZ(16, "span")(17, "span")(18, "span"), t.qZA()()()(), t.TgZ(19, "div", 17)(20, "ul", 18), t.YNc(21, Yh, 5, 9, "li", 19), t.TgZ(22, "li", 20), t._UZ(23, "app-puro-common-dropdown", 21), t.qZA(), t.TgZ(24, "li", 22)(25, "puro-common-navigation", 23), t.NdJ("routeToDestination", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.routeToURL(D))
                    }), t.qZA()()(), t.TgZ(26, "ul", 24)(27, "li", 25)(28, "b", 26), t._uU(29), t.ALo(30, "uppercase"), t.qZA()(), t.TgZ(31, "li", 27)(32, "a", 28), t._UZ(33, "img", 12), t.qZA()(), t.TgZ(34, "li", 29)(35, "button", 30), t._UZ(36, "img", 31), t.qZA()(), t.TgZ(37, "li", 32)(38, "button", 33), t._UZ(39, "img", 34), t.qZA(), t.YNc(40, qh, 2, 1, "ul", 35), t.qZA()()()()()()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.Q6J("href", o.skipToLinkPath, t.LSH), t.xp6(1), t.Oqu(t.lcZ(2, 12, "skipToContent")), t.xp6(6), t.uIk("href", "https://www.purolator.com/" + o.currentLanguageLocale, t.LSH), t.xp6(3), t.uIk("href", o.hostName + "/app-launcher?lang=" + o.currentLanguageLocale, t.LSH), t.xp6(11), t.Q6J("ngForOf", o.accessibleApplications), t.xp6(2), t.Q6J("dropdownValues", o.supportDropdown), t.xp6(2), t.Q6J("menu", o.menuItems)("displayName", o.displayName)("isCommonProfile", o.isCommonProfile)("app_intent", o.app_intent), t.xp6(4), t.Oqu(t.lcZ(30, 14, o.currentLanguageLocale)), t.xp6(3), t.uIk("href", o.hostName + "/app-launcher?lang=" + o.currentLanguageLocale, t.LSH)
                }
            }

            function np(l, m) {
                if (1 & l && (t.TgZ(0, "a", 3), t._uU(1), t.ALo(2, "translate"), t.qZA(), t.TgZ(3, "header", 41)(4, "a", 8), t._UZ(5, "img", 42), t.qZA()()), 2 & l) {
                    const o = t.oxw();
                    t.Q6J("href", o.skipToLinkPath, t.LSH), t.xp6(1), t.Oqu(t.lcZ(2, 3, "skipToContent")), t.xp6(3), t.uIk("href", "https://www.purolator.com/" + o.currentLanguageLocale, t.LSH)
                }
            }

            function Zc(l, m) {
                1 & l && (t.TgZ(0, "section", 4), t._UZ(1, "slot", 5), t.qZA())
            }

            function jp(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 11), t.NdJ("click", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.onCloseHandled(D))
                    }), t._UZ(1, "img", 12), t.qZA()
                }
            }

            function rp(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 13), t.NdJ("click", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.onCloseHandled(D))
                    }), t._uU(1), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.xp6(1), t.hij(" ", o.cancelButtonText, " ")
                }
            }

            function Jo(l, m) {
                if (1 & l) {
                    const o = t.EpF();
                    t.TgZ(0, "button", 14), t.NdJ("click", function(D) {
                        t.CHM(o);
                        const Z = t.oxw();
                        return t.KtG(Z.onClickSave(D))
                    }), t._uU(1), t.qZA()
                }
                if (2 & l) {
                    const o = t.oxw();
                    t.uIk("disabled", !!o.saveButtonDisabled || null), t.xp6(1), t.hij(" ", o.saveButtonText, " ")
                }
            }
            const as = ["*", [
                    ["", 8, "footer-after-buttons"]
                ]],
                Ch = ["*", ".footer-after-buttons"],
                lf = new t.OlP("LibConfig");
            let ip = (() => {
                    class l {
                        constructor(o) {
                            this.toastr = o
                        }
                        showSuccessMessage(o, h) {
                            this.toastr.success(o, h, {
                                enableHtml: !0
                            })
                        }
                        showErrorMessage(o, h) {
                            this.toastr.error(o, h, {
                                enableHtml: !0
                            })
                        }
                        showInfoMessage(o, h) {
                            this.toastr.info(o, h, {
                                enableHtml: !0
                            })
                        }
                        showWarningMessage(o, h) {
                            this.toastr.warning(o, h, {
                                enableHtml: !0
                            })
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.LFG(De))
                    }, l.\u0275prov = t.Yz7({
                        token: l,
                        factory: l.\u0275fac,
                        providedIn: "root"
                    }), l
                })(),
                Od = (() => {
                    class l {
                        constructor() {
                            this.isInvalidChange = new t.vpe, this.errors = []
                        }
                        ngOnInit() {
                            this.control && this.control.statusChanges.pipe((0, $.h)(() => Array.isArray(this.errorList))).subscribe(() => {
                                this.errors = this.getErrors(), this.isInvalidChange.emit(this.errors.length > 0)
                            })
                        }
                        getErrors() {
                            if (this.control && this.control.errors && !this.control ? .valid && Array.isArray(this.errorList)) {
                                const o = Object.keys(this.control.errors).map(h => h.toLowerCase());
                                return this.errorList.filter(h => (Array.isArray(h.errorName) ? h.errorName : [h.errorName]).map(Z => Z.toLowerCase()).filter(Z => o.includes(Z)).length > 0)
                            }
                            return []
                        }
                        get errorMessage() {
                            return this.errors = this.getErrors(), this.errors.length ? this.errors[0].message : ""
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["div", "pu-error-message", ""]
                        ],
                        hostAttrs: [1, "invalid-feedback"],
                        inputs: {
                            control: "control",
                            errorList: "errorList"
                        },
                        outputs: {
                            isInvalidChange: "isInvalidChange"
                        },
                        attrs: Pp,
                        decls: 1,
                        vars: 1,
                        consts: [
                            ["aria-live", "assertive", 3, "innerHTML"]
                        ],
                        template: function(o, h) {
                            1 & o && t._UZ(0, "span", 0), 2 & o && t.Q6J("innerHTML", h.errorMessage, t.oJD)
                        },
                        styles: ["[_nghost-%COMP%]{display:block}"]
                    }), l
                })();

            function gc(l) {
                return o => `${o.value}`.trim().length > l ? {
                    [Ds.maxLength]: !0
                } : null
            }

            function $l(l) {
                return o => l.test(o.value) ? null : {
                    [Ds.patternAllowed]: !0
                }
            }

            function Md(l) {
                return o => l.test(o.value) ? {
                    [Ds.patternForbidden]: !0
                } : null
            }
            const xh = /[~|\*<>\^\{\}\\\/]/;
            var Ds = (() => {
                return (l = Ds || (Ds = {})).required = "required", l.patternForbidden = "patternForbidden", l.patternAllowed = "patternAllowed", l.maxLength = "maxLength", l.minLength = "minLength", l.noMatch = "noMatch", l.mailAlreadyTaken = "mailAlreadyTaken", l.asyncValidationUnavailable = "asyncValidationUnavailable", l.phoneNumber = "phoneNumber", l.cannotInclude = "cannotInclude", l.cannotBeCurrentPassword = "cannotBeCurrentPassword", l.tooRecentPasswrod = "tooRecentPasswrod", l.eitherOr = "eitherOr", l.pattern = "pattern", l.invalid = "invalid", l.invalidEmailFormat = "invalidEmailFormat", l.email = "email", l.mailAlreadyTakenStageOne = "mailAlreadyTakenStageOne", l.cannotIncludeName = "cannotIncludeName", l.security_answer_no_as_password = "security_answer_no_as_password", l.security_answer_no_as_email = "security_answer_no_as_email", l.security_answer_no_as_question = "security_answer_no_as_question", l.invalidPostalCodeFormat = "invalidPostalCodeFormat", l.invalidPostalCodeForCourier = "invalidPostalCodeForCourier", l.invalidPostalCodeForFreight = "invalidPostalCodeForFreight", Ds;
                var l
            })();
            gc(30), Md(xh), gc(100), $l(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/), Md(/^[\.]/), Md(/(\.){2,}/), Md(/(\.@)/), $l(/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[^A-Z\xc0-\u0215a-z0-9]).{8,32}$/);
            let Sd = (() => {
                    class l {
                        constructor() {
                            this.hasContent = !1, this.uuid = (0, kn.Z)(), this.onInputChecked = new t.vpe, this.fieldControl = new r.NI, this.isInvalid = !1, this.disabled = !1
                        }
                        ngOnInit() {}
                        onChecked(o) {
                            this.onInputChecked.emit(this.fieldControl)
                        }
                        isInvalidChange(o) {
                            this.isInvalid = o
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-field-checkbox"]
                        ],
                        inputs: {
                            label: "label",
                            hasContent: "hasContent",
                            id: "id",
                            fieldControl: "fieldControl",
                            errorList: "errorList",
                            isInvalid: "isInvalid",
                            disabled: "disabled"
                        },
                        outputs: {
                            onInputChecked: "onInputChecked"
                        },
                        ngContentSelectors: yd,
                        decls: 6,
                        vars: 8,
                        consts: [
                            [1, "d-flex", "align-items-sm-baseline", "align-items-lg-center", 2, "gap", "8px"],
                            ["type", "checkbox", 1, "form-check-input", "puro-form-check-input", "mt-0", 2, "width", "16px", "height", "16px", 3, "formControl", "change"],
                            [4, "ngIf", "ngIfElse"],
                            ["defaultLabel", ""],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange", 4, "ngIf"],
                            [1, "puro-form-control-checkbox-label"],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange"]
                        ],
                        template: function(o, h) {
                            if (1 & o && (t.F$t(), t.TgZ(0, "div", 0)(1, "input", 1), t.NdJ("change", function(Z) {
                                    return h.onChecked(Z)
                                }), t.qZA(), t.YNc(2, $p, 3, 1, "ng-container", 2), t.YNc(3, Bp, 2, 2, "ng-template", null, 3, t.W1O), t.qZA(), t.YNc(5, Up, 1, 3, "div", 4)), 2 & o) {
                                const D = t.MAs(4);
                                t.xp6(1), t.Q6J("formControl", h.fieldControl), t.uIk("id", h.uuid)("disabled", h.disabled ? "" : null)("aria-label", h.label)("aria-invalid", ((null == h.fieldControl ? null : h.fieldControl.dirty) || (null == h.fieldControl ? null : h.fieldControl.touched)) && (null == h.fieldControl ? null : h.fieldControl.invalid) || h.isInvalid), t.xp6(1), t.Q6J("ngIf", !0 === h.hasContent)("ngIfElse", D), t.xp6(3), t.Q6J("ngIf", h.fieldControl && h.fieldControl.invalid && (h.fieldControl.dirty || h.fieldControl.touched))
                            }
                        },
                        dependencies: [F.O5, r.Wl, r.JJ, r.oH, Od],
                        styles: [".puro-form-check-input[_ngcontent-%COMP%]{box-shadow:none;border:1px solid!important}.puro-form-check-input[_ngcontent-%COMP%]:focus{box-shadow:none!important;border:2px solid #0a38e6!important}.puro-form-check-input[_ngcontent-%COMP%]:checked[type=checkbox]{border-color:none;outline:0;box-shadow:none;border-radius:2px;background-color:#001996}.puro-form-control-checkbox-label[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content}@media (max-width: 992px){.puro-form-control-checkbox-label[_ngcontent-%COMP%]{top:-4px;position:relative}}"]
                    }), l
                })(),
                Rm = (() => {
                    class l {
                        constructor() {
                            this.fieldTextControl = new r.NI, this.onDropdownChange = new t.vpe, this.autocomplete = !1, this.maxlength = 40, this.className = "", this.options = [], this.label = "", this.disabled = !1, this.isInvalid = null, this.uuid = (0, kn.Z)(), this.onTouchedCallback = C.Z, this.onChangeCallback = C.Z
                        }
                        writeValue(o) {
                            this.isInvalid = !1
                        }
                        registerOnChange(o) {
                            this.onTouchedCallback = o
                        }
                        registerOnTouched(o) {
                            this.onTouchedCallback = o
                        }
                        setDisabledState(o) {
                            this.isInvalid = !1
                        }
                        ngOnInit() {}
                        ngOnChanges(o) {
                            o.disabled && (o.disabled ? .currentValue ? this.fieldTextControl.disable() : this.fieldTextControl.enable())
                        }
                        editField() {
                            this.disabled = !this.disabled, this.disabled ? this.fieldTextControl.disable() : this.fieldTextControl.enable()
                        }
                        get labelAsterisk() {
                            return this.label + (this.isRequired ? "*" : "")
                        }
                        public(o, h) {
                            "Enter" === o.code && h.bind(this)()
                        }
                        onChange(o) {
                            this.onDropdownChange.emit(this.options[o.target.selectedIndex - 1].value)
                        }
                        isInvalidChange(o) {
                            this.isInvalid = o
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-field-dropdown"]
                        ],
                        hostAttrs: [1, "puro-field", "form-floating"],
                        inputs: {
                            fieldTextControl: "fieldTextControl",
                            autocomplete: "autocomplete",
                            maxlength: "maxlength",
                            className: "className",
                            options: "options",
                            label: "label",
                            placeholder: "placeholder",
                            disabled: "disabled",
                            isRequired: "isRequired",
                            errorList: "errorList"
                        },
                        outputs: {
                            onDropdownChange: "onDropdownChange"
                        },
                        features: [t._Bn([{
                            provide: r.JU,
                            useExisting: (0, t.Gpc)(() => l),
                            multi: !0
                        }]), t.TTD],
                        decls: 7,
                        vars: 20,
                        consts: [
                            [1, "form-floating", "needs-validation"],
                            [3, "formControl", "change"],
                            ["selected", "selected", "disabled", "true", "value", ""],
                            ["class", "puro-form-control-dropdown-options", 3, "value", 4, "ngFor", "ngForOf"],
                            ["class", "puro-form-control-dropdown-label", 4, "ngIf"],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange", 4, "ngIf"],
                            [1, "puro-form-control-dropdown-options", 3, "value"],
                            [1, "puro-form-control-dropdown-label"],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.TgZ(0, "div", 0)(1, "select", 1), t.NdJ("change", function(Z) {
                                return h.onChange(Z)
                            }), t.TgZ(2, "option", 2), t._uU(3), t.qZA(), t.YNc(4, _u, 2, 2, "option", 3), t.qZA(), t.YNc(5, Ed, 2, 3, "label", 4), t.YNc(6, zf, 1, 3, "div", 5), t.qZA()), 2 & o && (t.xp6(1), t.ekj("is-valid", !(h.isRequired && (null == (null == h.fieldTextControl ? null : h.fieldTextControl.value) || "" === (null == h.fieldTextControl ? null : h.fieldTextControl.value)) || h.isInvalid || null != h.fieldTextControl && h.fieldTextControl.invalid))("is-invalid", ((null == h.fieldTextControl ? null : h.fieldTextControl.touched) || (null == h.fieldTextControl ? null : h.fieldTextControl.dirty)) && ((null == h.fieldTextControl ? null : h.fieldTextControl.invalid) || h.isInvalid)), t.Q6J("formControl", h.fieldTextControl), t.uIk("class", "form-select  puro-form-control-dropdown " + h.className)("id", h.uuid + "-select")("aria-labelledby", h.uuid)("aria-label", h.label + " dropdown")("aria-labelledby", "label-")("aria-invalid", ((null == h.fieldTextControl ? null : h.fieldTextControl.touched) || (null == h.fieldTextControl ? null : h.fieldTextControl.dirty)) && (null == h.fieldTextControl ? null : h.fieldTextControl.invalid) || h.isInvalid)("maxlength", h.maxlength)("placeholder", h.labelAsterisk)("disabled", h.disabled ? "" : null)("autocomplete", h.autocomplete ? "true" : "off")("required", h.isRequired), t.xp6(2), t.hij("", h.label, "..."), t.xp6(1), t.Q6J("ngForOf", h.options), t.xp6(1), t.Q6J("ngIf", h.label.length > 0), t.xp6(1), t.Q6J("ngIf", h.fieldTextControl && h.fieldTextControl.invalid && ((null == h.fieldTextControl ? null : h.fieldTextControl.touched) || (null == h.fieldTextControl ? null : h.fieldTextControl.dirty))))
                        },
                        dependencies: [F.sg, F.O5, r.YN, r.Kr, r.EJ, r.JJ, r.Q7, r.nD, r.oH, Od],
                        styles: [".puro-form-control-dropdown-label[_ngcontent-%COMP%]:after{background:inherit!important}.puro-form-control-dropdown[_ngcontent-%COMP%]{border:1px solid #495057!important;border-radius:4px!important;box-sizing:border-box;height:55px!important;background-repeat:no-repeat;padding-bottom:6px;box-shadow:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.puro-form-control-dropdown[_ngcontent-%COMP%]   option[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.puro-form-control-dropdown[_ngcontent-%COMP%]:disabled{border:1px solid #dadada!important;color:#495057!important;background:#f2f2f2!important}label[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#111}.puro-form-control-dropdown.is-invalid[_ngcontent-%COMP%]{border:2px solid #e00000!important}.puro-form-control-dropdown[_ngcontent-%COMP%]:focus:not(.is-invalid){border:2px solid #0a38e6!important}.puro-form-label[_ngcontent-%COMP%]:after{background-color:inherit!important}"]
                    }), l
                })(),
                Xh = (() => {
                    class l {
                        constructor() {
                            this.hasContent = !1, this.uuid = (0, kn.Z)(), this.formControl = new r.NI, this.isInvalid = !1, this.disabled = !1, this.change = new t.vpe
                        }
                        ngOnInit() {}
                        onChange(o) {
                            this.change.emit(this.formControl)
                        }
                        isInvalidChange(o) {
                            this.isInvalid = o
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-field-radio"]
                        ],
                        inputs: {
                            label: "label",
                            hasContent: "hasContent",
                            name: "name",
                            id: "id",
                            value: "value",
                            formControl: "formControl",
                            errorList: "errorList",
                            isInvalid: "isInvalid",
                            disabled: "disabled"
                        },
                        outputs: {
                            change: "change"
                        },
                        features: [t._Bn([{
                            provide: r.JU,
                            useExisting: (0, t.Gpc)(() => l),
                            multi: !0
                        }])],
                        ngContentSelectors: yd,
                        decls: 6,
                        vars: 14,
                        consts: [
                            [1, "d-flex", "align-items-sm-baseline", "align-items-lg-center", 2, "gap", "8px"],
                            ["type", "radio", 2, "width", "16px", "height", "16px", 3, "name", "id", "value", "formControl", "change"],
                            [4, "ngIf", "ngIfElse"],
                            ["defaultLabel", ""],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange", 4, "ngIf"],
                            [1, "puro-form-control-radio-label"],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange"]
                        ],
                        template: function(o, h) {
                            if (1 & o && (t.F$t(), t.TgZ(0, "div", 0)(1, "input", 1), t.NdJ("change", function(Z) {
                                    return h.onChange(Z)
                                }), t.qZA(), t.YNc(2, Gc, 3, 1, "ng-container", 2), t.YNc(3, pc, 2, 2, "ng-template", null, 3, t.W1O), t.qZA(), t.YNc(5, Vp, 1, 3, "div", 4)), 2 & o) {
                                const D = t.MAs(4);
                                t.xp6(1), t.Tol("form-check-input pointer updateLang"), t.Q6J("name", h.name)("id", h.id)("value", h.value)("formControl", h.formControl), t.uIk("id", h.uuid)("disabled", h.disabled ? "" : null)("aria-label", h.label)("aria-label", h.label)("aria-invalid", ((null == h.formControl ? null : h.formControl.dirty) || (null == h.formControl ? null : h.formControl.touched)) && (null == h.formControl ? null : h.formControl.invalid) || h.isInvalid), t.xp6(1), t.Q6J("ngIf", !0 === h.hasContent)("ngIfElse", D), t.xp6(3), t.Q6J("ngIf", h.formControl && h.formControl.invalid && (h.formControl.dirty || h.formControl.touched))
                            }
                        },
                        dependencies: [F.O5, r.Fj, r._, r.JJ, r.oH, Od],
                        styles: [".puro-form-radio-input[_ngcontent-%COMP%]{box-shadow:none;border:1px solid!important}.puro-form-radio-input[_ngcontent-%COMP%]:checked[type=checkbox]{border-color:none;outline:0;box-shadow:none;border-radius:2px;background-color:#001996}.puro-form-control-radio-label[_ngcontent-%COMP%]{width:-moz-fit-content;width:fit-content}@media (max-width: 992px){.puro-form-control-radio-label[_ngcontent-%COMP%]{top:-4px;position:relative}}"]
                    }), l
                })(),
                Dh = (() => {
                    class l {
                        constructor(o) {
                            this.ngControl = o, this.countryCode = "CA", this.fieldType = "text"
                        }
                        ngAfterViewInit() {
                            this.onInputChange()
                        }
                        onModelChange(o) {
                            this.onInputChange()
                        }
                        onInputChange() {
                            if ("phonenumber" === this.fieldType) {
                                let o = new mt.R(this.countryCode);
                                if (function Nn() {
                                        _n(Ln.Gg, arguments)
                                    }(this.countryCode), o) {
                                    let D = this.ngControl ? .value ? .replace(/\D+/g, ""),
                                        Z = this.ngControl.value;
                                    D ? .startsWith("1") ? (Z = D.replace(/(\d{1})(\d{3})(\d{3})(\d{4})/, "+$1 ($2) $3-$4"), this.ngControl ? .valueAccessor ? .writeValue(Z)) : (Z = D ? .replace(/(\d{3})(\d{3})(\d{4})/, "+1 ($1) $2-$3"), this.ngControl ? .valueAccessor ? .writeValue(Z)), this.ngControl.control ? .patchValue(Z)
                                }
                            }
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.Y36(r.a5))
                    }, l.\u0275dir = t.lG2({
                        type: l,
                        selectors: [
                            ["", "appPhoneNumberFormatter", ""]
                        ],
                        hostBindings: function(o, h) {
                            1 & o && t.NdJ("keyup", function(Z) {
                                return h.onModelChange(Z)
                            })
                        },
                        inputs: {
                            countryCode: "countryCode",
                            fieldType: "fieldType"
                        }
                    }), l
                })(),
                em = (() => {
                    class l {
                        constructor(o, h) {
                            this.clipboard = o, this.toastMessage = h, this.type = "text", this.autocomplete = !1, this.isRequired = !1, this.isInvalid = !1, this.helperText = "", this.countryCode = "CA", this.disabled = !1, this.editIcon = !1, this.hasClickHandler = !1, this.hasCopyIcon = !1, this.clickHandlerText = "Add Contact", this.copyMessage = "Copied to clipboard", this.viewPassword = !1, this.isPassword = !1, this.fieldTextControl = new r.NI, this.buttonAriaLabel = "", this.handleOnBlur = new t.vpe, this.handleClick = new t.vpe, this.handleKeyDown = new t.vpe, this.handleKeyUp = new t.vpe, this.onTouchedCallback = C.Z, this.onChangeCallback = C.Z, this.uuid = (0, kn.Z)()
                        }
                        ngOnInit() {
                            this.isPassword = "password" === this.type, this.hasCopyIcon && this.fieldTextControl.disable()
                        }
                        ngOnChanges(o) {
                            o.disabled && (o.disabled ? .currentValue ? this.fieldTextControl.disable() : this.fieldTextControl.enable())
                        }
                        editField() {
                            this.disabled = !this.disabled, this.disabled ? this.fieldTextControl.disable() : this.fieldTextControl.enable()
                        }
                        get labelAsterisk() {
                            return this.label + (this.isRequired ? "*" : "")
                        }
                        togglePasswordView() {
                            this.viewPassword = !this.viewPassword, this.type = this.viewPassword ? "text" : "password"
                        }
                        isInvalidChange(o) {
                            this.isInvalid = o
                        }
                        onClick(o) {
                            this.handleClick.emit(o)
                        }
                        copyText() {
                            this.clipboard.copy(this.fieldTextControl ? .value), this.toastMessage.showSuccessMessage(this.copyMessage, "")
                        }
                        onEnterKeyDown(o) {
                            this.hasClickHandler && this.handleClick.emit(o)
                        }
                        onKeyDown(o) {
                            this.handleKeyDown.emit(o)
                        }
                        onKeyUp(o) {
                            this.handleKeyUp.emit(o)
                        }
                        onBlur(o) {
                            this.handleOnBlur.emit(o)
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.Y36(tn), t.Y36(ip))
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-field-text"]
                        ],
                        hostAttrs: [1, "puro-field", "form-floating"],
                        inputs: {
                            label: "label",
                            maxlength: "maxlength",
                            minlength: "minlength",
                            type: "type",
                            autocomplete: "autocomplete",
                            isRequired: "isRequired",
                            isInvalid: "isInvalid",
                            helperText: "helperText",
                            countryCode: "countryCode",
                            disabled: "disabled",
                            editIcon: "editIcon",
                            className: "className",
                            errorList: "errorList",
                            hasClickHandler: "hasClickHandler",
                            hasCopyIcon: "hasCopyIcon",
                            clickHandlerText: "clickHandlerText",
                            copyMessage: "copyMessage",
                            fieldTextControl: "fieldTextControl",
                            buttonAriaLabel: "buttonAriaLabel"
                        },
                        outputs: {
                            handleOnBlur: "handleOnBlur",
                            handleClick: "handleClick",
                            handleKeyDown: "handleKeyDown",
                            handleKeyUp: "handleKeyUp"
                        },
                        features: [t._Bn([{
                            provide: r.JU,
                            useExisting: (0, t.Gpc)(() => l),
                            multi: !0
                        }]), t.TTD],
                        decls: 9,
                        vars: 32,
                        consts: [
                            [1, "form-floating", "needs-validation"],
                            ["appPhoneNumberFormatter", "", 3, "formControl", "fieldType", "countryCode", "disabled", "keydown.enter", "keydown", "keyup", "blur"],
                            ["class", "form-label puro-form-label lbl-width", 4, "ngIf"],
                            ["class", "edit-icon-viewer cursor-pointer", 3, "click", 4, "ngIf"],
                            ["class", "password-viewer cursor-pointer", 3, "click", 4, "ngIf"],
                            ["type", "button", "class", "puro-btn puro-btn-primary input-button", 3, "click", 4, "ngIf"],
                            ["type", "button", "class", "puro-btn puro-btn-copy input-button", 3, "click", 4, "ngIf"],
                            ["class", "puro-helper-text p-0 m-0", 4, "ngIf"],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange", 4, "ngIf"],
                            [1, "form-label", "puro-form-label", "lbl-width"],
                            [1, "edit-icon-viewer", "cursor-pointer", 3, "click"],
                            ["src", "assets/icons/pencil.svg", 1, ""],
                            [1, "password-viewer", "cursor-pointer", 3, "click"],
                            ["class", "password_visible", "src", "assets/icons/eyeopen.svg", "alt", "Password Visible", 4, "ngIf"],
                            ["class", "password_hidden", "src", "assets/icons/eyeclosed.svg", "alt", "Password hidden", 4, "ngIf"],
                            ["src", "assets/icons/eyeopen.svg", "alt", "Password Visible", 1, "password_visible"],
                            ["src", "assets/icons/eyeclosed.svg", "alt", "Password hidden", 1, "password_hidden"],
                            ["type", "button", 1, "puro-btn", "puro-btn-primary", "input-button", 3, "click"],
                            ["type", "button", 1, "puro-btn", "puro-btn-copy", "input-button", 3, "click"],
                            ["src", "assets/icons/copy.svg", "alt", "Copy Text", 1, "copy-text-icon"],
                            [1, "puro-helper-text", "p-0", "m-0"],
                            ["pu-error-message", "", 3, "control", "errorList", "isInvalidChange"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.TgZ(0, "div", 0)(1, "input", 1), t.NdJ("keydown.enter", function(Z) {
                                return h.onEnterKeyDown(Z)
                            })("keydown", function(Z) {
                                return h.onKeyDown(Z)
                            })("keyup", function(Z) {
                                return h.onKeyUp(Z)
                            })("blur", function(Z) {
                                return h.onBlur(Z)
                            }), t.qZA(), t.YNc(2, sf, 2, 2, "label", 2), t.YNc(3, vh, 2, 0, "button", 3), t.YNc(4, zh, 3, 3, "button", 4), t.YNc(5, Yf, 2, 2, "button", 5), t.YNc(6, af, 2, 1, "button", 6), t.YNc(7, qf, 2, 1, "p", 7), t.YNc(8, Jf, 1, 3, "div", 8), t.qZA()), 2 & o && (t.ekj("needs-click-handler", h.hasClickHandler || h.hasCopyIcon)("is-password", h.isPassword)("has-copy-icon", h.hasCopyIcon), t.xp6(1), t.ekj("is-password", !0)("is-valid", (null == h.fieldTextControl ? null : h.fieldTextControl.touched) && void 0 !== (null == h.fieldTextControl ? null : h.fieldTextControl.value) && "" !== (null == h.fieldTextControl ? null : h.fieldTextControl.value) && !h.isInvalid && !(null != h.fieldTextControl && h.fieldTextControl.invalid))("is-invalid", ((null == h.fieldTextControl ? null : h.fieldTextControl.dirty) || (null == h.fieldTextControl ? null : h.fieldTextControl.touched)) && ((null == h.fieldTextControl ? null : h.fieldTextControl.invalid) || h.isInvalid)), t.Q6J("formControl", h.fieldTextControl)("fieldType", h.type)("countryCode", h.countryCode)("disabled", h.disabled || h.hasCopyIcon), t.uIk("id", h.uuid)("class", "form-control  puro-form-control " + h.className)("aria-invalid", (null == h.fieldTextControl ? null : h.fieldTextControl.invalid) || h.isInvalid)("type", h.type)("maxlength", h.maxlength)("minlength", h.minlength)("placeholder", h.label)("autocomplete", h.autocomplete ? "true" : "off")("required", h.isRequired), t.xp6(1), t.Q6J("ngIf", h.label), t.xp6(1), t.Q6J("ngIf", !0 === h.editIcon && !0 === h.disabled), t.xp6(1), t.Q6J("ngIf", !0 === h.isPassword && !1 === h.disabled), t.xp6(1), t.Q6J("ngIf", h.hasClickHandler && "text" === h.type), t.xp6(1), t.Q6J("ngIf", h.hasCopyIcon && !h.hasClickHandler && "text" === h.type), t.xp6(1), t.Q6J("ngIf", h.helperText && h.helperText.length > 0), t.xp6(1), t.Q6J("ngIf", h.fieldTextControl && h.fieldTextControl.invalid && (h.fieldTextControl.dirty || h.fieldTextControl.touched)))
                        },
                        dependencies: [F.O5, r.Fj, r.JJ, r.Q7, r.wO, r.nD, r.oH, Dh, Od],
                        styles: [".puro-form-control[_ngcontent-%COMP%]{border:1px solid #495057!important;border-radius:4px!important;box-shadow:0 0 0 30px #fff inset!important;box-sizing:border-box;height:55px!important;background-repeat:no-repeat}label[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400!important;font-size:16px;line-height:24px;color:#111}.puro-form-label[_ngcontent-%COMP%]:after{background-color:inherit!important}.form-floating[_ngcontent-%COMP%] > .puro-form-control[_ngcontent-%COMP%]:focus ~ label[_ngcontent-%COMP%], .form-floating[_ngcontent-%COMP%] > .puro-form-control[_ngcontent-%COMP%]:not(:placeholder-shown) ~ label[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400!important;font-size:16px;line-height:19px}.puro-form-control.is-invalid[_ngcontent-%COMP%]{border:2px solid #E00000!important}.is-password[_ngcontent-%COMP%]   .puro-form-control.is-invalid[_ngcontent-%COMP%]{background-image:none!important}.form-floating[_ngcontent-%COMP%] > .puro-form-control[_ngcontent-%COMP%]:focus:not(.is-invalid){border:2px solid #0A38E6!important}.form-floating[_ngcontent-%COMP%] > .puro-form-control[_ngcontent-%COMP%]:focus:not(.is-invalid) ~ .puro-btn-copy[_ngcontent-%COMP%]{border:2px solid #0A38E6!important;border-left:none!important}.puro-form-control[_ngcontent-%COMP%]:disabled{background:#F2F2F2;border:1px solid #DADADA!important;color:#495057!important;font-weight:400!important;box-shadow:none!important}.has-copy-icon[_ngcontent-%COMP%]   .puro-form-control[_ngcontent-%COMP%]{background:white!important;border:1px solid #495057!important;color:#000!important;font-weight:400!important}.password-viewer[_ngcontent-%COMP%], .edit-icon-viewer[_ngcontent-%COMP%]{position:absolute;right:3px;top:3px;bottom:3px;border:0;background:transparent;color:#fff;outline:none;margin:0;padding:0 10px;z-index:2}.input-button[_ngcontent-%COMP%]{position:absolute;right:0;margin:0;z-index:2}.needs-click-handler[_ngcontent-%COMP%]{display:grid}.puro-btn[_ngcontent-%COMP%]{padding:9px 24px;border:none;font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;cursor:pointer;height:58px;border-radius:0 4px 4px 0/0px 4px 4px 0px}.puro-btn-primary[_ngcontent-%COMP%]{background:#001996;padding:9px 24px;color:#fff;border:1px solid #001996}.puro-btn-primary[_ngcontent-%COMP%]:active{background:#001996;border:2px solid #00A9CE}.puro-btn-primary[_ngcontent-%COMP%]:hover, .puro-btn-primary[_ngcontent-%COMP%]:focus{background:#001371;border:1px solid #001371}.puro-helper-text[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:19px}.puro-btn-copy[_ngcontent-%COMP%]{padding:9px 24px;border:1px solid #495057!important;background-image:none;background-color:#fff;border-left:none!important}.password-viewer[_ngcontent-%COMP%]:focus   img[_ngcontent-%COMP%]{border:2px solid blue}"]
                    }), l
                })(),
                sm = (() => {
                    class l {
                        constructor(o) {
                            this.translate = o, this.language = new x.X(""), this.languageObservable = this.language.asObservable()
                        }
                        setLanguage(o) {
                            return this.language.next(o)
                        }
                        getLanguage() {
                            return this.languageObservable
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.LFG(Ge.sK))
                    }, l.\u0275prov = t.Yz7({
                        token: l,
                        factory: l.\u0275fac,
                        providedIn: "root"
                    }), l
                })(),
                ma = (() => {
                    class l {
                        constructor(o, h, D) {
                            this.translate = o, this.router = h, this.languageService = D, this.languages = {
                                en: "English",
                                fr: "French"
                            }, this.isDropUp = !1, this.changeLocale = new t.vpe, this.currentLanguage = "English", this.reload = !0, this.currentLanguageLocale = "en", this.unsubscribe$ = new V.x
                        }
                        checkLanguage(o) {
                            this.translate.setDefaultLang(o), this.translate.use(o), this.currentLanguage = this.languages[o], this.currentLanguageLocale = o
                        }
                        ngOnInit() {
                            this.currentYear = (new Date).getFullYear(), this.languageService.getLanguage().pipe((0, P.R)(this.unsubscribe$)).subscribe(o => {
                                ("en" == o || "fr" == o) && this.checkLanguage(o)
                            })
                        }
                        ngOnDestroy() {
                            this.unsubscribe$.next(), this.unsubscribe$.complete()
                        }
                        linkTermsService() {
                            let o = `https://www.purolator.com/${this.currentLanguageLocale}/terms-and-conditions-service`;
                            return "fr" == this.currentLanguageLocale && (o = `https://www.purolator.com/${this.currentLanguageLocale}/modalites-et-conditions-de-service`), o
                        }
                        linkTermsUse() {
                            let o = `https://www.purolator.com/${this.currentLanguageLocale}/terms-and-conditions-site-use`;
                            return "fr" == this.currentLanguageLocale && (o = `https://www.purolator.com/${this.currentLanguageLocale}/modalites-et-conditions-dutilisation-du-site`), o
                        }
                        linkPrivacyPolicy() {
                            let o = `https://www.purolator.com/${this.currentLanguageLocale}/privacy-statement`;
                            return "fr" == this.currentLanguageLocale && (o = `https://www.purolator.com/${this.currentLanguageLocale}/politique-de-confidentialite`), o
                        }
                        showCookiePreferences(o) {
                            typeof Osano < "u" && Osano.cm && "function" == typeof Osano.cm.showDrawer && Osano.cm.showDrawer("osano-cm-dom-info-dialog-open"), o.preventDefault()
                        }
                        changeLanguage(o) {
                            this.currentLanguage = this.languages[o], this.translate.setDefaultLang(o), this.translate.use(o), this.currentLanguageLocale = o, this.languageService.setLanguage(o), this.reload ? window.location.href = `/${o}${window.location.pathname}${window.location.search}` : this.changeLocale.emit(`${o}-CA`)
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.Y36(Ge.sK), t.Y36(Qn.F0), t.Y36(sm))
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-common-footer"]
                        ],
                        inputs: {
                            currentLanguage: "currentLanguage",
                            reload: "reload"
                        },
                        outputs: {
                            changeLocale: "changeLocale"
                        },
                        decls: 34,
                        vars: 25,
                        consts: [
                            ["id", "footer ", 1, "footer-1", "puro-common_footer-container"],
                            [1, "puro-common_footer_main", "d-md-flex", "justify-content-sm-between"],
                            [1, "col-md-2", "col-12"],
                            ["dropdown", "", 1, "btn-group", "puro-common_dropdown-btn-grp", "puro-common_footer-language-button-grp", 3, "dropup"],
                            ["id", "button-dropup", "dropdownToggle", "", "type", "button", "aria-controls", "dropdown-dropup", "aria-label", "Language Switcher", 1, "btn", "btn-primary", "dropdown-toggle", "puro-common_dropdown-button", "puro-common_dropdown-language"],
                            ["src", "./assets/icons/globe.svg", "alt", "Languages"],
                            [1, "puro-common_dropdown-button-text"],
                            ["id", "dropdown-dropup", "class", "dropdown-menu puro-common_dropdown-language-list-parent", "role", "menu", "aria-labelledby", "button-dropup", 4, "dropdownMenu"],
                            [1, "col-md-10", "col-12", "d-md-flex", "justify-content-md-end", "flex-column"],
                            [1, "nav", "col-12", "d-inline", "d-md-flex", "justify-content-sm-end"],
                            [1, "nav-item", "puro-common_footer-nav-item"],
                            ["href", "#.", "target", "_blank", "rel", "noreferrer", 1, "nav-link", "puro-common_footer-nav-link"],
                            ["href", "#", 1, "nav-link", "puro-common_footer-nav-link", 3, "click"],
                            [1, "footer-copyright"],
                            [1, "col-md-12", "d-sm-flex", "justify-content-start", "justify-content-md-end"],
                            [1, "puro-common_footer-copyright"],
                            ["id", "dropdown-dropup", "role", "menu", "aria-labelledby", "button-dropup", 1, "dropdown-menu", "puro-common_dropdown-language-list-parent"],
                            ["role", "menuitem", "class", "puro-common_dropdown-list-language", 4, "ngIf", "ngIfElse"],
                            ["elseBlock", ""],
                            ["role", "menuitem", 1, "puro-common_dropdown-list-language"],
                            [1, "dropdown-item", "puro-common_dropdown-item-language", 3, "click"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.TgZ(0, "footer", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "button", 4), t._UZ(5, "img", 5), t.TgZ(6, "span", 6), t._uU(7), t.ALo(8, "translate"), t.qZA()(), t.YNc(9, No, 4, 2, "ul", 7), t.qZA()(), t.TgZ(10, "div", 8)(11, "ul", 9)(12, "li", 10)(13, "a", 11), t._uU(14), t.ALo(15, "translate"), t.qZA()(), t.TgZ(16, "li", 10)(17, "a", 11), t._uU(18), t.ALo(19, "translate"), t.qZA()(), t.TgZ(20, "li", 10)(21, "a", 11), t._uU(22), t.ALo(23, "translate"), t.qZA()(), t.TgZ(24, "li", 10)(25, "a", 12), t.NdJ("click", function(Z) {
                                return h.showCookiePreferences(Z)
                            }), t._uU(26), t.ALo(27, "translate"), t.qZA()()(), t.TgZ(28, "div", 13)(29, "div", 14)(30, "p", 15), t._uU(31), t.ALo(32, "translate"), t.ALo(33, "translate"), t.qZA()()()()()()), 2 & o && (t.xp6(3), t.Q6J("dropup", h.isDropUp), t.xp6(4), t.hij(" ", t.lcZ(8, 11, h.currentLanguage), " "), t.xp6(6), t.uIk("href", h.linkTermsService(), t.LSH), t.xp6(1), t.Oqu(t.lcZ(15, 13, "Terms and Conditions of Service")), t.xp6(3), t.uIk("href", h.linkTermsUse(), t.LSH), t.xp6(1), t.Oqu(t.lcZ(19, 15, "Terms and Conditions of Site Use")), t.xp6(3), t.uIk("href", h.linkPrivacyPolicy(), t.LSH), t.xp6(1), t.Oqu(t.lcZ(23, 17, "Privacy Policy")), t.xp6(4), t.Oqu(t.lcZ(27, 19, "Cookie Preferences")), t.xp6(5), t.AsE(" ", t.lcZ(32, 21, "copywright1"), " 2024 ", t.lcZ(33, 23, "copywright2"), " "))
                        },
                        dependencies: [F.O5, _r.Hz, _r.Mq, _r.TO, Ge.X$],
                        styles: ['.puro-common_footer-container[_ngcontent-%COMP%]{margin:20px auto 0;max-width:1856px;padding:12px 24px;background-color:#d3d3d3;position:relative;left:0;right:0;bottom:0;width:100%}@media (max-width: 1920px){.puro-common_footer-container[_ngcontent-%COMP%]{max-width:100%;margin:20px 0 0}}.puro-common_footer-container[_ngcontent-%COMP%]   .puro-common_footer_main[_ngcontent-%COMP%]   .puro-common_footer-language-button-grp[_ngcontent-%COMP%]{width:112px;height:30px;margin-bottom:9px}.puro-common_footer-nav-item[_ngcontent-%COMP%]{height:23px;display:flex;align-items:center;outline:0}.puro-common_footer-nav-item[_ngcontent-%COMP%]   .puro-common_footer-nav-link[_ngcontent-%COMP%]{color:#111}.puro-common_dropdown-language-list-parent[_ngcontent-%COMP%]{transform:translate(22px)!important;min-width:88px;height:32px;padding:0}.puro-common_dropdown-list-language[_ngcontent-%COMP%]{width:88px;height:32px;display:flex;align-items:center}.puro-common_dropdown-language[_ngcontent-%COMP%]{background:none!important;border:none;color:#111!important;outline:0;box-shadow:none;height:30px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:space-around!important}.puro-common_dropdown-language[_ngcontent-%COMP%]:focus{box-shadow:none!important}.puro-common_dropdown-item-language[_ngcontent-%COMP%]{width:88px;height:32px;text-align:center;font-size:14px;font-family:Open Sans;font-style:normal;font-weight:400}.puro-common_dropdown-item-language[_ngcontent-%COMP%]:hover, .puro-common_dropdown-item-language[_ngcontent-%COMP%]:active{background:none!important;background-color:none!important;color:#001996!important}.puro-common_footer-nav-link[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:600;font-size:12px;line-height:16px;padding:4px}.puro-common_footer-nav-link[_ngcontent-%COMP%]:hover{color:#001996!important}.puro-common_footer-copyright[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:12px;line-height:19px;padding-top:5px}@media (min-width: 992px){.puro-common_footer-nav-item[_ngcontent-%COMP%]:not(:last-of-type):after{content:"|"}}@media (min-width: 768px) and (max-width: 991.5px){.puro-common_footer-nav-item[_ngcontent-%COMP%]:not(:last-of-type):after{content:"|"}}@media (max-width: 767px){.puro-common_footer-container[_ngcontent-%COMP%]{min-height:154px}.puro-common_footer-nav-link[_ngcontent-%COMP%]{padding-left:0}}a[_ngcontent-%COMP%]:focus-visible, button[_ngcontent-%COMP%]:focus-visible{outline:1px solid #001996!important}']
                    }), l
                })(),
                wl = (() => {
                    class l {
                        constructor(o) {
                            this.config = o, this.dropdownValues = {}, this.customClass = {}, this.dropdown = {
                                isOpen: !1
                            }
                        }
                        ngOnInit() {}
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.Y36(lf))
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["app-puro-common-dropdown"]
                        ],
                        inputs: {
                            dropdownValues: "dropdownValues",
                            customClass: "customClass"
                        },
                        decls: 7,
                        vars: 3,
                        consts: [
                            ["dropdown", "", 1, "btn-group", "puro-common_dropdown-btn-grp"],
                            ["dropdown", "bs-dropdown"],
                            ["id", "button-animated", "dropdownToggle", "", "type", "button", "aria-controls", "dropdown-animated", 1, "btn", "btn-primary", "dropdown-toggle", "puro-common_dropdown-button"],
                            [1, "puro-common_dropdown-button-text"],
                            ["id", "dropdown-animated", "class", "dropdown-menu puro-common_dropdown-menu bg-white", "role", "menu", "aria-labelledby", "button-animated", 4, "dropdownMenu"],
                            ["id", "dropdown-animated", "role", "menu", "aria-labelledby", "button-animated", 1, "dropdown-menu", "puro-common_dropdown-menu", "bg-white"],
                            ["class", "puro-common_dropdown-list", 4, "ngFor", "ngForOf"],
                            [1, "puro-common_dropdown-list"],
                            ["target", "_blank", "rel", "noreferrer", 1, "dropdown-item", "puro-common_dropdown-item", 3, "href"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.TgZ(0, "div", 0, 1)(2, "button", 2)(3, "span", 3), t._uU(4), t.ALo(5, "translate"), t.qZA()(), t.YNc(6, hc, 2, 1, "ul", 4), t.qZA()), 2 & o && (t.xp6(4), t.hij(" ", t.lcZ(5, 1, h.dropdownValues.key), " "))
                        },
                        dependencies: [F.sg, _r.Hz, _r.Mq, _r.TO, Ge.X$],
                        styles: [".puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]{background:none!important;background-color:none!important;border:none;font-family:Open Sans;font-style:normal;font-weight:600;font-size:16px;line-height:24px;color:#111;height:62px;display:flex;align-items:center;text-align:center;border-radius:0;outline:none;box-shadow:none}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:active{background:none!important;background-color:none!important;color:#111}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:after{margin-left:8px}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:focus-visible{outline:none!important;border:2px solid #001996!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;height:24px!important;display:flex!important;align-items:center!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]:focus-visible{outline:none!important;border:3px solid #001996!important;background-color:#fff!important}@media (min-width: 992px){.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]{background:none!important;background-color:none!important;border:none;font-family:Open Sans!important;font-style:normal;font-weight:600;font-size:16px;line-height:24px;color:#111;height:62px!important;display:flex;align-items:center;text-align:center;border-radius:0;padding:0 .5rem!important;clip-path:inset(0px 1px 0px 1px)}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]   .puro-common_dropdown-button-text[_ngcontent-%COMP%]{text-transform:uppercase}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:active{background:none!important;background-color:none!important;color:#111}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:hover{box-shadow:inset 0 -5px #00a2c7!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:hover:after{color:#001478!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[aria-expanded=true][_ngcontent-%COMP%]{box-shadow:inset 0 -5px #001996!important;color:#111!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[aria-expanded=true][_ngcontent-%COMP%]:after{color:#001478!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:not(:hover)[aria-expanded=false]{box-shadow:none!important;color:#111!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:after{margin-left:8px;margin-bottom:-5px;margin-top:-5px;color:#001996}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]{min-width:30px;max-height:0;overflow:hidden;visibility:hidden;box-shadow:none;border:none;transform:translateY(8px)!important;display:grid;gap:16px;padding:20px}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu.show[_ngcontent-%COMP%]{max-height:300px!important;visibility:visible!important;transition:none!important;box-shadow:0 4px 10px #0000001f}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]{padding:0!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]:hover, .puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]:focus-visible{color:#001996;background:none!important;background-color:none!important}}@media (min-width: 576px) and (max-width: 991.5px){.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-height:24px!important}.puro-common_dropdown-btn-grp.show[_ngcontent-%COMP%]{max-height:100px!important}.puro-common_dropdown-btn-grp.show[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]{max-height:24px!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;padding:0!important;height:24px!important;color:#111!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:active{background:none!important;background-color:none!important;color:#111!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[aria-expanded=true][_ngcontent-%COMP%]{color:#001996!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:after{right:0;position:absolute;border:none;transform:rotate(0);transition:transform .3s;content:url(./assets/icons/right_arrow.svg);padding-right:5px}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[aria-expanded=true][_ngcontent-%COMP%]:after{transition:transform .3s;content:url(./assets/icons/down_arrow_blue.svg)}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]{min-width:30px;margin-top:12px;animation:fadeIn .5s;max-height:0;transition:all .3s ease-in;overflow:hidden;visibility:hidden;box-shadow:none;border:none;padding:0!important;display:grid;gap:12px}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu.show[_ngcontent-%COMP%]{transition:all .3s ease-in-out!important;max-height:300px!important;visibility:visible!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]:focus, .puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]:hover{background:none!important;background-color:none!important;color:#001996!important}}@media (max-width: 575px){.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]{display:flex;flex-direction:column;max-height:24px}.puro-common_dropdown-btn-grp.show[_ngcontent-%COMP%]{max-height:100px!important}.puro-common_dropdown-btn-grp.show[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]{max-height:24px}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;padding:0!important;color:#111!important;height:24px!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:active{background:none!important;background-color:none!important;color:#111}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[aria-expanded=true][_ngcontent-%COMP%]{color:#001996!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[_ngcontent-%COMP%]:after{right:0;position:absolute;border:none;transform:rotate(0);transition:transform .3s;content:url(./assets/icons/right_arrow.svg);padding-right:5px}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-button[aria-expanded=true][_ngcontent-%COMP%]:after{transition:transform .3s;content:url(./assets/icons/down_arrow_blue.svg)}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]{min-width:30px;animation:fadeIn .5s;max-height:0;transition:all .3s ease-in;overflow:hidden;visibility:hidden;box-shadow:none;border:none;padding:0!important;display:grid;gap:12px;margin-top:12px}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu.show[_ngcontent-%COMP%]{transition:all .3s ease-in-out!important;max-height:300px!important;visibility:visible!important}.puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]:focus, .puro-common_dropdown-btn-grp[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_dropdown-list[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]:hover{background:none!important;background-color:none!important;color:#001996!important}}a[_ngcontent-%COMP%]:focus-visible, button[_ngcontent-%COMP%]:focus-visible{outline:1px solid #001996!important}"]
                    }), l
                })(),
                am = (() => {
                    class l {
                        constructor(o, h) {
                            this.translate = o, this.config = h, this.customClass = {}, this.isCommonProfile = !1, this.innerWidth = 0, this.showOptions = !1, this.hostName = "", this.dropdownExpanded = {}, this.routeToDestination = new t.vpe, this.dropdown = {
                                isOpen: !1
                            }, this.hostName = `${this.config.environment.s3URL}`
                        }
                        ngOnInit() {
                            this.innerWidth = window.innerWidth, this.showOptions = window.innerWidth > 991
                        }
                        onResize(o) {
                            this.innerWidth = o.target.innerWidth, this.showOptions = o.target.innerWidth > 991
                        }
                        loadUrl(o) {
                            window.location.href = o
                        }
                        returnLink(o, h, D, Z) {
                            document.getElementById("puro-common_navbar-toggler") ? .click(), "support" === D ? window.open(this.translate.instant(Z), "_blank") : "profile" == D ? ("Log out" !== h ? .name && "Fermeture de session" !== h ? .name && (window.location.href = h ? .link()), h ? .callback(o)) : this.routeToDestination.emit(Z)
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.Y36(Ge.sK), t.Y36(lf))
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-common-navigation"]
                        ],
                        hostBindings: function(o, h) {
                            1 & o && t.NdJ("resize", function(Z) {
                                return h.onResize(Z)
                            }, !1, t.Jf7)
                        },
                        inputs: {
                            menu: "menu",
                            displayName: "displayName",
                            app_intent: "app_intent",
                            customClass: "customClass",
                            isCommonProfile: "isCommonProfile"
                        },
                        outputs: {
                            routeToDestination: "routeToDestination"
                        },
                        decls: 2,
                        vars: 1,
                        consts: [
                            ["id", "main-menu", 1, "puro-common_side-bar-menu"],
                            ["class", "accordion-item puro-common_accordion-item puro-common_side-bar-product-name", 4, "ngFor", "ngForOf"],
                            [1, "accordion-item", "puro-common_accordion-item", "puro-common_side-bar-product-name"],
                            [4, "ngIf", "ngIfElse"],
                            ["elseBlock", ""],
                            ["data-bs-parent", "#main-menu", 1, "accordion-collapse", "collapse", "puro-common_accordion-item-collapsable-section", 3, "id"],
                            [1, "puro-common_side-bar-list"],
                            ["class", "puro-common_side-bar-options", 4, "ngFor", "ngForOf"],
                            [1, "accordion-header", "puro-common_accordion-header", "puro-common_accordion-header-name"],
                            ["type", "button", "data-bs-toggle", "collapse", "aria-expanded", "false", 1, "accordion-button", "collapsed", "puro-common_sidebar-button", "puro-common_sidebar-font", "puro-common_sidebar-button-product"],
                            ["type", "button", "data-bs-toggle", "collapse", "aria-expanded", "false", 1, "accordion-button", "collapsed", "puro-common_sidebar-button", "puro-common_sidebar-button-no-options", "puro-common_sidebar-font", "puro-common_sidebar-button-product", 3, "click"],
                            [1, "puro-common_side-bar-options"],
                            [1, "accordion-item", "puro-common_accordion"],
                            ["class", "link puro-common_link-no-collapse", "rel", "noreferrer", 4, "ngIf"],
                            ["class", "link puro-common_link-no-collapse", 3, "active", "click", 4, "ngIf"],
                            ["class", "accordion-item puro-common_accordion-item", 4, "ngIf"],
                            ["rel", "noreferrer", 1, "link", "puro-common_link-no-collapse"],
                            ["class", "puro-common_sidebar-options-icon", "alt", "icon", 4, "ngIf"],
                            ["alt", "icon", 1, "puro-common_sidebar-options-icon"],
                            [1, "link", "puro-common_link-no-collapse", 3, "click"],
                            [1, "accordion-item", "puro-common_accordion-item"],
                            [1, "accordion-header", "puro-common_accordion-header", 3, "id"],
                            ["type", "button", "data-bs-toggle", "collapse", 1, "accordion-button", "collapsed", "puro-common_sidebar-button", "puro-common_sidebar-button-child", "puro-common_sidebar-font"],
                            [1, "accordion-collapse", "collapse", "puro-common_accordion-item-collapsable-section", 3, "id"],
                            [1, "accordion-body", "puro-common_accordion-body"],
                            [4, "ngFor", "ngForOf"],
                            ["class", "link puro-common_link-collapsable child-menu puro-common_sidebar-font", "style", "text-align:left", 3, "active", "click", 4, "ngIf"],
                            ["rel", "noreferrer", "class", "link puro-common_link-collapsable child-menu puro-common_sidebar-font", "style", "text-align:left", 3, "click", 4, "ngIf"],
                            [1, "link", "puro-common_link-collapsable", "child-menu", "puro-common_sidebar-font", 2, "text-align", "left", 3, "click"],
                            ["rel", "noreferrer", 1, "link", "puro-common_link-collapsable", "child-menu", "puro-common_sidebar-font", 2, "text-align", "left", 3, "click"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.TgZ(0, "div", 0), t.YNc(1, bh, 7, 7, "div", 1), t.qZA()), 2 & o && (t.xp6(1), t.Q6J("ngForOf", h.menu))
                        },
                        dependencies: [F.sg, F.O5, Ge.X$],
                        styles: ["@media only screen and (min-width: 992px){.puro-common_accordion-header-name[_ngcontent-%COMP%]{display:none}}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]{font-family:Open Sans!important;text-decoration:none;color:#000;display:flex;align-items:center;padding:15px 0 15px 15px;gap:11px;border-radius:0!important;background:none;width:100%;border:none;box-shadow:none;background-color:#fff;font-weight:400!important}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.puro-common_sidebar-button-product[_ngcontent-%COMP%]{font-size:20px!important}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]:not(.lastItem){border-bottom:1px solid rgba(0,162,199,.35)!important}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[aria-expanded=true][_ngcontent-%COMP%]:not(:focus-visible), .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.active[_ngcontent-%COMP%]:not(:focus-visible){font-weight:600!important;border-bottom:3px solid rgba(0,162,199,.35)!important}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[aria-expanded=true][_ngcontent-%COMP%], .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.active[_ngcontent-%COMP%]{font-weight:600!important;color:#001996}@media only screen and (min-width: 992px){.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[aria-expanded=true][_ngcontent-%COMP%], .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.active[_ngcontent-%COMP%]{font-weight:600!important;background-color:#00a2c759!important}}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.active[aria-expanded=true][_ngcontent-%COMP%]:after{content:url(./assets/icons/accordion_down_arrow.svg)!important;filter:brightness(0) saturate(100%) invert(10%) sepia(63%) saturate(6203%) hue-rotate(232deg) brightness(83%) contrast(114%)}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.active[aria-expanded=false][_ngcontent-%COMP%]:after{content:url(./assets/icons/accordion_arrow.svg)!important;filter:brightness(0) saturate(100%) invert(10%) sepia(63%) saturate(6203%) hue-rotate(232deg) brightness(83%) contrast(114%)}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.collapsed[_ngcontent-%COMP%]:after{content:url(./assets/icons/accordion_arrow.svg)!important;background-image:none!important;position:relative;top:0}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]:not(.collapsed):after{content:url(./assets/icons/accordion_down_arrow.svg)!important;background-image:none!important;position:relative;transform:rotate(0)!important}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]:after{margin-right:13px;width:-moz-fit-content;width:fit-content;content:url(./assets/icons/accordion_arrow.svg)!important;background-image:none!important;position:relative;top:0}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]:hover, .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]:focus-visible{color:#001996!important}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]:hover.collapsed:after, .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button[_ngcontent-%COMP%]:focus-visible.collapsed:after{content:url(./assets/icons/accordion_right_blue_arrow.svg)!important;filter:brightness(0) saturate(100%) invert(10%) sepia(63%) saturate(6203%) hue-rotate(232deg) brightness(83%) contrast(114%);right:-.2px}.puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button.puro-common_sidebar-button-no-options[_ngcontent-%COMP%]:after{display:none}.puro-common_side-bar-menu[_ngcontent-%COMP%]{background-color:#fff}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item.puro-common_side-bar-product-name[_ngcontent-%COMP%]{border:none!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item.puro-common_side-bar-product-name[_ngcontent-%COMP%]   .puro-common_accordion-header-name[_ngcontent-%COMP%]   .puro-common_sidebar-button.puro-common_sidebar-font[_ngcontent-%COMP%]{min-height:50px;text-align:left}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]{padding:0;list-style:none}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_side-bar-options[_ngcontent-%COMP%]:first-child   .puro-common_accordion[_ngcontent-%COMP%]{border:none!important}@media (min-width: 992px){.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_side-bar-options[_ngcontent-%COMP%]:first-child   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_side-bar-options[_ngcontent-%COMP%]:first-child   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]{border-top-left-radius:4px!important;border-top-right-radius:4px!important}}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]{border:none!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]{text-decoration:none;color:#000;display:flex;align-items:center;padding:15px 0 15px 15px;gap:11px;border-radius:0!important;background:none;width:100%;border:none;font-family:Open Sans!important;font-style:normal;font-weight:400;font-size:16px;line-height:24px;letter-spacing:.01em;color:#111;font-weight:400!important;font-size:16px!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:active   .puro-common_sidebar-options-icon[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:focus-visible   .puro-common_sidebar-options-icon[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:hover   .puro-common_sidebar-options-icon[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse.active[_ngcontent-%COMP%]   .puro-common_sidebar-options-icon[_ngcontent-%COMP%]{filter:brightness(0) saturate(100%) invert(10%) sepia(63%) saturate(6203%) hue-rotate(232deg) brightness(83%) contrast(114%)}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:active, .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse.active[_ngcontent-%COMP%]{font-weight:600!important;background:rgba(0,162,199,.35)!important;color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:focus-visible{font-weight:600!important;background:rgba(0,162,199,.15)!important;color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:hover{color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]{border-radius:0!important;border:none!important;background-color:#fff}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]{border:none!important;box-shadow:none;color:#000!important;font-weight:400!important;font-size:16px!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:active   .puro-common_sidebar-options-icon[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child.active[_ngcontent-%COMP%]   .puro-common_sidebar-options-icon[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[aria-expanded=true][_ngcontent-%COMP%]   .puro-common_sidebar-options-icon[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:focus-visible   .puro-common_sidebar-options-icon[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:hover   .puro-common_sidebar-options-icon[_ngcontent-%COMP%]{filter:brightness(0) saturate(100%) invert(10%) sepia(63%) saturate(6203%) hue-rotate(232deg) brightness(83%) contrast(114%)}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:active, .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child.active[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[aria-expanded=true][_ngcontent-%COMP%]{background:rgba(0,162,199,.35)!important;color:#001996!important;font-weight:600!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:focus-visible{font-weight:600;background:rgba(0,162,199,.15)!important;color:#001996!important;font-weight:600!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:hover{color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]{padding:0!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]{font-family:Open Sans!important;text-decoration:none;color:#000;display:flex;align-items:center;padding:15px 0 15px 15px;gap:11px;border-radius:0!important;background:none;width:100%;border:none;min-height:50px!important;padding:10px 0 10px 35px!important;font-family:Open Sans;font-style:normal;font-weight:400;font-size:15px;line-height:19px;color:#495057;border-left:5px solid #ededed}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]:focus-visible{font-weight:600;background-color:#00a2c70d!important;border-left:5px solid #00a2c7!important;color:#001996!important;outline:none!important;font-weight:600!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]:hover{background-color:#ededed66!important;color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]:active, .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable.active[_ngcontent-%COMP%], .puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]:focus:not(:focus-visible){color:#001996!important;border-left:5px solid #00a2c7!important;background-color:#fff!important;font-weight:600!important}@media (max-width: 991.5px){.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]{border:none!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]{text-decoration:none;color:#000;display:flex;align-items:center;padding:15px 0 15px 15px;gap:11px;border-radius:0!important;background:none;width:100%;border:none;font-family:Open Sans!important;font-style:normal;font-weight:400;font-size:16px;line-height:24px;letter-spacing:.01em;color:#111;background-color:#f5f6f6!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:focus-visible{background:rgba(0,162,199,.15)!important;color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_link-no-collapse[_ngcontent-%COMP%]:hover{color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]{background-color:#f5f6f6!important;border:none!important;box-shadow:none}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:focus-visible{background:rgba(0,162,199,.15)!important;color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-header[_ngcontent-%COMP%]   .puro-common_sidebar-button-child[_ngcontent-%COMP%]:hover{color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]{background-color:#fff!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]{border-left:5px solid white!important;font-weight:400;font-size:15px;font-family:Ope}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]:hover{border-left:5px solid #ededed!important;color:#001996!important}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]:focus-visible{background:rgba(0,162,199,.15)!important;color:#001996!important;font-weight:600}.puro-common_side-bar-menu[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_side-bar-list[_ngcontent-%COMP%]   .puro-common_accordion[_ngcontent-%COMP%]   .puro-common_accordion-item[_ngcontent-%COMP%]   .puro-common_accordion-item-collapsable-section[_ngcontent-%COMP%]   .puro-common_accordion-body[_ngcontent-%COMP%]   .puro-common_link-collapsable[_ngcontent-%COMP%]:focus-visible:not(:focus-visible-visible){background:white!important;font-weight:600}}a[_ngcontent-%COMP%]:focus-visible, button[_ngcontent-%COMP%]:focus-visible{outline:1px solid #001996!important;position:relative;z-index:1}"]
                    }), l
                })(),
                Bm = (() => {
                    class l {
                        constructor(o, h, D, Z, Ze) {
                            this.translate = o, this.http = h, this.router = D, this.languageService = Z, this.config = Ze, this.menu = [], this.displayName = "", this.app_intent = "", this.isLoggedIn = !0, this.currentLanguageLocale = "en", this.isCommonProfile = !1, this.cloudFrontPrefix = "", this.routeToDestination = new t.vpe, this.signOut = new t.vpe, this.accessibleApplications = [], this.locale = "en", this.skipToLinkPath = "", this.hostName = "", this.logoutURL = "logout", this.additionalMenuItem = [], this.supportDropdown = {
                                key: "Support",
                                values: [{
                                    name: "FAQs / Help",
                                    link: () => this.translate.instant("supportURL")
                                }, {
                                    name: "Contact Us",
                                    link: () => this.translate.instant("contactUsURL")
                                }]
                            }, this.profileDropdown = {}, this.unsubscribe$ = new V.x, this.menuItems = [], this.skipToLinkPath = `${window.location.href}#main`, this.hostName = `${this.config.environment?.s3URL}`, this.additionalMenuItem = [{
                                productName: "Support",
                                productId: "support",
                                isExternal: !1,
                                isActive: !1,
                                productMenuOptions: [{
                                    name: "FAQs / Help",
                                    type: "link",
                                    isExternal: !1,
                                    isActive: !1,
                                    href: this.translate.instant("supportURL")
                                }, {
                                    name: "Contact Us",
                                    type: "link",
                                    isExternal: !1,
                                    isActive: !1,
                                    href: this.translate.instant("contactUsURL")
                                }]
                            }, {
                                productName: "Profile",
                                productId: "profile",
                                isExternal: !1,
                                isActive: !1,
                                productMenuOptions: [{
                                    name: "Profile Settings",
                                    type: "link",
                                    isExternal: !1,
                                    isActive: !1,
                                    link: () => `${this.hostName}/profile-setting?lang=${this.currentLanguageLocale.toLowerCase()}`,
                                    href: `${this.hostName}/profile-setting?lang=${this.currentLanguageLocale.toLowerCase()}`
                                }, {
                                    name: "User Management",
                                    type: "link",
                                    isExternal: !1,
                                    isActive: !1,
                                    link: () => `${this.config.environment["user-management"]}/${this.currentLanguageLocale}`,
                                    href: `${this.config.environment["user-management"]}/${this.currentLanguageLocale}`
                                }, {
                                    name: "Log out",
                                    type: "link",
                                    isExternal: !1,
                                    isActive: !1,
                                    href: "#",
                                    link: () => "#",
                                    callback: ut => {
                                        ut ? .preventDefault(), this.signOut.emit(this)
                                    }
                                }]
                            }], this.profileDropdown = {
                                key: "Profile",
                                values: [{
                                    name: "Profile Settings",
                                    link: () => `${this.hostName}/profile-setting?lang=${this.currentLanguageLocale.toLowerCase()}`,
                                    callback: ut => {}
                                }, {
                                    name: "User Management",
                                    link: () => `${this.config.environment["user-management"]}/${this.currentLanguageLocale}`,
                                    callback: ut => {}
                                }, {
                                    name: "Log out",
                                    link: () => "#",
                                    callback: ut => {
                                        ut ? .preventDefault(), this.signOut.emit(this)
                                    }
                                }]
                            }
                        }
                        getAllApplicationNamesForUser() {
                            let o = localStorage.getItem("okta-token-storage");
                            if (("{}" === o || !o) && (o = JSON.stringify(o)), this.isLoggedIn && o) {
                                let h = JSON.parse(o);
                                if (Object.keys(h) ? .length > 0) {
                                    h ? .accessToken ? .claims ? .email ? .toLowerCase() ? .includes("@purolator.com") && (this.profileDropdown.values = this.profileDropdown ? .values.filter(Ze => "Profile Settings" !== Ze.name && "Param\xe8tres du profil" !== Ze.name), this.additionalMenuItem = this.additionalMenuItem ? .map(Ze => ("profile" === Ze ? .productId && (Ze.productMenuOptions = Ze ? .productMenuOptions.filter(ut => "Profile Settings" !== ut.name && "Param\xe8tres du profil" !== ut.name)), Ze))), this.menuItems = [], this.isCommonProfile && (this.menu = []), this.menuItems = [...this.menu], this.accessibleApplications = [];
                                    let Z = h ? .accessToken ? .claims ? .group;
                                    Z && (Z = Z ? .map(Ze => Ze ? .toLowerCase() ? .includes("vision") ? "vision" : Ze ? .toLowerCase() ? .includes("api") ? "api-integrator" : Ze ? .toLowerCase() ? .includes("eso") ? "eso" : Ze ? .toLowerCase() ? .includes("reverselogix") ? "reverselogix" : Ze ? .toLowerCase() ? .includes("returns portal b2b") ? "returns portal b2b" : null).filter(Ze => null !== Ze)), Z && Z ? .forEach(Ze => {
                                        let ut = this.config.environment;
                                        void 0 !== ut[Ze] && (this.accessibleApplications.push(ut[Ze]), this.app_intent ? .toLowerCase() !== Ze ? .toLowerCase() || this.isCommonProfile) && this.menuItems.push({
                                            productId: ut[Ze].appIntent,
                                            productName: ut[Ze].appName,
                                            href: "fr" === this.currentLanguageLocale ? ut[Ze].fr : ut[Ze].en,
                                            hasOptions: !1
                                        })
                                    }), this.menuItems = [...this.menuItems, ...this.additionalMenuItem]
                                }
                            }
                        }
                        ngOnChanges(o) {
                            this.currentLanguageLocale !== o.currentLanguageLocale && this.languageService.setLanguage(this.currentLanguageLocale)
                        }
                        ngOnInit() {
                            setTimeout(() => {
                                this.languageService.setLanguage(void 0 === this.currentLanguageLocale ? "en" : this.currentLanguageLocale)
                            }, 100), this.languageService.getLanguage().subscribe(o => {
                                this.currentLanguageLocale = o ? .includes("en") ? "en" : o ? .includes("fr") ? "fr" : "en", setTimeout(() => {
                                    this.getAllApplicationNamesForUser()
                                }, 0)
                            })
                        }
                        ngOnDestroy() {
                            this.unsubscribe$.next(), this.unsubscribe$.complete()
                        }
                        routeToURL(o) {
                            this.routeToDestination.emit(o)
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)(t.Y36(Ge.sK), t.Y36(K.eN), t.Y36(Qn.F0), t.Y36(sm), t.Y36(lf))
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-common-header"]
                        ],
                        inputs: {
                            menu: "menu",
                            displayName: "displayName",
                            app_intent: "app_intent",
                            isLoggedIn: "isLoggedIn",
                            currentLanguageLocale: "currentLanguageLocale",
                            isCommonProfile: "isCommonProfile",
                            cloudFrontPrefix: "cloudFrontPrefix"
                        },
                        outputs: {
                            routeToDestination: "routeToDestination",
                            signOut: "signOut"
                        },
                        features: [t.TTD],
                        decls: 5,
                        vars: 3,
                        consts: [
                            [4, "ngIf", "ngIfThen", "ngIfElse"],
                            ["postLogin", ""],
                            ["preLogin", ""],
                            [1, "skipToContent", "link", 3, "href"],
                            ["id", "puro-common_header", 1, "puro-common_header-container"],
                            [1, "navbar", "navbar-expand-lg", "navbar-dark", "puro-common_header"],
                            [1, "container-fluid", "puro-common_container-fluid"],
                            [1, "puro-common_navigation-container"],
                            ["aria-label", "Purolator API Home", 1, "puro-common_logo-link"],
                            ["src", "./assets/icons/purolator_logo.svg", "height", "50", "alt", "Purolator API Home", 1, "puro-common_logo-image"],
                            [1, "puro-common_mobile-right-nav"],
                            [1, "nav-link", "d-block", "d-lg-none", "d-xl-none", "puro-common_nav-link", "puro-common_home", "puro-common_home_button"],
                            ["src", "./assets/icons/house.svg", "alt", "home", 1, "puro-common_home-icon"],
                            ["aria-label", "Notifications", 1, "nav-link", "d-lg-none", "d-xl-none", "puro-common_nav-link", "puro-common_notification", "puro-common_notification_button"],
                            ["src", "./assets/icons/notification_icon.svg", "alt", "notification", 1, "puro-common_notification-icon"],
                            ["id", "puro-common_navbar-toggler", "type", "button", "data-bs-toggle", "collapse", "data-bs-target", "#puro_common-navbarNav", "aria-controls", "puro_common-navbarNav", "aria-expanded", "false", "aria-label", "Toggle navigation", 1, "navbar-toggler", "puro-common_navbar-toggler"],
                            [1, "icon", "puro-common_hamburger-icon"],
                            ["id", "puro_common-navbarNav", 1, "collapse", "navbar-collapse", "puro-common_collapsable-container"],
                            [1, "navbar-nav", "puro-common_navbar-nav", "puro-common_center-nav"],
                            ["class", "nav-item puro-common_nav-item puro-common_nav-parent-item puro-common_nav-parent-item-hide-web", 4, "ngFor", "ngForOf"],
                            [1, "nav-item", "puro-common_nav-item", "puro-common_nav-parent-item", "puro-common_nav-parent-item-hide-web"],
                            [3, "dropdownValues"],
                            [1, "nav-item", "puro-common_nav-item", "puro-common_nav-parent-item", "side-bar"],
                            [3, "menu", "displayName", "isCommonProfile", "app_intent", "routeToDestination"],
                            [1, "navbar-nav", "puro-common_navbar-nav", "puro-common_right-nav", "d-none", "d-lg-flex", "d-xl-flex"],
                            [1, "d-none", "d-md-block"],
                            [1, "puro-common_currentLanguageLocale"],
                            [1, "nav-item", "puro-common_home"],
                            [1, "nav-link", "d-none", "d-lg-block", "d-xl-block", "puro-common_nav-link", "puro-common_home", "puro-common_home_button"],
                            [1, "nav-item", "puro-common_notification"],
                            [1, "nav-link", "d-none", "d-lg-block", "d-xl-block", "puro-common_nav-link", "puro-common_notification", "puro-common_notification_button"],
                            ["src", "./assets/icons/notification_icon.svg", "alt", "notifications", 1, "puro-common_notification-icon"],
                            ["dropdown", "", 1, "nav-item", "dropdown", "btn-group", "puro-common_profile", "d-none", "d-lg-block", "d-xl-block"],
                            ["id", "button-animated", "dropdownToggle", "", "type", "button", "aria-controls", "dropdown-animated", 1, "btn", "btn-primary", "dropdown-toggle", "puro-common_nav-link", "dropdown-toggle", "puro-common_profile_button"],
                            ["src", "./assets/icons/user_profile_icon.svg", "alt", "user profile", 1, "puro-common_profile-icon"],
                            ["id", "dropdown-animated", "class", "dropdown-menu puro-common_dropdown-menu puro-common_profile-settings-dropdown bg-white", "role", "menu", "aria-labelledby", "button-animated", 4, "dropdownMenu"],
                            [3, "ngClass"],
                            ["id", "dropdown-animated", "role", "menu", "aria-labelledby", "button-animated", 1, "dropdown-menu", "puro-common_dropdown-menu", "puro-common_profile-settings-dropdown", "bg-white"],
                            ["role", "menuitem", "class", "puro-common_profile_list", 4, "ngFor", "ngForOf"],
                            ["role", "menuitem", 1, "puro-common_profile_list"],
                            [1, "dropdown-item", "puro-common_dropdown-item", "puro-common_profile_dropdown_item", 3, "href", "click"],
                            [1, "puro-common_header-container", "puro-common_pre-login"],
                            ["src", "./assets/icons/preLoginLogo.svg", "height", "58", "width", "230", "alt", "Purolator API Home", 1, "puro-common_logo-image"]
                        ],
                        template: function(o, h) {
                            if (1 & o && (t.YNc(0, Am, 1, 0, "div", 0), t.YNc(1, tp, 41, 16, "ng-template", null, 1, t.W1O), t.YNc(3, np, 6, 5, "ng-template", null, 2, t.W1O)), 2 & o) {
                                const D = t.MAs(2),
                                    Z = t.MAs(4);
                                t.Q6J("ngIf", h.isLoggedIn)("ngIfThen", D)("ngIfElse", Z)
                            }
                        },
                        dependencies: [F.mk, F.sg, F.O5, _r.Hz, _r.Mq, _r.TO, wl, am, F.gd, Ge.X$],
                        styles: [".puro-common_currentLanguageLocale[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:600;font-size:16px;line-height:24px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]{margin:0 auto;max-width:100%;padding:0;background:rgb(255,255,255);border-radius:4px;position:fixed;z-index:999}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]{flex-grow:2}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]   .puro-common_logo-link[_ngcontent-%COMP%]{display:flex;align-items:center;height:100%;width:-moz-fit-content;width:fit-content}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]   .puro-common_logo-link[_ngcontent-%COMP%]   .puro-common_logo-image[_ngcontent-%COMP%]{width:153px;height:21px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]{flex-grow:2;justify-content:space-between}.puro-common_profile_dropdown_item[_ngcontent-%COMP%]:hover{background:none;color:#001996!important}.puro-common_dropdown-button[_ngcontent-%COMP%]:active{box-shadow:none;border:none}.puro-common_dropdown-menu[_ngcontent-%COMP%]{min-width:30px;margin-top:8px;animation:fadeIn .5s;max-height:0;transition:all .3s ease-in;overflow:hidden;visibility:hidden;box-shadow:none;border:none}.puro-common_dropdown-menu.show[_ngcontent-%COMP%]{transition:all .3s ease-in-out;max-height:300px;visibility:visible}.puro-common_dropdown-list[_ngcontent-%COMP%]{min-width:30px;transform:translateY(8px)!important}.puro-common_dropdown-button[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:600;font-size:16px;line-height:24px;background:none;border:none;color:#111;height:62px;display:flex;align-items:center;padding-bottom:inherit;text-align:center;border-radius:0}.puro-common_dropdown-button[_ngcontent-%COMP%]:active{background:none;color:#111}.puro-common_dropdown-button[_ngcontent-%COMP%]:hover, .puro-common_dropdown-button[aria-expanded=true][_ngcontent-%COMP%]{font-style:normal;line-height:24px;color:#111!important;box-shadow:inset 0 -5px #001996!important;clip-path:inset(0px 1px 0px 1px)}.puro-common_dropdown-button[_ngcontent-%COMP%]:focus{outline:none!important;border:3px solid black!important}.puro-common_notification_button[_ngcontent-%COMP%], .puro-common_home_button[_ngcontent-%COMP%]{background:#001996;border:none;padding:10px!important;height:36px!important;width:36px!important;align-items:center;border-radius:30px}.puro-common_notification_button[_ngcontent-%COMP%]   .puro-common_notification-icon[_ngcontent-%COMP%], .puro-common_home_button[_ngcontent-%COMP%]   .puro-common_notification-icon[_ngcontent-%COMP%]{width:16.25px;height:18px;display:block}.puro-common_home_button[_ngcontent-%COMP%]{background:#001996;border:none;padding:7px!important;height:36px!important;width:36px!important;align-items:center;border-radius:30px}.puro-common_home_button[_ngcontent-%COMP%]   .puro-common_home-icon[_ngcontent-%COMP%]{width:23px;height:22px;display:block}.puro-common_nav-item[_ngcontent-%COMP%]   .puro-common_nav-link[_ngcontent-%COMP%]{font-family:Open Sans}.puro-common_nav-item[_ngcontent-%COMP%]   .puro-common_nav-link[_ngcontent-%COMP%]:not(.show){color:#111!important}.puro-common_nav-item[_ngcontent-%COMP%]   .puro-common_nav-link.show[_ngcontent-%COMP%]{color:#001996!important}.puro-common_dropdown-item[_ngcontent-%COMP%]{font-family:Open Sans;font-size:16px;font-weight:400;line-height:24px;letter-spacing:0em;color:#111!important}.puro-common_navbar-toggler[_ngcontent-%COMP%]{background:#001996;border:none;padding:0 10px;height:36px!important;width:36px!important;align-items:center;border-radius:30px}.puro-common_navbar-toggler[_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]{width:16px;height:12px;position:relative;cursor:pointer}.puro-common_navbar-toggler[_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{background-color:#fff;position:absolute;border-radius:2px;transition:.3s cubic-bezier(.8,.5,.2,1.4);width:16px;height:2px;transition-duration:.2s}.puro-common_navbar-toggler[_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(1){top:0;left:0}.puro-common_navbar-toggler[_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(2){top:5px;left:0;opacity:1}.puro-common_navbar-toggler[_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(3){bottom:0;left:0}.puro-common_navbar-toggler[aria-expanded=true][_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(1){transform:rotate(45deg);top:6px}.puro-common_navbar-toggler[aria-expanded=true][_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(2){opacity:0}.puro-common_navbar-toggler[aria-expanded=true][_ngcontent-%COMP%]   .puro-common_hamburger-icon[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg);top:6px}@media (max-width: 575px){.puro-common_nav-app-title[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#111!important}.puro-common_nav-parent-item[_ngcontent-%COMP%]{display:flex;flex-direction:column}.puro-common_nav-parent-link[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#111!important}.puro-common_nav-parent-link[_ngcontent-%COMP%]:after{right:0;position:absolute;border:none;transform:rotate(0);transition:transform .3s;content:url(./assets/icons/right_arrow.svg);padding-right:5px}.puro-common_nav-parent-link.show[_ngcontent-%COMP%]:after{transform:rotate(90deg);transition:transform .3s;content:url(./assets/icons/right_arrow.svg)}.puro-common_nav-child-link[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#495057;height:20px;display:flex;align-items:center}.puro-common_dropdown-menu[_ngcontent-%COMP%]{padding-left:12px;padding-top:12px;padding-bottom:0;gap:12px}.puro-common_dropdown-menu.show[_ngcontent-%COMP%]{display:flex;flex-direction:column}}@media (min-width: 576px) and (max-width: 991.5px){.puro-common_nav-app-title[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#111!important}.puro-common_nav-parent-item[_ngcontent-%COMP%]{display:flex;flex-direction:column}.puro-common_nav-parent-link[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:20px;line-height:24px;color:#111!important}.puro-common_nav-parent-link[_ngcontent-%COMP%]:after{right:0;position:absolute;border:none;transform:rotate(0);transition:transform .3s;content:url(./assets/icons/right_arrow.svg);padding-right:5px}.puro-common_nav-parent-link.show[_ngcontent-%COMP%]:after{transform:rotate(90deg);transition:transform .3s;content:url(./assets/icons/right_arrow.svg)}.puro-common_nav-child-link[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#495057;height:20px;display:flex;align-items:center}.puro-common_dropdown-menu[_ngcontent-%COMP%]{padding-left:10px;padding-top:12px;padding-bottom:0;gap:12px}.puro-common_dropdown-menu.show[_ngcontent-%COMP%]{display:flex;flex-direction:column}}@media only screen and (min-width: 992px){.puro-common_dropdown-menu[_ngcontent-%COMP%]{display:block;transition:none!important}.puro-common_dropdown-menu.show[_ngcontent-%COMP%]{transition:none!important}.puro-common_nav-app-title[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:600;font-size:16px;line-height:24px;text-align:center;color:#111!important;height:62px;display:flex;align-items:center!important;clip-path:inset(0px 1px 0px 1px);outline:none!important}.puro-common_nav-app-title[_ngcontent-%COMP%]:hover{box-shadow:inset 0 -5px #00a2c7!important}.puro-common_nav-app-title[_ngcontent-%COMP%]:focus{border:2.4px solid #001996!important}.puro-common_nav-app-title.highlight[_ngcontent-%COMP%]{box-shadow:inset 0 -5px #001996!important;background-color:#fff!important}.puro-common_nav-parent-link[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:600;font-size:16px;line-height:24px;height:62px;display:flex;align-items:center;color:#111;gap:6px;top:2px;position:relative}}.puro-common_notification[_ngcontent-%COMP%]{display:none}.puro-common_header-container[_ngcontent-%COMP%], .puro-common_header-container-pre-login[_ngcontent-%COMP%]{margin:20px}.puro-common_pre-login[_ngcontent-%COMP%]{top:0;text-align:center;width:100%;position:relative;margin:20px auto!important}.puro-common_pre-login[_ngcontent-%COMP%]   .puro-common_logo-image[_ngcontent-%COMP%]{height:58px;width:230px}@media only screen and (min-width: 992px){.side-bar[_ngcontent-%COMP%]{display:none}.puro-common_header-container[_ngcontent-%COMP%]{margin:20px;height:62px!important}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]{top:20px;right:24px;left:24px;position:absolute;max-width:1856px}}@media only screen and (min-width: 992px) and (max-width: 1920px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]{left:32px;right:32px}}@media only screen and (min-width: 992px) and (max-width: 1440px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]{left:24px;right:24px}}@media only screen and (min-width: 992px) and (max-width: 1280px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]{left:22px;right:22px}}@media only screen and (min-width: 992px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]{height:62px!important}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_center-nav[_ngcontent-%COMP%]{gap:30px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]{align-items:center;padding:13px 27px;grid-gap:16px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile_button[_ngcontent-%COMP%]{background:#001996;border:none;width:36px!important;height:36px!important;align-items:center;border-radius:30px;justify-content:space-between;padding-top:.25rem;box-shadow:none}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile_button[_ngcontent-%COMP%]:hover, .puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile_button[aria-expanded=true][_ngcontent-%COMP%]{background:#001478}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile_button[_ngcontent-%COMP%]   .puro-common_profile-icon[_ngcontent-%COMP%]{width:18px;height:18px;inset:25%;position:absolute}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile_button[_ngcontent-%COMP%]:after{margin-left:25px;color:#001996;width:10px;vertical-align:0px;position:absolute;margin-top:-3px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile_button[_ngcontent-%COMP%]:after:hover{color:#001478!important}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile-settings-dropdown[_ngcontent-%COMP%]{margin-top:20px;display:grid;gap:16px;padding:20px;inset:100% -36px auto auto!important}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile-settings-dropdown.show[_ngcontent-%COMP%]{box-shadow:0 4px 10px #0000001f}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile-settings-dropdown[_ngcontent-%COMP%]   .puro-common_profile_list[_ngcontent-%COMP%]   .puro-common_profile_dropdown_item[_ngcontent-%COMP%]{padding:0;height:24px;display:flex;align-items:center;justify-content:center}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile-settings-dropdown[_ngcontent-%COMP%]   .puro-common_profile_list[_ngcontent-%COMP%]   .puro-common_profile_dropdown_item[_ngcontent-%COMP%]:hover, .puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_right-nav[_ngcontent-%COMP%]   .puro-common_profile[_ngcontent-%COMP%]   .puro-common_profile-settings-dropdown[_ngcontent-%COMP%]   .puro-common_profile_list[_ngcontent-%COMP%]   .puro-common_profile_dropdown_item[_ngcontent-%COMP%]:focus{background:none;color:#001996!important}}@media (min-width: 576px) and (max-width: 991.5px){.puro-common_nav-parent-item-hide-web[_ngcontent-%COMP%]{display:none!important}.puro-common_header-container[_ngcontent-%COMP%]{margin:20px 13px;height:62px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]{max-height:62px;top:20px;right:13px;left:13px;position:absolute}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;height:62px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]   .puro-common_mobile-right-nav[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]{height:62px}}@media (min-width: 576px) and (max-width: 991.5px) and (min-width: 577px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]{transform:translate(11px)}}@media (min-width: 576px) and (max-width: 991.5px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_center-nav[_ngcontent-%COMP%]{border-radius:4px;padding:10px}}@media (min-width: 576px) and (max-width: 991.5px) and (min-width: 577px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_center-nav[_ngcontent-%COMP%]{width:330px;float:right;margin-top:8px;background:white!important;box-shadow:0 4px 10px #0000001f}}@media (min-width: 576px) and (max-width: 991.5px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_center-nav[_ngcontent-%COMP%]   .puro-common_nav-item[_ngcontent-%COMP%]   .puro-common_nav-link[_ngcontent-%COMP%]{height:24px;text-align:left;display:flex;align-items:center}}@media (min-width: 576px) and (max-width: 991.5px){.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]{margin-top:0}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_nav-item[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]{padding-left:0;color:#495057}}@media (max-width: 575px){.puro-common_nav-parent-item-hide-web[_ngcontent-%COMP%]{display:none!important}.puro-common_pre-login[_ngcontent-%COMP%]{margin:10px auto!important}.puro-common_header-container[_ngcontent-%COMP%]{margin:10px 10px 8px;height:52px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]{max-height:unset;top:10px;right:10px;left:10px;background:none;position:absolute}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]{padding:0}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]{height:52px;padding:8px 8px 8px 16px;background:white!important;display:flex;justify-content:space-between}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]   .puro-common_logo-link[_ngcontent-%COMP%]   .puro-common_logo-image[_ngcontent-%COMP%]{width:150px;height:20px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_navigation-container[_ngcontent-%COMP%]   .puro-common_mobile-right-nav[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;gap:20px;margin:8px 0}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]{height:52px;margin-top:8px;background:white;box-shadow:0 4px 10px #0000001f}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_center-nav[_ngcontent-%COMP%]{border-radius:4px;padding:10px}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_collapsable-container[_ngcontent-%COMP%]   .puro-common_center-nav[_ngcontent-%COMP%]   .puro-common_nav-item[_ngcontent-%COMP%]   .puro-common_nav-link[_ngcontent-%COMP%]{height:24px;text-align:left;display:flex;align-items:center}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]{margin-top:0}.puro-common_header-container[_ngcontent-%COMP%]   .puro-common_header[_ngcontent-%COMP%]   .puro-common_container-fluid[_ngcontent-%COMP%]   .puro-common_dropdown-menu[_ngcontent-%COMP%]   .puro-common_nav-item[_ngcontent-%COMP%]   .puro-common_dropdown-item[_ngcontent-%COMP%]{padding-left:0;color:#495057}}.skipToContent[_ngcontent-%COMP%]{top:-1px;position:absolute;width:-moz-fit-content;width:fit-content;height:55px;z-index:1000;background:#FFFFFF;border:1px solid #001996!important;border-radius:4px;box-sizing:border-box;margin-left:23px;padding:15px;display:table-cell;vertical-align:middle;text-align:center;color:#001996!important;font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;text-decoration:none;transform:translateY(-100%);transition:transform .3s}.skipToContent[_ngcontent-%COMP%]:focus{transform:translateY(170%)}@media (min-width: 576px) and (max-width: 991.5px){.skipToContent[_ngcontent-%COMP%]{margin-left:13px}}a[_ngcontent-%COMP%]:focus-visible, button[_ngcontent-%COMP%]:focus-visible{outline:1px solid #001996!important}"]
                    }), l
                })(),
                yu = (() => {
                    class l {
                        constructor() {
                            this.dropdownValues = {}, this.customClass = {}, this.showSideBar = !0, this.dropdown = {
                                isOpen: !1
                            }
                        }
                        ngOnInit() {}
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-common-sidebar"]
                        ],
                        inputs: {
                            dropdownValues: "dropdownValues",
                            customClass: "customClass",
                            showSideBar: "showSideBar"
                        },
                        decls: 4,
                        vars: 1,
                        consts: [
                            [1, "puro-common_section-body"],
                            ["class", "puro-common_side-bar-navigation", 4, "ngIf"],
                            [1, "puro-common_right-side-content"],
                            ["name", "body"],
                            [1, "puro-common_side-bar-navigation"],
                            ["name", "sidebar"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.TgZ(0, "section", 0), t.YNc(1, Zc, 2, 0, "section", 1), t.TgZ(2, "section", 2), t._UZ(3, "slot", 3), t.qZA()()), 2 & o && (t.xp6(1), t.Q6J("ngIf", h.showSideBar))
                        },
                        dependencies: [F.O5],
                        styles: [".puro-common_section-body{display:flex;gap:24px;margin:0 auto;position:relative;max-width:1856px}@media (min-width: 1441px){.puro-common_section-body{gap:31px}}@media (max-width: 1920px){.puro-common_section-body{margin:0 32px}}@media (max-width: 1440px){.puro-common_section-body{margin:0 24px;gap:28px}}@media (max-width: 1280px){.puro-common_section-body{margin:0 22px}}@media (min-width: 576px) and (max-width: 991.5px){.puro-common_section-body{margin:0 13px}}@media (max-width: 575px){.puro-common_section-body{margin:0 10px}}.puro-common_section-body .puro-common_side-bar-navigation{border-radius:4px;background-color:#fff}@media (min-width: 1441px){.puro-common_section-body .puro-common_side-bar-navigation{width:300px;min-height:933px}}@media (max-width: 1440px){.puro-common_section-body .puro-common_side-bar-navigation{width:212px;min-height:726px;min-width:236px;max-width:274px}}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu{background-color:#fff}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list{padding:0}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options{list-style:none;margin:3px 0}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_link-no-collapse{text-decoration:none;color:#000;display:flex;align-items:center;padding:10px 0 10px 15px;gap:11px;border-radius:0!important;font-family:Open Sans!important;font-style:normal;font-weight:400;font-size:16px;line-height:24px;letter-spacing:.01em;color:#111}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item{border-radius:0!important;border:none!important;background-color:#fff}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-header .puro-common_sidebar-button{text-decoration:none;color:#000;display:flex;align-items:center;padding:10px 0 10px 15px;gap:11px;border-radius:0!important;border:none;box-shadow:none;background-color:#fff!important;background:white!important}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-header .puro-common_sidebar-button[aria-expanded=true]{background-color:#00a2c759!important;background:rgba(0,162,199,.3490196078)!important;font-weight:600;color:#001996}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-header .puro-common_sidebar-button:after{margin-right:13px;width:-moz-fit-content;width:fit-content}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-header .puro-common_sidebar-button.collapsed:after{content:url(./assets/icons/accordion_arrow.svg)!important;background-image:none!important;position:relative;top:3px}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-header .puro-common_sidebar-button:not(.collapsed):after{content:url(./assets/icons/accordion_down_arrow.svg)!important;background-image:none!important;position:relative;transform:rotate(0)!important}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-item-collapsable-section .puro-common_accordion-body{padding:0!important}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-item-collapsable-section .puro-common_accordion-body .puro-common_link-collapsable{text-decoration:none;color:#000;display:flex;align-items:center;padding:10px 0 10px 15px;gap:11px;border-radius:0!important;padding:10px 0 10px 35px!important;font-family:Open Sans;font-style:normal;font-weight:400;font-size:15px;line-height:24px;color:#495057;border-left:5px solid #ededed}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-item-collapsable-section .puro-common_accordion-body .puro-common_link-collapsable:focus{font-weight:600;background-color:#00a2c70d;border-left:5px solid #00a2c7;color:#001996}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-item-collapsable-section .puro-common_accordion-body .puro-common_link-collapsable:hover{background-color:#ededed66;color:#001996}.puro-common_section-body .puro-common_side-bar-navigation .puro-common_side-bar-menu .puro-common_side-bar-list .puro-common_side-bar-options .puro-common_accordion .puro-common_accordion-item .puro-common_accordion-item-collapsable-section .puro-common_accordion-body .puro-common_link-collapsable:active{font-weight:600;color:#001996;border-left:5px solid #00a2c7}.puro-common_section-body .puro-common_right-side-content{width:100%;height:auto}@media (max-height: 1080px){.puro-common_section-body .puro-common_right-side-content{min-height:calc(100vh - 210px)}}a:focus,button:focus{outline:3px solid rgba(0,162,199,.3490196078)!important}@media only screen and (max-width: 991.5px){.puro-common_side-bar-navigation{display:none!important}}\n"],
                        encapsulation: 3
                    }), l
                })(),
                sp = (() => {
                    class l {
                        constructor() {
                            this.display = !1, this.ariaLabelledBy = "modal_label", this.ariaDescribedBy = "modal_desc", this.title = "", this.body = "", this.cancelButtonText = "", this.saveButtonText = "", this.showCloseIcon = !0, this.popupId = "exampleModal", this.saveButtonDisabled = !1, this.openDailog = new t.vpe, this.closeDailog = new t.vpe, this.saveDialog = new t.vpe
                        }
                        set showModal(o) {
                            if (this.display = o, this.display) {
                                const h = "input, select, textarea",
                                    D = document.getElementById(this.popupId);
                                D && setTimeout(() => {
                                    const Z = D.querySelectorAll(h)[0];
                                    Z ? Z.focus() : D.querySelectorAll("button")[0].focus()
                                }, 1e3)
                            }
                        }
                        get showModal() {
                            return this.display
                        }
                        openModal(o) {
                            this.openDailog.emit(o)
                        }
                        onClickSave(o) {
                            this.saveDialog.emit(o)
                        }
                        onCloseHandled(o) {
                            this.showModal = !1, this.closeDailog.emit(o)
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275cmp = t.Xpm({
                        type: l,
                        selectors: [
                            ["puro-modal"]
                        ],
                        inputs: {
                            title: "title",
                            body: "body",
                            showModal: "showModal",
                            cancelButtonText: "cancelButtonText",
                            saveButtonText: "saveButtonText",
                            showCloseIcon: "showCloseIcon",
                            popupId: "popupId",
                            saveButtonDisabled: "saveButtonDisabled"
                        },
                        outputs: {
                            openDailog: "openDailog",
                            closeDailog: "closeDailog",
                            saveDialog: "saveDialog"
                        },
                        ngContentSelectors: Ch,
                        decls: 16,
                        vars: 13,
                        consts: [
                            ["tabindex", "-1", "role", "dialog", 1, "modal"],
                            [1, "modal-dialog", "modal-dialog-centered", "modal-dialog-scrollable"],
                            [1, "modal-content"],
                            [1, "modal-header", "mt-3", "mt-sm-0"],
                            [1, "modal-title"],
                            ["type", "button", "class", "close", "data-bs-dismiss", "modal", "aria-label", "Close modal", 3, "click", 4, "ngIf"],
                            [1, "modal-body"],
                            [1, "modal-footer"],
                            ["type", "button", "class", "puro-btn puro-btn-secondary", "data-bs-dismiss", "modal", 3, "click", 4, "ngIf"],
                            ["type", "button", "class", "puro-btn puro-btn-primary", 3, "click", 4, "ngIf"],
                            [1, "row", "text-center"],
                            ["type", "button", "data-bs-dismiss", "modal", "aria-label", "Close modal", 1, "close", 3, "click"],
                            ["src", "assets/icons/close-icon.svg", "alt", "Close modal"],
                            ["type", "button", "data-bs-dismiss", "modal", 1, "puro-btn", "puro-btn-secondary", 3, "click"],
                            ["type", "button", 1, "puro-btn", "puro-btn-primary", 3, "click"]
                        ],
                        template: function(o, h) {
                            1 & o && (t.F$t(as), t.TgZ(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "h1", 4), t._uU(5), t.qZA(), t.YNc(6, jp, 2, 0, "button", 5), t.qZA(), t.TgZ(7, "div", 6)(8, "p"), t._uU(9), t.qZA(), t.Hsn(10), t.qZA(), t.TgZ(11, "div", 7), t.YNc(12, rp, 2, 1, "button", 8), t.YNc(13, Jo, 2, 2, "button", 9), t.qZA(), t.TgZ(14, "div", 10), t.Hsn(15, 1), t.qZA()()()()), 2 & o && (t.Udp("display", h.showModal ? "block" : "none"), t.uIk("id", h.popupId)("aria-labelledby", h.ariaLabelledBy)("aria-describedby", h.ariaDescribedBy)("aria-modal", !0), t.xp6(4), t.uIk("id", h.ariaLabelledBy), t.xp6(1), t.Oqu(h.title), t.xp6(1), t.Q6J("ngIf", h.showCloseIcon), t.xp6(1), t.uIk("id", h.ariaDescribedBy), t.xp6(2), t.Oqu(h.body), t.xp6(3), t.Q6J("ngIf", h.cancelButtonText && h.cancelButtonText.length > 0), t.xp6(1), t.Q6J("ngIf", h.saveButtonText && h.saveButtonText.length > 0))
                        },
                        dependencies: [F.O5],
                        styles: [".modal[_ngcontent-%COMP%]{background:rgba(48,49,54,.8)!important;font-family:Open Sans!important}.modal-dialog[_ngcontent-%COMP%]{width:-moz-fit-content!important;width:fit-content!important}.modal-header[_ngcontent-%COMP%]{border-bottom:none!important}.modal-content[_ngcontent-%COMP%]{padding:40px}@media (max-width: 768px){.modal-content[_ngcontent-%COMP%]{padding:16px}}.modal-title[_ngcontent-%COMP%]{width:100%;font-family:Open Sans;font-style:normal;font-weight:400;font-size:30px;line-height:40px;text-align:center;color:#001996}.modal-body[_ngcontent-%COMP%]{font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#000;text-align:center}.modal-footer[_ngcontent-%COMP%]{border-top:none!important;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px}.close[_ngcontent-%COMP%]{background:none;border:none;position:absolute;top:20px;right:20px}.modal-header[_ngcontent-%COMP%]{padding-bottom:0!important}.puro-btn[_ngcontent-%COMP%]{padding:9px 24px;border:none;font-family:Open Sans;font-style:normal;font-weight:400;font-size:16px;line-height:24px;cursor:pointer}.puro-btn-primary[_ngcontent-%COMP%]{background:#001996;border:1px solid #001996;border-radius:4px;padding:9px 24px;color:#fff}.puro-btn-primary[_ngcontent-%COMP%]:active{background:#001996;border:2px solid #00A9CE}.puro-btn-primary[_ngcontent-%COMP%]:hover, .puro-btn-primary[_ngcontent-%COMP%]:focus{background:#001371;border:1px solid #001371}.puro-btn-secondary[_ngcontent-%COMP%]{background:#FFFFFF;border:1px solid #001996;border-radius:4px;padding:9px 24px;color:#001996}.puro-btn-secondary[_ngcontent-%COMP%]:active{background:#FFFFFF;border-radius:4px;border:2px solid #001996}.puro-btn-secondary[_ngcontent-%COMP%]:hover, .puro-btn-secondary[_ngcontent-%COMP%]:focus{background:#FFFFFF;border:1px solid #001996;border-radius:4px}"]
                    }), l
                })(),
                Th = (() => {
                    class l {}
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275mod = t.oAB({
                        type: l
                    }), l.\u0275inj = t.cJS({
                        imports: [F.ez]
                    }), l
                })();
            const Wp = [Lu.bB.forRoot(), _r.mr.forRoot(), tf.fx.forRoot(), ef.f.forRoot(), Xd.Fq.forRoot()];
            let zp = (() => {
                    class l {}
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275mod = t.oAB({
                        type: l
                    }), l.\u0275inj = t.cJS({
                        imports: [Wp, Lu.bB, _r.mr, tf.fx, ef.f, Xd.Fq]
                    }), l
                })(),
                lm = (() => {
                    class l {
                        static forRoot(o) {
                            return {
                                ngModule: l,
                                providers: [{
                                    provide: lf,
                                    useValue: o
                                }]
                            }
                        }
                    }
                    return l.\u0275fac = function(o) {
                        return new(o || l)
                    }, l.\u0275mod = t.oAB({
                        type: l
                    }), l.\u0275inj = t.cJS({
                        providers: [ip],
                        imports: [F.ez, Fe.forRoot({
                            maxOpened: 2,
                            preventDuplicates: !0
                        }), U.A0, r.u5, r.UX, K.JF, Bf, Th, Ge.aw, zp]
                    }), l
                })()
        },
        5861: (Re, he, _) => {
            "use strict";

            function t(U, C, x, V, P, $, K) {
                try {
                    var G = U[$](K),
                        F = G.value
                } catch (k) {
                    return void x(k)
                }
                G.done ? C(F) : Promise.resolve(F).then(V, P)
            }

            function r(U) {
                return function() {
                    var C = this,
                        x = arguments;
                    return new Promise(function(V, P) {
                        var $ = U.apply(C, x);

                        function K(F) {
                            t($, V, P, K, G, "next", F)
                        }

                        function G(F) {
                            t($, V, P, K, G, "throw", F)
                        }
                        K(void 0)
                    })
                }
            }
            _.d(he, {
                Z: () => r
            })
        },
        7582: (Re, he, _) => {
            "use strict";

            function k(De, J, fe, Fe) {
                return new(fe || (fe = Promise))(function(ct, vt) {
                    function Qt(Lt) {
                        try {
                            mt(Fe.next(Lt))
                        } catch (_n) {
                            vt(_n)
                        }
                    }

                    function Ge(Lt) {
                        try {
                            mt(Fe.throw(Lt))
                        } catch (_n) {
                            vt(_n)
                        }
                    }

                    function mt(Lt) {
                        Lt.done ? ct(Lt.value) : function at(ct) {
                            return ct instanceof fe ? ct : new fe(function(vt) {
                                vt(ct)
                            })
                        }(Lt.value).then(Qt, Ge)
                    }
                    mt((Fe = Fe.apply(De, J || [])).next())
                })
            }

            function me(De) {
                return this instanceof me ? (this.v = De, this) : new me(De)
            }

            function ge(De, J, fe) {
                if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
                var at, Fe = fe.apply(De, J || []),
                    ct = [];
                return at = Object.create(("function" == typeof AsyncIterator ? AsyncIterator : Object).prototype), Qt("next"), Qt("throw"), Qt("return", function vt(Nn) {
                    return function(kn) {
                        return Promise.resolve(kn).then(Nn, _n)
                    }
                }), at[Symbol.asyncIterator] = function() {
                    return this
                }, at;

                function Qt(Nn, kn) {
                    Fe[Nn] && (at[Nn] = function(vn) {
                        return new Promise(function(tn, Cn) {
                            ct.push([Nn, vn, tn, Cn]) > 1 || Ge(Nn, vn)
                        })
                    }, kn && (at[Nn] = kn(at[Nn])))
                }

                function Ge(Nn, kn) {
                    try {
                        ! function mt(Nn) {
                            Nn.value instanceof me ? Promise.resolve(Nn.value.v).then(Lt, _n) : Ln(ct[0][2], Nn)
                        }(Fe[Nn](kn))
                    } catch (vn) {
                        Ln(ct[0][3], vn)
                    }
                }

                function Lt(Nn) {
                    Ge("next", Nn)
                }

                function _n(Nn) {
                    Ge("throw", Nn)
                }

                function Ln(Nn, kn) {
                    Nn(kn), ct.shift(), ct.length && Ge(ct[0][0], ct[0][1])
                }
            }

            function we(De) {
                if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
                var fe, J = De[Symbol.asyncIterator];
                return J ? J.call(De) : (De = function Te(De) {
                    var J = "function" == typeof Symbol && Symbol.iterator,
                        fe = J && De[J],
                        Fe = 0;
                    if (fe) return fe.call(De);
                    if (De && "number" == typeof De.length) return {
                        next: function() {
                            return De && Fe >= De.length && (De = void 0), {
                                value: De && De[Fe++],
                                done: !De
                            }
                        }
                    };
                    throw new TypeError(J ? "Object is not iterable." : "Symbol.iterator is not defined.")
                }(De), fe = {}, Fe("next"), Fe("throw"), Fe("return"), fe[Symbol.asyncIterator] = function() {
                    return this
                }, fe);

                function Fe(ct) {
                    fe[ct] = De[ct] && function(vt) {
                        return new Promise(function(Qt, Ge) {
                            ! function at(ct, vt, Qt, Ge) {
                                Promise.resolve(Ge).then(function(mt) {
                                    ct({
                                        value: mt,
                                        done: Qt
                                    })
                                }, vt)
                            }(Qt, Ge, (vt = De[ct](vt)).done, vt.value)
                        })
                    }
                }
            }
            _.d(he, {
                FC: () => ge,
                KL: () => we,
                mG: () => k,
                qq: () => me
            }), "function" == typeof SuppressedError && SuppressedError
        }
    },
    Re => {
        Re(Re.s = 6136)
    }
]);