Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
233 kB
0
Indexable
Never
(function(e) {
    function t(t) {
        for (var o, r, s = t[0], c = t[1], d = t[2], u = 0, p = []; u < s.length; u++) r = s[u], Object.prototype.hasOwnProperty.call(i, r) && i[r] && p.push(i[r][0]), i[r] = 0;
        for (o in c) Object.prototype.hasOwnProperty.call(c, o) && (e[o] = c[o]);
        l && l(t);
        while (p.length) p.shift()();
        return a.push.apply(a, d || []), n()
    }

    function n() {
        for (var e, t = 0; t < a.length; t++) {
            for (var n = a[t], o = !0, s = 1; s < n.length; s++) {
                var c = n[s];
                0 !== i[c] && (o = !1)
            }
            o && (a.splice(t--, 1), e = r(r.s = n[0]))
        }
        return e
    }
    var o = {},
        i = {
            app: 0
        },
        a = [];

    function r(t) {
        if (o[t]) return o[t].exports;
        var n = o[t] = {
            i: t,
            l: !1,
            exports: {}
        };
        return e[t].call(n.exports, n, n.exports, r), n.l = !0, n.exports
    }
    r.m = e, r.c = o, r.d = function(e, t, n) {
        r.o(e, t) || Object.defineProperty(e, t, {
            enumerable: !0,
            get: n
        })
    }, r.r = function(e) {
        "undefined" !== typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }), Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }, r.t = function(e, t) {
        if (1 & t && (e = r(e)), 8 & t) return e;
        if (4 & t && "object" === typeof e && e && e.__esModule) return e;
        var n = Object.create(null);
        if (r.r(n), Object.defineProperty(n, "default", {
                enumerable: !0,
                value: e
            }), 2 & t && "string" != typeof e)
            for (var o in e) r.d(n, o, function(t) {
                return e[t]
            }.bind(null, o));
        return n
    }, r.n = function(e) {
        var t = e && e.__esModule ? function() {
            return e["default"]
        } : function() {
            return e
        };
        return r.d(t, "a", t), t
    }, r.o = function(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, r.p = "";
    var s = window["webpackJsonp"] = window["webpackJsonp"] || [],
        c = s.push.bind(s);
    s.push = t, s = s.slice();
    for (var d = 0; d < s.length; d++) t(s[d]);
    var l = c;
    a.push([0, "chunk-vendors"]), n()
})({
    0: function(e, t, n) {
        e.exports = n("56d7")
    },
    "0090": function(e, t, n) {
        e.exports = n.p + "img/components/ecbd7ead1c3fa360647903c0d3166c04.png"
    },
    "013b": function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAECSURBVEhLY/wPBAw0AExQmupg1GA4ABv8+8Ahhg9WjgzvZFXhGMT/sXg5WBE5AJwqPhhZMfx7/RoqhAmYZGUYODLTGDhiI6EihAHYxf8/fQJzcIF/j58wfKuqY/g+dSZUhDAAG8xOpEu+d/TAg+nn6nVQUewAnkF+7dzN8KN/MsOfq9fBEoQAIzs7g+CdK1AeJsCa8/7//MnwQdsYTOMDnBUlDJzZ6VAeKsCa3ECuISZ4QEGDK1hwlhUg137NLgQHESGALVgIFkKgyCIGCD2+DWVBAG1zHj4A8iYhgDXjgIICH/g2Zcb/tzIqcPy1shYqgx8QDGNywcCFMblgqBnMwAAAR9e0SVp9IjUAAAAASUVORK5CYII="
    },
    "0262": function(e, t, n) {
        e.exports = n.p + "img/components/8e7e30e2bdc2030c71b3ac218b115eeb.png"
    },
    "0587": function(e, t, n) {
        e.exports = n.p + "img/components/b5bda877d24114d0201604acff6175f8.png"
    },
    "05c1": function(e, t, n) {},
    "076e": function(e, t, n) {
        "use strict";
        n("48ca")
    },
    "0798": function(e, t, n) {
        "use strict";
        n("7ccf")
    },
    "07c3": function(e, t, n) {},
    "0c9c": function(e, t, n) {
        e.exports = n.p + "img/components/c32637455fb75892f46a0a7b29cf0af9.png"
    },
    "0d8d": function(e, t, n) {
        "use strict";
        n("05c1")
    },
    "0e23": function(e, t, n) {
        var o = {
            "./brakes.png": "e81d",
            "./bucket.png": "7134",
            "./camshaft.png": "3834",
            "./capot.png": "52f3",
            "./chassis.png": "a58a",
            "./clutch.png": "f296",
            "./cooling.png": "61b4",
            "./cpu.png": "b67e",
            "./crankshaft.png": "3a0f",
            "./differential.png": "5d3c",
            "./engine.png": "3d43",
            "./exhaust.png": "52c1",
            "./exhaust_smoke.png": "c258",
            "./fan.png": "bafa",
            "./firmware.png": "9b60",
            "./flow.png": "738f",
            "./kpp.png": "7c51",
            "./lights.png": "afe3",
            "./none.png": "013b",
            "./pipe.png": "7ffb",
            "./spolier.png": "de17",
            "./spray.png": "60de",
            "./stance.png": "3db5",
            "./supersharger.png": "594c",
            "./suspension.png": "96a3",
            "./toner.png": "de02",
            "./transmission.png": "be3a",
            "./turbo.png": "dbc4",
            "./turbocharger.png": "e0cd",
            "./vinil.png": "6922",
            "./wheel.png": "8a03"
        };

        function i(e) {
            var t = a(e);
            return n(t)
        }

        function a(e) {
            if (!n.o(o, e)) {
                var t = new Error("Cannot find module '" + e + "'");
                throw t.code = "MODULE_NOT_FOUND", t
            }
            return o[e]
        }
        i.keys = function() {
            return Object.keys(o)
        }, i.resolve = a, e.exports = i, i.id = "0e23"
    },
    "0f6d": function(e, t, n) {
        e.exports = n.p + "img/components/febb9a3e52b41224c6e856407abf7b1b.png"
    },
    "14db": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "MODULE_DONATE", (function() {
            return i
        })), n.d(t, "MODULE_BROWSER", (function() {
            return a
        })), n.d(t, "MODULE_AUTH", (function() {
            return r
        })), n.d(t, "MODULE_ROULETTE", (function() {
            return s
        })), n.d(t, "MODULE_GUI", (function() {
            return c
        })), n.d(t, "MODULE_NUMBER_PLATE", (function() {
            return d
        })), n.d(t, "MODULE_TUNING", (function() {
            return l
        })), n.d(t, "MODULE_MOUNTAIN_DRIVE", (function() {
            return u
        })), n.d(t, "MODULE_PHONE", (function() {
            return p
        })), n.d(t, "MODULE_CONTAINER", (function() {
            return g
        })), n.d(t, "MODULE_PARKING", (function() {
            return m
        })), n.d(t, "MODULE_RAILWAY", (function() {
            return f
        })), n.d(t, "MODULE_PROMOTION", (function() {
            return v
        })), n.d(t, "MODULE_REFERRAL", (function() {
            return A
        })), n.d(t, "MODULE_ANIMATION", (function() {
            return b
        })), n.d(t, "MODULE_EXCAVATION", (function() {
            return h
        })), n.d(t, "MODULE_HALLOWEEN", (function() {
            return C
        })), n.d(t, "MODULE_BUSINESS", (function() {
            return y
        })), n.d(t, "MODULE_VEHICLE", (function() {
            return I
        })), n.d(t, "MODULE_QUEST", (function() {
            return O
        })), n.d(t, "MODULE_SERVICE_STATION", (function() {
            return D
        })), n.d(t, "MAP_MODULE_TO_NAME", (function() {
            return S
        }));
        var o = n("5521");
        const i = 1,
            a = 2,
            r = 3,
            s = 4,
            c = 5,
            d = 6,
            l = 7,
            u = 8,
            p = 9,
            g = 11,
            m = 12,
            f = 13,
            v = 14,
            A = 15,
            b = 16,
            h = 17,
            C = 18,
            y = 19,
            I = 20,
            O = 21,
            D = 22,
            S = {
                [o["b"]]: "default",
                [i]: "donate",
                [a]: "browser",
                [r]: "auth",
                [s]: "roulette",
                [c]: "gui",
                [d]: "numberPlate",
                [l]: "tuning",
                [u]: "mountainDrive",
                [p]: "phone",
                [g]: "container",
                [m]: "parking",
                [f]: "railway",
                [v]: "promotion",
                [A]: "referral",
                [b]: "animation",
                [h]: "excavation",
                [C]: "halloween",
                [y]: "business",
                [I]: "vehicle",
                [O]: "quest",
                [D]: "serviceStation"
            }
    },
    1587: function(e, t, n) {
        var o = {
            "./Animation/constants.js": "5333",
            "./Animation/routes.js": "16c9",
            "./Animation/store.js": "1827",
            "./Animation/tests.js": "38bb",
            "./Default/routes.js": "322c",
            "./Default/store.js": "2a25",
            "./Tuning/constants.js": "d94b",
            "./Tuning/directives/slider.js": "792f",
            "./Tuning/helpers.js": "7bf5",
            "./Tuning/routes.js": "f693",
            "./Tuning/store.js": "83da",
            "./loader.js": "5b5b",
            "./modules.js": "14db"
        };

        function i(e) {
            var t = a(e);
            return n(t)
        }

        function a(e) {
            if (!n.o(o, e)) {
                var t = new Error("Cannot find module '" + e + "'");
                throw t.code = "MODULE_NOT_FOUND", t
            }
            return o[e]
        }
        i.keys = function() {
            return Object.keys(o)
        }, i.resolve = a, e.exports = i, i.id = "1587"
    },
    "16c9": function(e, t, n) {
        "use strict";
        n.r(t);
        var o = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "animation"
                }, [t("div", {
                    staticClass: "animation__inner"
                }, [e._m(0), t("div", {
                    staticClass: "animation__row"
                }, [t("category-list", {
                    attrs: {
                        items: e.categories,
                        selected: e.categorySelected
                    },
                    on: {
                        "select:category": e.onCategorySelect
                    }
                })], 1), t("div", {
                    staticClass: "animation-list"
                }, [t("div", {
                    staticClass: "animation__title"
                }, [e._v("Список анимаций")]), t("div", {
                    staticClass: "animation-list__search"
                }, [t("search", {
                    on: {
                        "update:search": e.onSearchUpdate
                    }
                })], 1), t("div", {
                    ref: "content",
                    staticClass: "animation-list__content"
                }, [t("animation-list", {
                    attrs: {
                        items: e.getAnimations(e.categorySelected, e.searchQuery)
                    },
                    on: {
                        "select:animation": e.onAnimationSelect,
                        "change:favorite": e.onAnimationFavoriteChange
                    }
                })], 1)])])])
            },
            i = [function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "animation__row"
                }, [t("div", {
                    staticClass: "animation__column"
                }, [t("div", {
                    staticClass: "animation__title"
                }, [e._v("Категории")])]), t("div", {
                    staticClass: "animation__column"
                }, [t("div", {
                    staticClass: "animation-key-helper"
                }, [t("div", {
                    staticClass: "animation-key-helper__key"
                }, [e._v("Esc")]), t("div", {
                    staticClass: "animation-key-helper__title"
                }, [e._v("Закрыть")])])])])
            }],
            a = n("2f62"),
            r = n("ffe0"),
            s = n("5333"),
            c = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "category-list"
                }, [t("category-item", e._g(e._b({
                    key: e.CATEGORY_FAVORITE,
                    attrs: {
                        selected: e.CATEGORY_FAVORITE == e.selected
                    }
                }, "category-item", {
                    id: e.CATEGORY_FAVORITE,
                    name: "Избранное"
                }, !1), e.$listeners)), e._l(e.items, (function(n, o) {
                    return t("category-item", e._g(e._b({
                        key: o,
                        attrs: {
                            selected: n.id == e.selected
                        }
                    }, "category-item", n, !1), e.$listeners))
                }))], 2)
            },
            d = [],
            l = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "category-item",
                    class: {
                        selected: e.selected
                    }
                }, [t("div", {
                    staticClass: "category-item__inner"
                }, [t("div", {
                    staticClass: "category-item__click",
                    on: {
                        click: function(t) {
                            return e.$emit("select:category", e.id)
                        }
                    }
                }), t("div", {
                    staticClass: "category-item__title"
                }, [e._v(e._s(e.name))])])])
            },
            u = [],
            p = {
                props: {
                    id: Number,
                    name: String,
                    selected: Boolean
                }
            },
            g = p,
            m = (n("076e"), n("2877")),
            f = Object(m["a"])(g, l, u, !1, null, "7c2fba59", null),
            v = f.exports,
            A = {
                props: {
                    items: Array,
                    selected: Number
                },
                components: {
                    CategoryItem: v
                },
                data() {
                    return {
                        CATEGORY_FAVORITE: s["CATEGORY_FAVORITE"]
                    }
                }
            },
            b = A,
            h = (n("4471"), Object(m["a"])(b, c, d, !1, null, "2669de98", null)),
            C = h.exports,
            y = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "animation-list"
                }, e._l(e.items, (function(n, o) {
                    return t("animation-item", e._g(e._b({
                        key: o
                    }, "animation-item", n, !1), e.$listeners))
                })), 1)
            },
            I = [],
            O = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "animation-item",
                    on: {
                        mouseover: function(t) {
                            e.hovered = !0
                        },
                        mouseout: function(t) {
                            e.hovered = !1
                        }
                    }
                }, [t("div", {
                    staticClass: "animation-item__favorite",
                    class: {
                        active: e.favorited
                    },
                    on: {
                        click: function(t) {
                            e.$emit("change:favorite", e.id, Number(!e.favorited))
                        }
                    }
                }), t("div", {
                    staticClass: "animation-item__click",
                    on: {
                        click: function(t) {
                            return e.$emit("select:animation", e.id)
                        }
                    }
                }), e.hovered ? e._e() : t("div", {
                    staticClass: "animation-item__img",
                    style: {
                        backgroundImage: `url(${e.image})`
                    }
                }), e.hovered ? t("div", {
                    staticClass: "animation-item__img",
                    style: {
                        backgroundImage: `url(${e.imageHover})`
                    }
                }) : e._e(), t("div", {
                    staticClass: "animation-item__title"
                }, [e._v(e._s(e.name))])])
            },
            D = [],
            S = {
                props: {
                    id: Number,
                    name: String,
                    image: String,
                    imageHover: String,
                    favorited: Number
                },
                data() {
                    return {
                        hovered: !1
                    }
                }
            },
            E = S,
            w = (n("e232"), Object(m["a"])(E, O, D, !1, null, "6312d5ff", null)),
            M = w.exports,
            N = {
                props: {
                    items: Array
                },
                components: {
                    AnimationItem: M
                }
            },
            R = N,
            T = (n("0798"), Object(m["a"])(R, y, I, !1, null, "0f37150c", null)),
            x = T.exports,
            k = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "search"
                }, [t("input", {
                    directives: [{
                        name: "model",
                        rawName: "v-model",
                        value: e.searchQueryValue,
                        expression: "searchQueryValue"
                    }],
                    attrs: {
                        placeholder: "Поиск..."
                    },
                    domProps: {
                        value: e.searchQueryValue
                    },
                    on: {
                        input: function(t) {
                            t.target.composing || (e.searchQueryValue = t.target.value)
                        }
                    }
                })])
            },
            _ = [],
            G = (n("2fa3"), {
                props: {
                    searchQuery: {
                        type: String,
                        default: () => ""
                    }
                },
                data() {
                    return {
                        searchQueryValue: this.searchQuery
                    }
                },
                mounted() {
                    this.onKeyPress(), window.addEventListener("keyup", this.onKeyPress)
                },
                beforeDestroy() {
                    window.removeEventListener("keyup", this.onKeyPress)
                },
                methods: {
                    onKeyPress(e) {
                        if (void 0 === e) return;
                        const {
                            searchQueryValue: t
                        } = this;
                        this.$emit("update:search", t)
                    }
                }
            }),
            Y = G,
            L = (n("c736"), Object(m["a"])(Y, k, _, !1, null, "e3acb226", null)),
            j = L.exports,
            U = {
                components: {
                    CategoryList: C,
                    AnimationList: x,
                    Search: j
                },
                beforeRouteEnter(e, t, n) {
                    n(async e => {
                        if (e.reset(), await e.hasCategoriesLoaded(), 0 === e.categorySelected) {
                            const t = e.getCategoryFirstId();
                            e.onCategorySelect(t)
                        }
                    })
                },
                data() {
                    return {
                        categorySelected: 0,
                        searchQuery: ""
                    }
                },
                mounted() {
                    const e = this.$refs["content"];
                    e.style.height = window.innerHeight - window.innerHeight * (window.innerWidth / window.innerHeight * .25) + "px"
                },
                computed: {
                    ...Object(a["d"])(s["MODULE"].name, ["categories"]),
                    ...Object(a["c"])(s["MODULE"].name, ["getAnimations", "getCategoryFirstId"])
                },
                methods: {
                    ...Object(a["b"])(s["MODULE"].name, ["reset", "hasCategoriesLoaded"]),
                    onCategorySelect(e) {
                        this.categorySelected = e
                    },
                    onAnimationSelect(e) {
                        r["toServer"].selectAnimation(e)
                    },
                    onAnimationFavoriteChange(e, t) {
                        r["toServer"].changeAnimationFavorite(e, t)
                    },
                    onSearchUpdate(e) {
                        this.searchQuery = e
                    }
                }
            },
            W = U,
            Z = (n("9ffd"), Object(m["a"])(W, o, i, !1, null, "8a698a32", null)),
            B = Z.exports;
        t["default"] = {
            name: "animation",
            path: "/animation",
            component: B
        }
    },
    1744: function(e, t, n) {},
    1827: function(e, t, n) {
        "use strict";
        n.r(t);
        var o = n("5333"),
            i = n("2fa3");
        const a = {
                categories: [],
                animations: []
            },
            r = {
                RESET_CATEGORIES: e => {
                    e.categories = []
                },
                ADD_CATEGORY: (e, t) => {
                    e.categories.push(t)
                },
                RESET_ANIMATIONS: e => {
                    e.animations = []
                },
                ADD_ANIMATION: (e, t) => {
                    e.animations.push(t)
                },
                UPDATE_ANIMATION: (e, {
                    index: t,
                    key: n,
                    value: o
                }) => {
                    e.animations[t][n] = o
                }
            },
            s = {
                reset: ({
                    commit: e
                }) => {
                    e("RESET_CATEGORIES"), e("RESET_ANIMATIONS")
                },
                hasCategoriesLoaded: async ({
                    state: e
                }) => {
                    const {
                        categories: t
                    } = e;
                    return new Promise(e => {
                        const n = setInterval(() => {
                            t.length > 0 && (e(), clearInterval(n))
                        }, o["MODULE"].categoryLoadedIntervalTime)
                    })
                },
                loadCategories: ({
                    commit: e
                }, t) => {
                    t = JSON.parse(t), t.forEach(t => {
                        const {
                            id: n,
                            name: o
                        } = t;
                        e("ADD_CATEGORY", {
                            id: parseInt(n),
                            name: o.trim()
                        })
                    })
                },
                loadAnimations: ({
                    commit: e
                }, t) => {
                    t = JSON.parse(t), t.forEach(t => {
                        const {
                            id: n,
                            categoryId: a,
                            name: r,
                            favorited: s
                        } = t;
                        let {
                            image: c,
                            imageHover: d
                        } = t;
                        try {
                            c = Object(i["c"])(o["MODULE"].name, "animations/" + c), d = Object(i["c"])(o["MODULE"].name, "animations/" + d)
                        } catch (l) {
                            d = c = Object(i["c"])(o["MODULE"].name, "animations/none.png")
                        }
                        e("ADD_ANIMATION", {
                            id: parseInt(n),
                            categoryId: parseInt(a),
                            name: r.trim(),
                            image: c,
                            imageHover: d,
                            favorited: s
                        })
                    })
                },
                updateAnimation: ({
                    commit: e,
                    state: t
                }, n) => {
                    const o = JSON.parse(n),
                        {
                            id: i
                        } = o,
                        a = t.animations.findIndex(e => e.id == i);
                    if (-1 !== a)
                        for (const r in o) {
                            if ("id" == r) continue;
                            const t = o[r];
                            e("UPDATE_ANIMATION", {
                                index: a,
                                key: r,
                                value: t
                            })
                        }
                }
            },
            c = {
                getAnimations: e => (t, n = "") => {
                    if (null === t) return [];
                    const {
                        animations: i
                    } = e;
                    let a = i.filter(e => t == o["CATEGORY_FAVORITE"] ? e.favorited : e.categoryId == t);
                    if (n.length > 0) {
                        const e = new RegExp("" + n, "i");
                        a = a.slice().filter(t => t.name.match(e))
                    }
                    return 0 == a.length ? [] : a
                },
                getCategoryFirstId: e => () => {
                    const {
                        categories: t
                    } = e;
                    return 0 == t.length ? o["CATEGORY_FAVORITE"] : t[0].id
                }
            };
        t["default"] = {
            state: a,
            mutations: r,
            actions: s,
            getters: c
        }
    },
    "1a4f": function(e, t, n) {
        e.exports = n.p + "img/components/485984cc0665eb028b5000c159fe4e6f.png"
    },
    "1c62": function(e, t, n) {
        e.exports = n.p + "img/components/e966de4d8c90ed1fa6ac2d0baa27c807.png"
    },
    "1d23": function(e, t, n) {},
    "1f88": function(e, t, n) {
        e.exports = n.p + "img/components/226eadcb8a3fb0c604096cbb22ae38e8.png"
    },
    "20b3": function(e, t, n) {
        e.exports = n.p + "img/components/65d266c9158191b4ce11e8d92eed31bc.png"
    },
    "20fe": function(e, t, n) {
        e.exports = n.p + "img/components/6e5447a6d59d8e4ca3a69986a9665a92.png"
    },
    "219c": function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAaVaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0OCA3OS4xNjQwMzYsIDIwMTkvMDgvMTMtMDE6MDY6NTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMTItMjVUMDI6MzM6MDErMDM6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTEyLTI1VDIyOjI0OjIxKzAzOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTI1VDIyOjI0OjIxKzAzOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3ZmI4OTc4OS1jMDI4LTExNGQtOTc0My01Y2UzZTBiYWVkNGEiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3ZTA2ZmRiMC0wNzg1LWJhNGUtYjI2MC1hNWFjYmUwNmEwYWIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MWZkYzE0ZC0wNDA5LTAwNDYtYTU3MC00MDU4M2QxY2JiYjciPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjgxZmRjMTRkLTA0MDktMDA0Ni1hNTcwLTQwNTgzZDFjYmJiNyIgc3RFdnQ6d2hlbj0iMjAyMC0xMi0yNVQwMjozMzowMSswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNzEyYWVmYy1kNThkLWRlNGMtODU4Yy1hMjJkMGQ0Y2I5ODAiIHN0RXZ0OndoZW49IjIwMjAtMTItMjVUMjI6MjQ6MjErMDM6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N2ZiODk3ODktYzAyOC0xMTRkLTk3NDMtNWNlM2UwYmFlZDRhIiBzdEV2dDp3aGVuPSIyMDIwLTEyLTI1VDIyOjI0OjIxKzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+CA/oTwAAAs5JREFUSIm110+IV1UUB/DPz5kmRKhwKBxyE0NRqUFYIUptrLQWbdq7cFMt2ii0KFsUtI62rdq4a1EY/VlFFKVoUCiSQjkiocRURH+tcU6Lex6/15t3f0+x34HH997zveede+495973RMSFWCsnI2JbRJjWM4uv8KcigTlsxet41JRkFBF9+itYwY3Tcryuoj+qRD41ma3oP8FOvIwvO1z0tLvL1qdv2pdwqub4dOKrFf565WBtj3fhMyXxPsQoH3gai3gLy6kbtTDwEB7G+zjT4Z/DXC3d57OsjvRwLyW3eUK5HJow5mhERC25fsRl7O3hLiU+MWEpdyde6eHmqGc1nFCS77aO/lzinRNstyVe7OFGQ46PJ97V0X+beHfFboR5LFX4GHJ8JnFzR39+wPHNiZ9X+BXqJxfsUTL6An5o6VfxoDLzE9ZOfkNOark1ybbci5jk+A58VyOvU36ZtNRLicu4FQut56PkdnX0C3gluWd6uAWcwk21k4uylGeV5FrucMeUrfjduLwaWZ/4aQ8Hf2E0KWLKyQX3d/TN3u3osWl0P1feOcvkrGac2Ysd/bmKnnKX0x8tJTkHHb+XuKmj/zixW+OwEScnvHOV+rW4Q9mrJqKn8LXxYd/c1Q/gkWwHbs/2H8ol0Yxv+FtwH2vr+Aa8nY6mKc92HW9Vluk8jijLsoKZnFRb/k5sfx4F/lEibca3o76slOIH3aX+KfE0nr/WMK5F+k6uUKI8pEQcyqzXGV9zM/4bSVdW82nsmvfMZH+p7xJ/rec7+3+X2lm9RymLg9iON/EFXsA9eCP7fVEH9uFJvIN3sV/J8sNKiX4/9MX/a0T81uov5oRfHLA7luOa/ij7hxvd0AFCqef5bD+WuGHAZiZxS+LjieNv9YGZ729tyzet9qYBu90Vuy3NmKv5wTqQyx0RcTwitl+FjYjYFxEX0+5sROxt8/8CrTHm39vsohsAAAAASUVORK5CYII="
    },
    "23ff": function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAaVaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0OCA3OS4xNjQwMzYsIDIwMTkvMDgvMTMtMDE6MDY6NTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMTItMjVUMDI6MzM6MDErMDM6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTEyLTI1VDIyOjI0OjIxKzAzOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTI1VDIyOjI0OjIxKzAzOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3ZmI4OTc4OS1jMDI4LTExNGQtOTc0My01Y2UzZTBiYWVkNGEiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3ZTA2ZmRiMC0wNzg1LWJhNGUtYjI2MC1hNWFjYmUwNmEwYWIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4MWZkYzE0ZC0wNDA5LTAwNDYtYTU3MC00MDU4M2QxY2JiYjciPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjgxZmRjMTRkLTA0MDktMDA0Ni1hNTcwLTQwNTgzZDFjYmJiNyIgc3RFdnQ6d2hlbj0iMjAyMC0xMi0yNVQwMjozMzowMSswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNzEyYWVmYy1kNThkLWRlNGMtODU4Yy1hMjJkMGQ0Y2I5ODAiIHN0RXZ0OndoZW49IjIwMjAtMTItMjVUMjI6MjQ6MjErMDM6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6N2ZiODk3ODktYzAyOC0xMTRkLTk3NDMtNWNlM2UwYmFlZDRhIiBzdEV2dDp3aGVuPSIyMDIwLTEyLTI1VDIyOjI0OjIxKzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMCAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+CA/oTwAAAs5JREFUSIm110+IV1UUB/DPz5kmRKhwKBxyE0NRqUFYIUptrLQWbdq7cFMt2ii0KFsUtI62rdq4a1EY/VlFFKVoUCiSQjkiocRURH+tcU6Lex6/15t3f0+x34HH997zveede+495973RMSFWCsnI2JbRJjWM4uv8KcigTlsxet41JRkFBF9+itYwY3Tcryuoj+qRD41ma3oP8FOvIwvO1z0tLvL1qdv2pdwqub4dOKrFf565WBtj3fhMyXxPsQoH3gai3gLy6kbtTDwEB7G+zjT4Z/DXC3d57OsjvRwLyW3eUK5HJow5mhERC25fsRl7O3hLiU+MWEpdyde6eHmqGc1nFCS77aO/lzinRNstyVe7OFGQ46PJ97V0X+beHfFboR5LFX4GHJ8JnFzR39+wPHNiZ9X+BXqJxfsUTL6An5o6VfxoDLzE9ZOfkNOark1ybbci5jk+A58VyOvU36ZtNRLicu4FQut56PkdnX0C3gluWd6uAWcwk21k4uylGeV5FrucMeUrfjduLwaWZ/4aQ8Hf2E0KWLKyQX3d/TN3u3osWl0P1feOcvkrGac2Ysd/bmKnnKX0x8tJTkHHb+XuKmj/zixW+OwEScnvHOV+rW4Q9mrJqKn8LXxYd/c1Q/gkWwHbs/2H8ol0Yxv+FtwH2vr+Aa8nY6mKc92HW9Vluk8jijLsoKZnFRb/k5sfx4F/lEibca3o76slOIH3aX+KfE0nr/WMK5F+k6uUKI8pEQcyqzXGV9zM/4bSVdW82nsmvfMZH+p7xJ/rec7+3+X2lm9RymLg9iON/EFXsA9eCP7fVEH9uFJvIN3sV/J8sNKiX4/9MX/a0T81uov5oRfHLA7luOa/ij7hxvd0AFCqef5bD+WuGHAZiZxS+LjieNv9YGZ729tyzet9qYBu90Vuy3NmKv5wTqQyx0RcTwitl+FjYjYFxEX0+5sROxt8/8CrTHm39vsohsAAAAASUVORK5CYII="
    },
    2488: function(e, t, n) {
        e.exports = n.p + "img/components/0515e4ab85623f1f88ffbc7ca49c2f90.png"
    },
    "25cc": function(e, t, n) {},
    "28b9": function(e, t, n) {
        "use strict";
        n("bae3")
    },
    "2a25": function(e, t, n) {
        "use strict";
        n.r(t);
        var o = {
            state: {
                serverId: 1,
                serverName: "Северный Округ",
                keyboard: {
                    layout: "RUS",
                    capslockActived: !1
                }
            },
            mutations: {
                SET_SERVER_ID: (e, t) => e.serverId = t,
                SET_SERVER_NAME: (e, t) => e.serverName = t,
                SET_KEYBOARD_LAYOUT: (e, t) => e.keyboard.layout = t,
                SET_KEYBOARD_CAPSLOCK_ACTIVE: (e, t) => e.keyboard.capslockActived = t
            },
            actions: {
                setServerId: ({
                    commit: e
                }, t) => {
                    e("SET_SERVER_ID", parseInt(t))
                },
                setServerName: ({
                    commit: e
                }, t) => {
                    e("SET_SERVER_NAME", t)
                },
                setKeyboard: ({
                    commit: e
                }, t) => {
                    const {
                        layout: n,
                        capslockActive: o
                    } = JSON.parse(t);
                    e("SET_KEYBOARD_LAYOUT", n), e("SET_KEYBOARD_CAPSLOCK_ACTIVE", o)
                }
            }
        };
        t["default"] = o
    },
    "2bef": function(e, t, n) {
        var o = {
            "./CARBON_RING.png": "3fd9",
            "./CARBON_TWO.png": "8f96",
            "./CURSE.png": "8b0d",
            "./DAYTONA.png": "5a31",
            "./DOUBLE-V.png": "eb26",
            "./DUCKTAIL.png": "6642",
            "./FOUR-SLOT.png": "a083",
            "./GRADIENT_STOCK.png": "a164",
            "./GRADIENT_TWO.png": "4953",
            "./GRID.png": "0c9c",
            "./REAPER.png": "0f6d",
            "./SPEEDLINE.png": "e4f68",
            "./STOCK.png": "84d8",
            "./STOCK1.png": "a984",
            "./TREMOR.png": "7c1e",
            "./TWISTER.png": "0587",
            "./bpstock.png": "3a41",
            "./differentsial.png": "9d83",
            "./dvoynoy-turbo.png": "b26e",
            "./exhaust_color_2.png": "a7ba",
            "./head_lights.png": "b601",
            "./kolenval.png": "71ab",
            "./kpp.png": "a759",
            "./nagnetatel.png": "98bf",
            "./none.png": "55d1",
            "./okhlazhdenie.png": "a412",
            "./podveska.png": "7cd3",
            "./proshitvka.png": "f22c",
            "./pryamotok.png": "1c62",
            "./raspredval.png": "1f88",
            "./stseplenie.png": "b128",
            "./tail_lights.png": "7085",
            "./tormoza.png": "ff7a",
            "./turbokompressor.png": "858b",
            "./vykhlop.png": "0262",
            "./wad0.png": "20b3",
            "./wad1.png": "ba64",
            "./wad10.png": "b63d",
            "./wad11.png": "2488",
            "./wad12.png": "a4c9",
            "./wad13.png": "9700",
            "./wad14.png": "b838",
            "./wad15.png": "6daf",
            "./wad16.png": "a4d4",
            "./wad17.png": "d8d3",
            "./wad2.png": "f458",
            "./wad3.png": "0090",
            "./wad4.png": "cb35",
            "./wad5.png": "a2e2",
            "./wad6.png": "3aa6",
            "./wad7.png": "3305",
            "./wad8.png": "1a4f",
            "./wad9.png": "9f12",
            "./wheel1.png": "dc06",
            "./wheel10.png": "20fe",
            "./wheel11.png": "f610",
            "./wheel12.png": "cdd3",
            "./wheel13.png": "4ea6",
            "./wheel14.png": "b000",
            "./wheel15.png": "eb0a",
            "./wheel16.png": "3662",
            "./wheel17.png": "ec49",
            "./wheel2.png": "7f5f",
            "./wheel3.png": "c52a",
            "./wheel4.png": "54d0",
            "./wheel5.png": "4908",
            "./wheel6.png": "a1ee",
            "./wheel7.png": "bfa3",
            "./wheel8.png": "34e8",
            "./wheel9.png": "aaec"
        };

        function i(e) {
            var t = a(e);
            return n(t)
        }

        function a(e) {
            if (!n.o(o, e)) {
                var t = new Error("Cannot find module '" + e + "'");
                throw t.code = "MODULE_NOT_FOUND", t
            }
            return o[e]
        }
        i.keys = function() {
            return Object.keys(o)
        }, i.resolve = a, e.exports = i, i.id = "2bef"
    },
    "2c1a": function(e, t) {
        document.oncontextmenu = () => !1
    },
    "2c7d": function(e, t, n) {},
    "2fa3": function(e, t, n) {
        "use strict";
        n.d(t, "h", (function() {
            return o
        })), n.d(t, "d", (function() {
            return i
        })), n.d(t, "g", (function() {
            return a
        })), n.d(t, "a", (function() {
            return r
        })), n.d(t, "b", (function() {
            return s
        })), n.d(t, "f", (function() {
            return c
        })), n.d(t, "e", (function() {
            return d
        })), n.d(t, "c", (function() {
            return l
        }));
        const o = (e, t, n = {}, o = {}) => e.$router.push({
                name: t,
                params: o,
                query: n
            }, () => {}),
            i = e => e.$route.name,
            a = (e, t, n = !0) => {
                const o = `@${e}, ${t}`;
                cef.SendMessage(o, window.browserId), n && console.log("[DEBUG<cef.sendMessage>] " + o)
            },
            r = e => e[0].toLowerCase() + e.slice(1),
            s = e => {
                let t = 0;
                for (let n = 0; n < e.length; n++) null !== e[n].match(/[A-Z]+/) && t++;
                return t == e.length ? e.toLowerCase() : e[0].toLowerCase() + e.slice(1)
            },
            c = e => (e = e.slice(1), parseInt(e, 16) << 0),
            d = e => (e >>>= 0, "#" + e.toString(16).padStart(8, "0")),
            l = (e, t) => `https://pc.rod-ins.com/resource/frontend/${e}/img/${t}`
    },
    "30ef": function(e, t, n) {},
    3148: function(e, t, n) {
        var o = {
            "./animation.js": "ffe0",
            "./tuning.js": "317d"
        };

        function i(e) {
            var t = a(e);
            return n(t)
        }

        function a(e) {
            if (!n.o(o, e)) {
                var t = new Error("Cannot find module '" + e + "'");
                throw t.code = "MODULE_NOT_FOUND", t
            }
            return o[e]
        }
        i.keys = function() {
            return Object.keys(o)
        }, i.resolve = a, e.exports = i, i.id = "3148"
    },
    "317d": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "toServer", (function() {
            return a
        })), n.d(t, "fromServer", (function() {
            return r
        }));
        var o = n("14db"),
            i = n("2fa3");
        const a = {
                addCartItem: e => {
                    Object(i["g"])(o["MODULE_TUNING"], "cart, add, " + e)
                },
                removeCartItem: e => {
                    Object(i["g"])(o["MODULE_TUNING"], "cart, remove, " + e)
                },
                updateDashboard: e => {
                    Object(i["g"])(o["MODULE_TUNING"], "updateDashboard, " + e)
                },
                updateCategory: e => {
                    Object(i["g"])(o["MODULE_TUNING"], "updateCategory, " + e)
                },
                responsePopup: (e, t) => {
                    Object(i["g"])(o["MODULE_TUNING"], `popupResponse, ${e}, ${t}`)
                },
                purchase: () => {
                    Object(i["g"])(o["MODULE_TUNING"], "purchase")
                },
                exit: () => {
                    Object(i["g"])(o["MODULE_TUNING"], "exit")
                },
                selectTintedWindowColor: e => {
                    Object(i["g"])(o["MODULE_TUNING"], "selectTintedWindowColor, " + e)
                },
                updateTintedWindowColor: (e, t) => {
                    Object(i["g"])(o["MODULE_TUNING"], `updateTintedWindowColor, ${e}, ${t}`)
                },
                updateDashboardSlider: (e, t) => {
                    Object(i["g"])(o["MODULE_TUNING"], `updateDashboardSlider, ${e}, ${t}`)
                },
                resetDashboardSliders: () => {
                    Object(i["g"])(o["MODULE_TUNING"], "resetDashboardSliders")
                },
                updateColor: (e, t) => {
                    Object(i["g"])(o["MODULE_TUNING"], `updateColor, ${e}, ${t}`)
                },
                resetTintedWindowColor: e => {
                    Object(i["g"])(o["MODULE_TUNING"], "resetTintedWindowColor, " + e)
                }
            },
            r = {}
    },
    "322c": function(e, t, n) {
        "use strict";
        n.r(t), t["default"] = {
            name: "default",
            path: "/"
        }
    },
    3305: function(e, t, n) {
        e.exports = n.p + "img/components/8193895517042c92561285885c472500.png"
    },
    "34e8": function(e, t, n) {
        e.exports = n.p + "img/components/4ddd61267e890b0823137d560c71611f.png"
    },
    3536: function(e, t, n) {
        "use strict";
        n("3b73")
    },
    3662: function(e, t, n) {
        e.exports = n.p + "img/components/868f5018b28d4b52523b21aefb2fb31f.png"
    },
    3834: function(e, t, n) {
        e.exports = n.p + "img/categories/978460cedee8cf8765ec852552ebba71.png"
    },
    "38bb": function(e, t, n) {
        "use strict";
        n.r(t);
        var o = n("5333");
        const i = o["MODULE"].name;
        setTimeout(() => {
            vue.c(i + "/loadCategories", '\n    [\n        {\n            "id": 1,\n            "name": "Жесты"\n        },\n\n        {\n            "id": 2,\n            "name": "Общение"\n        },\n\n        {\n            "id": 3,\n            "name": "Развлечения"\n        },\n\n\n        {\n            "id": 4,\n            "name": "Отдых"\n        },\n\n\n        {\n            "id": 5,\n            "name": "Действия"\n        },\n\n        {\n            "id": 6,\n            "name": "Реакции"\n        },\n\n        {\n            "id": 7,\n            "name": "Стойки"\n        },\n\n        {\n            "id": 8,\n            "name": "Состояние"\n        }\n    ]\n    '), vue.c(i + "/loadAnimations", '\n    [\n        {\n            "id": 1,\n            "categoryId": 1,\n            "name": "Танцевать 1",\n            "image": "0.png",\n            "imageHover": "0-hover.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 2,\n            "categoryId": 1,\n            "name": "Танцевать 2",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 3,\n            "categoryId": 1,\n            "name": "Танцевать 3",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 4,\n            "categoryId": 1,\n            "name": "Танцевать 4",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 5,\n            "categoryId": 2,\n            "name": "Танцевать 5",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 6,\n            "categoryId": 2,\n            "name": "Танцевать 6",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 0\n        },\n\n        {\n            "id": 7,\n            "categoryId": 2,\n            "name": "Танцевать 7",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        },\n\n        {\n            "id": 8,\n            "categoryId": 2,\n            "name": "Танцевать 8",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        },\n\n        {\n            "id": 9,\n            "categoryId": 2,\n            "name": "Танцевать 8",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        },\n\n        {\n            "id": 10,\n            "categoryId": 2,\n            "name": "Танцевать 8",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        },\n\n        {\n            "id": 11,\n            "categoryId": 2,\n            "name": "Танцевать 8",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        },\n\n        {\n            "id": 12,\n            "categoryId": 2,\n            "name": "Танцевать 8",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        },\n\n        {\n            "id": 13,\n            "categoryId": 2,\n            "name": "Танцевать 8",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        },\n\n        {\n            "id": 14,\n            "categoryId": 2,\n            "name": "Танцевать 8",\n            "image": "0.png",\n            "imageHover": "0.png",\n            "favorited": 1\n        }\n    ]\n    ')
        }, 0)
    },
    "38c4": function(e, t, n) {},
    "39eb": function(e, t, n) {
        "use strict";
        n("e82b")
    },
    "3a0f": function(e, t, n) {
        e.exports = n.p + "img/categories/8bd4d7493dd9a37903e39027c74b2eea.png"
    },
    "3a41": function(e, t, n) {
        e.exports = n.p + "img/components/0c329cf07229b2641fdf9b53858b1296.png"
    },
    "3aa6": function(e, t, n) {
        e.exports = n.p + "img/components/996cd0d776ea2b59b32d979d23213b9e.png"
    },
    "3abf": function(e, t, n) {
        "use strict";
        n("30ef")
    },
    "3b73": function(e, t, n) {},
    "3d43": function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAATCAYAAABlcqYFAAABYklEQVQ4jaWUMUsDQRCFv8SgBBHEShsrm2AhsbEWf4MgIsHeNo2NiDb2Qv6AoJWVQSxEEUQCWhisrGzEQrAxgkiMTxYmsoTc3pp7MNzO7uybm9m3i6Q0K0lqSHpPsHtJ8yGOmCRnSkczxJEnHfWImOPgakQlzuYkLUo68Gqq21ywVc4KEX/p0LTvNLBm4wZwGbM5JskqsGSxZW++AswAOeAHuAVqfRlSSt2MOHQftSR1OYnuWX+dPylpV9LRPxN0sWM8C8Zbds6LF1DsOdxB8GA8H7b3zUl4yuveZ+Q5hfBoPKMWM+GStLwN20ApY5JZYAv4Nr+Vc08FMJaROIRWzI3PjN4kp8BzRtJX4+n8zUhqewoqSDrMqK4Lk3DH/K98j5qKwHjGSu6sQ90uDbuMy5KuJFW9S3Qu6WmAKq4lDRnPhvFWQk+KC3YvbSxukrichNPK3wdWgJGE9TZwAqz3XQV+AXOdO2AOkT7VAAAAAElFTkSuQmCC"
    },
    "3db5": function(e, t, n) {
        e.exports = n.p + "img/categories/28f152c9e026faf1403e2d232d7e153f.png"
    },
    "3dfd": function(e, t, n) {
        "use strict";
        var o = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "app",
                    attrs: {
                        id: "app"
                    }
                }, [t("div", {
                    class: "app-bg app-bg--" + e.environment
                }), t("hud-view", {
                    attrs: {
                        visible: e.$route.name === e.ROUTE_DEFAULT
                    }
                }), e.$route.name !== e.ROUTE_DEFAULT ? t("div", {
                    staticClass: "app__module"
                }, [t("router-view")], 1) : e._e(), t("modal-view")], 1)
            },
            i = [],
            a = n("5521"),
            r = function() {
                var e = this,
                    t = e._self._c;
                return !e.visible || e.$_.isEmpty(e.elementData) || e.$_.isEmpty(e.elementShown) ? e._e() : t("div", {
                    staticClass: "hud-view"
                }, e._l(e.getElements(), (function({
                    name: n
                }, o) {
                    return t(e.elements[n].component, e._b({
                        key: o,
                        tag: "component"
                    }, "component", e.elementData[n], !1))
                })), 1)
            },
            s = [],
            c = n("2ef0"),
            d = {},
            l = n("88a1"),
            u = {
                props: {
                    visible: {
                        type: Boolean,
                        default: () => !0
                    }
                },
                data: () => ({
                    elements: d,
                    elementShown: {},
                    elementData: {}
                }),
                mounted() {
                    this.onInit(), this.$eventBus.$on(l["a"].SHOW_HUD, this.onShowAndUpdate), this.$eventBus.$on(l["a"].HIDE_HUD, this.onHide), this.$eventBus.$on(l["a"].UPDATE_HUD, this.onShowAndUpdate)
                },
                beforeDestroy() {
                    this.$eventBus.off(l["a"].SHOW_HUD), this.$eventBus.off(l["a"].HIDE_HUD), this.$eventBus.off(l["a"].UPDATE_HUD)
                },
                methods: {
                    getElements() {
                        const {
                            elementShown: e
                        } = this;
                        if (Object(c["isEmpty"])(e)) return;
                        const t = Object.entries(d),
                            n = t.filter(([t, {
                                name: n
                            }]) => e[n]);
                        return Object.fromEntries(n)
                    },
                    onInit() {
                        for (const e in d) this.elementData[e] = {}, this.elementShown[e] = !1
                    },
                    onShowAndUpdate(e, t) {
                        Object(c["isEmpty"])(e) || Object(c["isEmpty"])(d[e]) ? console.warn(`[hud] Element with name '${e}' does not exist`) : (this.elementShown[e] = !0, Object(c["isEmpty"])(t) || (this.elementData[e] = {
                            ...this.elementData[e],
                            ...t
                        }), this.$forceUpdate())
                    },
                    onHide(e) {
                        if (Object(c["isEmpty"])(e))
                            for (const t in d) this.elementShown[t] = !1;
                        else this.elementShown[e] = !1;
                        this.$forceUpdate()
                    }
                }
            },
            p = u,
            g = (n("28b9"), n("2877")),
            m = Object(g["a"])(p, r, s, !1, null, "12778756", null),
            f = m.exports,
            v = function() {
                var e = this,
                    t = e._self._c;
                return e.$_.isNil(e.currentModal) ? e._e() : t("div", {
                    staticClass: "modal-view"
                }, [t("div", {
                    staticClass: "modal-view__inner"
                }, [t(e.modals[e.currentModal].component, e._b({
                    tag: "component"
                }, "component", e.currentModalProperties, !1)), t("key", {
                    attrs: {
                        title: "Закрыть",
                        keyCode: "Esc",
                        className: "modal-view__key modal-view__key--escape"
                    },
                    on: {
                        "action:key": e.onActionEscape
                    }
                })], 1)])
            },
            A = [],
            b = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "key",
                    class: e.getClassName(),
                    style: {
                        transform: "scale(" + e.scale
                    }
                }, [t("div", {
                    staticClass: "key__icon",
                    class: {
                        clickable: e.keyCode.length
                    },
                    on: {
                        click: e.onKeyClick
                    }
                }, [e.icon ? t("img", {
                    attrs: {
                        src: e.icon
                    }
                }) : e._e(), e._v(" " + e._s(e.icon ? "" : e.text) + " ")]), e.title.length ? t("div", {
                    staticClass: "key__title"
                }, [e._v(e._s(e.title))]) : e._e()])
            },
            h = [],
            C = n("2fa3"),
            y = {
                toggleCursor: e => {
                    Object(C["g"])(a["b"], "vueToggleCursor" + (e ? "On" : "Off"))
                },
                clickEscape: () => {
                    Object(C["g"])(a["b"], "clickEscape")
                },
                requestModuleData: (e, t = "all") => {
                    Object(C["g"])(a["b"], `requestModuleData, ${e}, ${t}`)
                }
            };
        const I = {
                leftMouse: "leftMouse",
                rightMouse: "rightMouse",
                middleMouse: "middleMouse"
            },
            O = 100;
        var D = {
                props: {
                    name: {
                        type: String,
                        default: () => ""
                    },
                    title: {
                        type: String,
                        default: () => ""
                    },
                    mode: {
                        type: String,
                        default: () => "light"
                    },
                    keyCode: {
                        type: String,
                        default: () => ""
                    },
                    scale: {
                        type: Number,
                        default: () => 1
                    },
                    className: {
                        type: String,
                        default: () => ""
                    }
                },
                data() {
                    return {
                        text: "",
                        icon: "",
                        isClickable: !1,
                        hasIconBackground: !0
                    }
                },
                mounted() {
                    window.addEventListener("keyup", this.onKeyPress), window.addEventListener("mouseup", this.onMouseUp), this.updateData()
                },
                updated() {
                    this.updateData()
                },
                beforeDestroy() {
                    window.removeEventListener("keyup", this.onKeyPress), window.removeEventListener("mouseup", this.onMouseUp)
                },
                methods: {
                    updateData() {
                        const e = Object(c["isEmpty"])(this.name) ? this.keyCode : this.name;
                        try {
                            this.icon = n("b4c7")(`./${Object(C["a"])(e)}.svg`)
                        } catch (t) {
                            this.icon = null
                        }
                        this.hasIconBackground = !Object(c["isNil"])(this.icon) && !this.isKeyHasBackground(e), this.text = e
                    },
                    isKeyHasBackground(e) {
                        return !Object(c["isNil"])(e.match(/Mouse/))
                    },
                    getClassName() {
                        const {
                            mode: e,
                            icon: t,
                            isClickable: n,
                            hasIconBackground: o,
                            className: i
                        } = this;
                        return `\n                mode_${e} \n                ${o?"key--background":""} \n                ${n?"key--clickable":""}\n                ${Object(c["isNil"])(t)||o?"":"key--icon"} \n                ${Object(c["isEmpty"])(i)?"":i}\n            `
                    },
                    onMouseUp(e) {
                        const {
                            keyCode: t,
                            name: n
                        } = this;
                        if (!Object(c["isEmpty"])(t)) return;
                        const {
                            which: o
                        } = e;
                        (1 === o && n === I.leftMouse || 2 === o && n === I.middleMouse || 3 === o && n === I.rightMouse) && this.$emit("action:key", {
                            key: n
                        })
                    },
                    onKeyPress(e) {
                        const {
                            keyCode: t
                        } = this, {
                            code: n
                        } = e, o = new RegExp("" + t);
                        t !== n && Object(c["isNil"])(n.match(o)) || this.onKeyClick()
                    },
                    onKeyClick() {
                        const {
                            keyCode: e
                        } = this;
                        Object(c["isEmpty"])(e) || (this.isClickable = !0, setTimeout(() => this.isClickable = !1, O), "Esc" === e && y.clickEscape(), this.$emit("action:key", {
                            key: e
                        }))
                    }
                }
            },
            S = D,
            E = (n("3536"), Object(g["a"])(S, b, h, !1, null, "067e3e1e", null)),
            w = E.exports,
            M = {},
            N = n("810b"),
            R = {
                components: {
                    Key: w
                },
                data: () => ({
                    modals: M,
                    currentModal: null,
                    currentModalProperties: []
                }),
                mounted() {
                    this.$eventBus.$on(N["a"].SHOW_MODAL, (e, t) => {
                        Object(c["isEmpty"])(this.modals[e]) ? console.warn(`[modal] Modal with name '${e}' does not exist`) : (this.currentModal = e, this.currentModalProperties = t)
                    }), this.$eventBus.$on(N["a"].HIDE_MODAL, e => this.onActionEscape())
                },
                beforeDestroy() {
                    this.$eventBus.off(N["a"].SHOW_MODAL), this.$eventBus.off(N["a"].HIDE_MODAL)
                },
                methods: {
                    onActionEscape() {
                        this.currentModal = null, this.currentModalProperties = [], this.$forceUpdate()
                    }
                }
            },
            T = R,
            x = (n("39eb"), Object(g["a"])(T, v, A, !1, null, "32f8c45e", null)),
            k = x.exports,
            _ = (n("e4f6"), n("38c4"), n("c1c3"), {
                components: {
                    HudView: f,
                    ModalView: k
                },
                data: () => ({
                    ROUTE_DEFAULT: a["c"],
                    environment: "production"
                })
            }),
            G = _,
            Y = Object(g["a"])(G, o, i, !1, null, null, null);
        t["a"] = Y.exports
    },
    "3f1d": function(e, t, n) {
        "use strict";
        n("1d23")
    },
    "3fd9": function(e, t, n) {
        e.exports = n.p + "img/components/ccea666e18d02a0aefb646dc34ddcfb1.png"
    },
    "3ffd": function(e, t, n) {},
    4415: function(e, t, n) {
        "use strict";
        n("f091")
    },
    4471: function(e, t, n) {
        "use strict";
        n("1744")
    },
    "47d8": function(e, t, n) {
        "use strict";
        n("5233")
    },
    "48ca": function(e, t, n) {},
    "48ef": function(e, t, n) {
        "use strict";
        n.d(t, "b", (function() {
            return r
        })), n.d(t, "c", (function() {
            return s
        })), n.d(t, "d", (function() {
            return c
        })), n.d(t, "a", (function() {
            return d
        }));
        var o = n("2b0e"),
            i = n("8c4f"),
            a = n("2f62");
        const r = (e = []) => (o["default"].use(i["a"]), new i["a"]({
                routes: e
            })),
            s = (e = {}) => (o["default"].use(a["a"]), new a["a"].Store({
                strict: !1,
                modules: e
            })),
            c = (e, t) => {
                o["default"].prototype["$" + e] = t
            },
            d = (e, t, n = null, i = (() => {}), a = "#app") => new o["default"]({
                router: e,
                store: t,
                mounted: () => i(),
                render: e => e(n)
            }).$mount(a)
    },
    4908: function(e, t, n) {
        e.exports = n.p + "img/components/a0f70584f75d44f93e513c3237567992.png"
    },
    4953: function(e, t, n) {
        e.exports = n.p + "img/components/63a8ec3fbe76df6d2cb63d1abce83f8d.png"
    },
    "4ea6": function(e, t, n) {
        e.exports = n.p + "img/components/6aad436e45d3471e42907a778464823e.png"
    },
    5233: function(e, t, n) {},
    "52c1": function(e, t, n) {
        e.exports = n.p + "img/categories/83935a5299aba9fc097eb22dad37047f.png"
    },
    "52f3": function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAjqaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQzNTIsIDIwMjAvMDEvMzAtMTU6NTA6MzggICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMDEtMjVUMDE6NDU6NTUrMDM6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDgtMDVUMDE6MTM6MTYrMDM6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTA4LTA1VDAxOjEzOjE2KzAzOjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmJkZWYzODExLWZkY2UtYzk0YS1iYzMxLTVhOTFhYjE2NDM4MSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmNiMDEzNDAyLWRkODktNTI0MC05NjU5LWY5NDcxMmJlZGM0YSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmZjNGQyM2VhLTQxN2EtY2I0OC04MGZkLWIxNTg3MzBjYzFkMSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgZXhpZjpDb2xvclNwYWNlPSI2NTUzNSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjMwIiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMzAiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZjNGQyM2VhLTQxN2EtY2I0OC04MGZkLWIxNTg3MzBjYzFkMSIgc3RFdnQ6d2hlbj0iMjAyMS0wMS0yNVQwMTo0NTo1NSswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YTU2MjYyNDItMzgzYy1lNTQ0LWJhM2MtNWZkYWEyZjk5OTU0IiBzdEV2dDp3aGVuPSIyMDIxLTAxLTI1VDAxOjQ1OjU1KzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiZGVmMzgxMS1mZGNlLWM5NGEtYmMzMS01YTkxYWIxNjQzODEiIHN0RXZ0OndoZW49IjIwMjEtMDgtMDVUMDE6MTM6MTYrMDM6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjViZWU0ZjQwLWQ3NGEtMTg0Yi1hMDc2LWU1YzI1ZTU2NjEzMjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjNmFlNDY2ZC1hZmQzLWQwNGUtYTExZi04OWI2ZjE1YTg0NDQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjYzN0QxMDJFRDAxMjExRTc5MDBGRkVDRTE5NzkzQkVBPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+S+MKEAAAAYhJREFUSInt1b1rFUEUBfDfUzF+YJMoIqhItLGK/gOKAatUIpLOpLCzsLOwtlAQOyGVoK0IYi8YsJCQKoJRQbQQ1EIMqMQE4Vi8CWz0rVmekRTugYFh984599w7H50kNgKbNkS1FW6FW+H1xJaGcQM4i9PYjWX8KP86ugY2V+IX8R5zeIjPvzEmWWucSbKQ/rGQ5H6S80kGV3jXEj1XIbiYZH+SY0kmk9xLstRHIteS6KT+rh7FozI/ihcYxyG8xTt8xWCJHcVh7K3hW8QrTGGqzulIyW4+yUCS4+ld7ukk40m2VtZuT7KvcJxMMpHkVJKhqkYvx8N4jbuYwGVcrytLBc90N9NLfMNODOF2+b4avzg9mGQ5yZXSz8d99LCKm0l29apq1fGe4vIp3uBOA5d1mMEk5msjKlncSjJT+vo3uNHLYZ3jqziB5/iOJ/iCJWzDDt3dOowDGMERqy+gT7iAB01KsiI8hll8bFZJKgmM6R6pS/jQdPGfzvE/xf/3OrXCrXArvG74Ce6rTnYOz1OsAAAAAElFTkSuQmCC"
    },
    5333: function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "MODULE", (function() {
            return o
        })), n.d(t, "CATEGORY_FAVORITE", (function() {
            return i
        }));
        const o = {
                name: "animation",
                categoryLoadedIntervalTime: 100
            },
            i = -1
    },
    53334: function(e, t, n) {},
    "54d0": function(e, t, n) {
        e.exports = n.p + "img/components/2b486d7915006316c9fd5ee3bb7abe65.png"
    },
    5521: function(e, t, n) {
        "use strict";
        n.d(t, "c", (function() {
            return o
        })), n.d(t, "b", (function() {
            return i
        })), n.d(t, "a", (function() {
            return a
        }));
        const o = "default",
            i = 0,
            a = 255
    },
    "55d1": function(e, t, n) {
        e.exports = n.p + "img/components/d75035e950660e0356a538c09222138e.png"
    },
    "56d7": function(e, t, n) {
        "use strict";
        n.r(t),
            function(e) {
                var t = n("2ef0"),
                    o = n.n(t),
                    i = n("2b0e"),
                    a = n("5521"),
                    r = n("2fa3"),
                    s = n("3dfd"),
                    c = n("5b5b"),
                    d = n("a96c"),
                    l = n("48ef"),
                    u = n("81f6"),
                    p = n("bf21"),
                    g = n("7d1d");
                n("2c1a"), i["default"].config.productionTip = !1, Object(l["d"])("_", o.a), Object(p["a"])(u["a"]), Object(g["a"])(u["a"]);
                const m = Object(l["b"])(c["routes"]),
                    f = Object(l["c"])(c["stores"]),
                    v = () => {
                        cef.onMyId || (cef.onMyId = e => window.browserId = e, cef.GetMyId()), void 0 === window.browserId ? setTimeout(() => v(), 250) : Object(r["g"])(a["b"], "vueReady")
                    },
                    A = Object(l["a"])(m, f, s["a"], () => v());
                e.app = A, e.vue = Object(d["a"])(A)
            }.call(this, n("c8ba"))
    },
    5719: function(e, t, n) {},
    "594c": function(e, t, n) {
        e.exports = n.p + "img/categories/e0e4be6e99f8fcab6bca55ea95f3cb7a.png"
    },
    "5a31": function(e, t, n) {
        e.exports = n.p + "img/components/121284c39324e2d89b6b4a5cc14d9fa3.png"
    },
    "5b5b": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "routes", (function() {
            return p
        })), n.d(t, "stores", (function() {
            return g
        }));
        var o = n("2ef0"),
            i = n("2fa3");
        const a = "none",
            r = "routes",
            s = "(stores/(.+)|store)",
            c = (e = a) => {
                if (e == a) throw new Error("Loader type not passed, when creating module loader");
                let t = [];
                const n = () => e,
                    c = () => {
                        const e = n();
                        let a = null;
                        return e === r ? (a = [], t.forEach(e => a.push(e.context.default))) : e === s && (a = [], t.forEach(e => {
                            const t = Object(i["b"])(e.module);
                            Object(o["has"])(a[t], "namespaced") && delete a[t].namespaced, a[t] = Object.assign({
                                namespaced: !0
                            }, Object(o["merge"])(e.context.default, a[t]))
                        })), a || t
                    },
                    d = (e, n) => {
                        t.push({
                            module: e,
                            context: n
                        })
                    };
                return {
                    getType: n,
                    getLoadedFiles: c,
                    addLoadedFile: d
                }
            },
            d = (e = []) => {
                e.forEach(e => {
                    const t = e.getType(),
                        o = n("1587");
                    o.keys().forEach(n => {
                        const i = new RegExp(t + ".js$");
                        if (null === n.match(i)) return;
                        const a = n.match(/^\.\/([A-Z]{1}[a-z]+)\//i);
                        e.addLoadedFile(a[1], o(n))
                    })
                })
            },
            l = c(r),
            u = c(s);
        d([l, u]);
        const p = l.getLoadedFiles(),
            g = u.getLoadedFiles()
    },
    "5d3c": function(e, t, n) {
        e.exports = n.p + "img/categories/a71091e1e576de8db7583d7624a3a498.png"
    },
    "60de": function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAXIaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzE0OCA3OS4xNjQwMzYsIDIwMTkvMDgvMTMtMDE6MDY6NTcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjAtMTItMjFUMjI6MjY6MDUrMDM6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIwLTEyLTI2VDAwOjA3OjA3KzAzOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIwLTEyLTI2VDAwOjA3OjA3KzAzOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjZGZlYzdiOC0yZDcxLTRkNDYtODNmMi1jNmYzZjVkNDFmZWYiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDphMTk1N2FmNy0xZDEzLTM4NDMtOWNmNC04NTYzODg2YTRiMWUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4Mjg4MWFkYS04MTBhLWVhNDEtOGRlNS04YjZmY2RjOGIwZjEiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjgyODgxYWRhLTgxMGEtZWE0MS04ZGU1LThiNmZjZGM4YjBmMSIgc3RFdnQ6d2hlbj0iMjAyMC0xMi0yMVQyMjoyNjowNSswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpjZGZlYzdiOC0yZDcxLTRkNDYtODNmMi1jNmYzZjVkNDFmZWYiIHN0RXZ0OndoZW49IjIwMjAtMTItMjZUMDA6MDc6MDcrMDM6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6HMVfHAAAB9UlEQVRIiZ2VPUtdQRCGn917QELEj+YSTGNhLYKFlRJMkSZN2qTwF6QURBuxERVrxUbTpEpl48+wCCGQNikigoWfKHrH4uzqnDlz7z34wnDP7pl535mzs3ODiACEZACSzENQzwIUwL3jU+GKzmYAoiPQBr4A+8Cn5GeTiWa/5BaRmIxkIRnGduUZm8mnZXx0bMjcXsY6C40r9fzL+Gp/se+i42SdAWaBebVeAEaon5HHQwQ6jpDFZ2BKrd8Bc/RukMzVyZVoIa+7zh2SMRPnxZbv+xz4tIgcisiD1HEnIt9E5I3TJBWukO5Jzg6TyQll694ClybrYcp78gd4n/b+eVwFvbEInDn7+i60k2mRqnOfStwgB3vpd01xBdKZeJXoLN82FBk18SiOiojg9HhD3Jq4pyqsSDf8BraAG0M0CCwD48a/dgW0iHcmACvAHfCR6q3+DqwCB0aghiaVAHwFPpi918BRk2Ar4lUzAPx3Yk+BV85+bZ55ldiSu80nD3pm5bX0msIZN5RzyqINXDsiObGcXMyVtKiP6rwugHXgmOe2bAE/gElHXMfGTBDNC1vyBrAN/DQJzABLXUSi9i2czHU1ABPAThcyC+/fsaMVX3rb+6Kg/M6R6merjIUGGDLrTuIOpM+VyYJxArhoKPLX2XugbJD4CGbWDrNodbncAAAAAElFTkSuQmCC"
    },
    "61b4": function(e, t, n) {
        e.exports = n.p + "img/categories/e22e98752dfbb375dd135e4471822d07.png"
    },
    "65e0": function(e, t, n) {},
    6602: function(e, t, n) {
        e.exports = n.p + "img/arrowRight.da54ce84.svg"
    },
    6642: function(e, t, n) {
        e.exports = n.p + "img/components/c86c0531860a163157cfbd05830d4f30.png"
    },
    6922: function(e, t, n) {
        e.exports = n.p + "img/categories/8d760691506ac606d65f70f455f08a1e.png"
    },
    "6b7b": function(e, t, n) {},
    "6ca3": function(e, t, n) {},
    "6daf": function(e, t, n) {
        e.exports = n.p + "img/components/fac0eea6872f77f5142f333533eaaccd.png"
    },
    7085: function(e, t, n) {
        e.exports = n.p + "img/components/316ec4a32f062b247e4dc0380e329235.png"
    },
    7134: function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAABZElEQVQ4ja2Vv0oDQRjEfxGjnYVFFLRTtNQu6AvY2VtHI5EUvkOwiUR8AXtBYuEr2AhWNjYWYiEIisYoggEduWMDn+f92Vwc2Ltld765+e5mOSRljaqkG3f34Ycji1DTb2z/h3DFSF6ZeWUY4boRari1hlmr5RHeNAKtyN6hr/M0p82EoqaP86R3up/RaivLeX+yk9K+j/iftASXdUPYGiSrTjDWeUHSAzAFnANVYBIYIxs94AU4AlYcexa4D2fmiR/Kh09XdRZ9FZc5BS2OnWDJCi9I+hpCtO3EypJ6kjZsKsqmpUFwatp/cnVdSeP2Cy8N6LxtauuRvb1ofHydW6dFSbeR/U5cNpclfXs6DcZ0HCkp+EnOT2K4geO7CK+bdqrmJV044rukgxTuoqRrxw3+NquFMBrpmAG6wJvHaQy44ckbdQt1YBcYiRADsWegCJQMPw4d4BWYAB77xDVgzsORH4AfcAVlLWZxs+sAAAAASUVORK5CYII="
    },
    "71ab": function(e, t, n) {
        e.exports = n.p + "img/components/fe8f82d8ea1a31f66031c942e49b1c6b.png"
    },
    "738f": function(e, t, n) {
        e.exports = n.p + "img/categories/044ede20cce50cbc95a0aab95070fa0d.png"
    },
    "74ca": function(e, t, n) {},
    "78fa": function(e, t, n) {},
    "792f": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "slider", (function() {
            return a
        }));
        const o = (e, t = 0, n = 500, o = 8, i = "selected") => {
            const a = () => e.querySelectorAll(":scope > *"),
                r = () => {
                    let t = e.querySelectorAll(":scope > *:not(.selected)");
                    return t.length > 0 || (t = a()), t[0].clientWidth
                },
                s = t => {
                    e.style.transition = 0 == t ? "none" : t + "ms ease"
                },
                c = t => {
                    s(n), e.style.transform = `translateX(-${t}px)`
                },
                d = () => {
                    const e = a().length;
                    0 !== e && u(t)
                },
                l = (e, t) => {
                    const n = a(),
                        o = n.length,
                        i = r();
                    let s = (e - ((o - 1) * i + 2 * i)) / o;
                    const c = s * t;
                    return i * t + c + t
                },
                u = n => {
                    const i = a(),
                        r = i.length;
                    n > r ? n = 0 : n < 0 && (n = r - 1);
                    const s = r - n,
                        d = e.clientWidth;
                    let u = l(d, n);
                    s <= o && (u = l(d, r - o)), c(u);
                    const g = i[n];
                    if (n == t) p(g, n);
                    else {
                        let t = !1;
                        e.addEventListener("transitionend", () => {
                            t || (p(g, n), t = !0)
                        })
                    }
                },
                p = (e, n) => {
                    const o = a();
                    o.forEach(e => {
                        e.classList.contains(i) && e.classList.remove(i)
                    }), e.classList.add(i), t = n
                };
            return {
                init: d,
                moveTo: u
            }
        };
        let i = null;
        const a = {
            inserted: (e, t, n) => {
                const a = n.context.$refs["contentTuningComponents"];
                i = o(a, t.value), i.init()
            },
            componentUpdated: (e, t, n) => {
                null !== i && i.moveTo(t.value)
            },
            unbind: () => {
                i = null
            }
        }
    },
    "7bf5": function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "prepareCategoryComponentData", (function() {
            return o
        })), n.d(t, "getNotificationUniqueId", (function() {
            return i
        }));
        const o = e => {
                const t = parseInt(e.id),
                    o = parseInt(e.categoryId),
                    i = e.header.trim(),
                    a = e.color.trim(),
                    r = e.name.trim().replace("\n", "<br>"),
                    s = e.text.trim();
                let c = "";
                try {
                    c = n("2bef")("./" + e.icon.trim())
                } catch (f) {
                    c = n("55d1")
                }
                const d = parseInt(e.price),
                    l = e.inCart,
                    u = e.statusText.trim(),
                    p = e.statusColor.trim(),
                    g = e.hidePriceButton,
                    m = parseFloat(e.scale);
                return {
                    id: t,
                    categoryId: o,
                    header: i,
                    color: a,
                    name: r,
                    text: s,
                    icon: c,
                    price: d,
                    inCart: l,
                    statusText: u,
                    statusColor: p,
                    hidePriceButton: g,
                    scale: m
                }
            },
            i = () => Date.now() + Math.random().toString(36).slice(2)
    },
    "7c1e": function(e, t, n) {
        e.exports = n.p + "img/components/6fc987c5ed0b4edebe59987744d531ee.png"
    },
    "7c51": function(e, t, n) {
        e.exports = n.p + "img/categories/d8cdb6992617057d998d39becf7605c4.png"
    },
    "7ccf": function(e, t, n) {},
    "7cd3": function(e, t, n) {
        e.exports = n.p + "img/components/5427ad8ba433e2416ea59611daccd4d6.png"
    },
    "7d1d": function(e, t, n) {
        "use strict";
        var o = n("48ef"),
            i = n("88a1");
        const a = e => {
            Object(o["d"])("showHud", (t, n) => e.$emit(i["a"].SHOW_HUD, t, n)), Object(o["d"])("hideHud", t => e.$emit(i["a"].HIDE_HUD, t)), Object(o["d"])("updateHud", (t, n) => e.$emit(i["a"].UPDATE_HUD, t, n))
        };
        t["a"] = a
    },
    "7f5f": function(e, t, n) {
        e.exports = n.p + "img/components/1a651ac73ed0e4274f7a6ce92a0fcd37.png"
    },
    "7ffb": function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAATCAYAAABlcqYFAAABZUlEQVQ4jbWUvytFYRzGPy6KkoHIJpOykITZaDBikX/CZLax+hELRiaD/AEWi0gyieVK3GSwST46t/fouo7zgzz19p7zPe95np7vj7dB5Z+wDbQCM03/JLACzIfnEpGTHCty3BPOdakldVrdVFfVyRqOJb+ikkdgVL1V39UL9Vm98TvW1OW66JnaniUwpL4lEObBldpcrXmKwLj6GsiitEwkEF+qRwnxE7Ut5kpzEGM/xBYTyE7Dt1n1QD1UF+r5shzshdjGD+k5ydM4SQ7eA8FOiK1n5L8jS6R2TsaAY6AhvEeDtAvMpczDBfCSNTTxxHcDZaC5wMDdA4NAJetgKeyjBQXuwj+ZAlWEvHWqTzn7v6x257wpqit20pvTSezgsYDrz8KXa1KXJjBcVIBA3AhshW5KEyjs4BPqdV3O47vqIeznRWuQVJOo12OsAf3AANAHjABDv3YQEM/JHtACTP2FLBHAB/AnImwEKtKSAAAAAElFTkSuQmCC"
    },
    "810b": function(e, t, n) {
        "use strict";
        t["a"] = {
            SHOW_MODAL: "show:modal",
            HIDE_MODAL: "hide:modal"
        }
    },
    "81f6": function(e, t, n) {
        "use strict";
        var o = n("2b0e"),
            i = n("48ef");
        const a = new o["default"];
        Object(i["d"])("eventBus", a), t["a"] = a
    },
    "83da": function(e, t, n) {
        "use strict";
        n.r(t);
        var o = n("317d"),
            i = n("2fa3"),
            a = n("7bf5"),
            r = n("d94b");
        const s = {
                categories: [],
                categoryComponents: [],
                properties: [],
                clientData: {
                    carName: "",
                    carNameScale: 1,
                    playerMoney: 0,
                    cartCount: 0,
                    cartColor: "",
                    parentCategorySelected: 0,
                    parentCategoryHovered: 0,
                    childCategorySelected: 0,
                    childCategoryHovered: 0,
                    categoryComponentSelected: 0,
                    categoryComponentSelectedIndex: 0,
                    tintedWindowSelected: 0
                },
                popupData: {
                    display: !1,
                    responseId: null,
                    color: "",
                    title: "",
                    text: "",
                    buttonPrimary: {
                        name: "",
                        backgroundColor: "",
                        color: ""
                    },
                    buttonSecondary: {
                        name: "",
                        backgroundColor: "",
                        color: ""
                    }
                },
                keyData: {
                    areas: [r["AREAS"].parentCategories, r["AREAS"].childCategories, r["AREAS"].categoryComponents],
                    areaIndexSelected: 0
                },
                notifications: [],
                tintedWindows: [{
                    id: r["TINTED_WINDOW_ID"].top,
                    name: "top",
                    coords: [
                        [1303, 346],
                        [1348, 335],
                        [1392, 346],
                        [1383, 375],
                        [1348, 370],
                        [1312, 375]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "border",
                    hover: !1,
                    relationships: []
                }, {
                    id: r["TINTED_WINDOW_ID"].topSide,
                    name: "top-left",
                    coords: [
                        [1298, 350],
                        [1308, 378],
                        [1310, 418],
                        [1298, 412]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "border",
                    hover: !1,
                    relationships: ["top-right"]
                }, {
                    id: r["TINTED_WINDOW_ID"].topSide,
                    name: "top-right",
                    coords: [
                        [1395, 350],
                        [1395, 414],
                        [1385, 414]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "border",
                    hover: !1,
                    relationships: ["top-left"]
                }, {
                    id: r["TINTED_WINDOW_ID"].bottomSide,
                    name: "bottom-left",
                    coords: [
                        [1298, 420],
                        [1309, 420],
                        [1309, 458],
                        [1298, 476]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "border",
                    hover: !1,
                    relationships: ["bottom-right"]
                }, {
                    id: r["TINTED_WINDOW_ID"].bottomSide,
                    name: "bottom-right",
                    coords: [
                        [1385, 420],
                        [1395, 420],
                        [1395, 475],
                        [1385, 460]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "border",
                    hover: !1,
                    relationships: ["bottom-left"]
                }, {
                    id: r["TINTED_WINDOW_ID"].bottom,
                    name: "bottom",
                    coords: [
                        [1313, 463],
                        [1348, 468],
                        [1380, 463],
                        [1391, 482],
                        [1348, 490],
                        [1304, 482]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "border",
                    hover: !1,
                    relationships: []
                }, {
                    id: r["TINTED_WINDOW_ID"].topLights,
                    name: "top-left-lights",
                    coords: [
                        [1300, 292],
                        [1309, 277],
                        [1324, 275],
                        [1321, 283]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "background",
                    hover: !1,
                    relationships: ["top-right-lights"]
                }, {
                    id: r["TINTED_WINDOW_ID"].topLights,
                    name: "top-right-lights",
                    coords: [
                        [1368, 274],
                        [1383, 276],
                        [1392, 290],
                        [1372, 282]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "background",
                    hover: !1,
                    relationships: ["top-left-lights"]
                }, {
                    id: r["TINTED_WINDOW_ID"].bottomLights,
                    name: "bottom-left-lights",
                    coords: [
                        [1305, 514],
                        [1328, 518],
                        [1328, 522],
                        [1305, 520]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "background",
                    hover: !1,
                    relationships: ["bottom-right-lights"]
                }, {
                    id: r["TINTED_WINDOW_ID"].bottomLights,
                    name: "bottom-right-lights",
                    coords: [
                        [1366, 518],
                        [1388, 515],
                        [1388, 520],
                        [1366, 522]
                    ],
                    color: "",
                    defaultColor: "",
                    fillProperty: "background",
                    hover: !1,
                    relationships: ["bottom-left-lights"]
                }],
                tintedWindowColors: [],
                sliders: [],
                colors: [255, 4126537215, 712483327, 2214859007, 641153535, 2252631807, 3616411903, 1282783231, 3183396607, 1584427775, 1180269311, 1701476863, 1568574975, 1482251007, 3604666111, 2627838975, 861880319, 1930304255, 2064263935, 2677904639, 994998527, 1932410623, 1763589119, 2526121215, 1364482559, 1061045759, 2779359231, 1666996991, 1028286719, 2543162111, 1109336575, 1596402687, 2224335871, 1987804415, 1684301055, 1515672319, 623192063, 758789631, 2476971775, 1836747007, 572070143, 1869045759, 2082220799, 1594496511, 423110399, 1562059007, 2644013823, 2054512895, 2559936255, 2914038015, 2223606015, 810501631, 1298295039, 371345663, 657411071, 2103596799, 2661592063, 2626515455, 1830298367, 1315471871, 2627508479, 2440251391, 1713121023, 2493358079, 2762450431, 2391557887, 874127103, 1786416383, 2863501055, 2878902271, 2233413375, 1870829567, 1482183679, 2594672895, 1612325887, 538979583, 2761987839, 2862449919, 2015505407, 238120447, 1915371519, 2071027455, 1948068095, 506344191, 1295134719, 2082161919, 777724159, 962233343, 1831352319, 2812448767, 2947658239, 910251519, 1835822847, 258640383, 541813759, 725506047, 2610929151, 1820628479, 1300534783, 2929426431, 1080856575, 522533887, 2878502655, 323318783, 2525064447, 1684564735, 273711871, 2711192575, 945198335, 1381392895, 2137609983, 2358418175, 1500415999, 1194668799, 1147293695, 1930045439, 573855743, 1678580735, 2746074879, 1767396351, 2609611007, 1644895487, 1532845823, 1648634111, 1930962943, 456617471, 3966414591, 255, 393549823, 554043135, 307525887, 1160383999, 1461591807, 17236479, 623008511, 747219711, 2320350719, 899037951, 3082270719, 1179422207, 2223541503, 2172151807, 2172266239, 1783656447, 1480486911, 2360963839, 2186246399, 1831299839, 505222143, 504563455, 522524927, 742732287, 508336639, 777995263, 513362175, 513382911, 2576971519, 2089064959, 2569936639, 740165887, 337905663, 2570997247, 508336639, 427917823, 438905599, 375484415, 459704319, 1816107519, 1209667327, 2054396415, 1953339903, 1396211455, 572786687, 1041829119, 1176571647, 2568888063, 2370604543, 2153480447, 2067693311, 1008154623, 1932859391, 2014845183, 2201230079, 2385452287, 2118013951, 2087550207, 34341631, 119801855, 372249343, 372251647, 1680560127, 914641663, 2576716031, 2173540095, 2576948991, 2140753151, 2207421183, 2021794559, 725391871, 976882687, 2323205887, 236931583, 355933439, 354892543, 928478719, 101196031, 118695679, 540625919, 743475711, 356674815, 271732991, 605447167, 1763710463, 2358088959, 1365251071, 151978751, 2354526975, 1384681215, 2572964607, 2572689151, 2570740735, 2576305919, 2570133247, 219693823, 1377705727, 1111625215, 1285103359, 136977919, 2525109759, 427760127, 991174655, 1951537151, 2302643711, 2115661055, 188156927, 658836991, 119481599, 2017817599, 2321890047, 1931876351, 831820031, 1452547583, 1494629887, 462041087, 940968959, 68683007, 895323903, 775904255, 1444555007, 1309550591, 1886152703, 993936127, 774714367, 2071887359, 1245987583, 674516735],
                colorsSelected: [{
                    active: !0,
                    index: 1,
                    defaultIndex: 1
                }, {
                    active: !1,
                    index: 1,
                    defaultIndex: 1
                }]
            },
            c = {
                ADD_CATEGORY: (e, t) => {
                    e.categories.push(t)
                },
                UPDATE_CATEGORY: (e, {
                    index: t,
                    key: n,
                    value: o
                }) => {
                    e.categories[t][n] = o
                },
                SET_CLIENT_DATA: (e, t) => {
                    const {
                        key: n,
                        value: o
                    } = t;
                    e.clientData[n] = o
                },
                SET_PROPERTIES: (e, t) => {
                    e.properties = t
                },
                ADD_CATEGORY_COMPONENT: (e, t) => {
                    e.categoryComponents.push(t)
                },
                REMOVE_CATEGORY_COMPONENT: (e, t) => {
                    e.categoryComponents.splice(t, 1)
                },
                SET_CATEGORY_COMPONENTS: (e, t) => {
                    e.categoryComponents = t
                },
                SET_POPUP_DATA: (e, t) => {
                    e.popupData = t
                },
                SET_KEY_DATA: (e, t) => {
                    const {
                        key: n,
                        value: o
                    } = t;
                    e.keyData[n] = o
                },
                ADD_NOTIFICATION: (e, {
                    id: t,
                    color: n,
                    icon: o,
                    text: i,
                    time: a
                }) => {
                    e.notifications = [{
                        id: t,
                        color: n,
                        icon: o,
                        text: i,
                        time: a
                    }, ...e.notifications]
                },
                REMOVE_NOTIFICATION: (e, t) => {
                    e.notifications.splice(t, 1)
                },
                SET_TINTED_WINDOW: (e, {
                    index: t,
                    key: n,
                    value: o
                }) => {
                    e.tintedWindows[t][n] = o
                },
                ADD_TINTED_WINDOW_COLOR: (e, t) => {
                    e.tintedWindowColors.push(t)
                },
                SET_SLIDERS: (e, t) => {
                    e.sliders = t, e.sliders = e.sliders.slice()
                },
                SET_COLORS_COUNT: (e, t) => {
                    e.colorCountToShow = t
                },
                SET_COLORS_SELECTED: (e, t) => {
                    e.colorsSelected = t
                },
                UPDATE_COLORS_SELECTED: (e, {
                    index: t,
                    key: n,
                    value: o
                }) => {
                    e.colorsSelected[t][n] = o
                }
            },
            d = {
                resetCategoryLastComponentIds: ({
                    commit: e,
                    state: t
                }) => {
                    const {
                        categories: n
                    } = t;
                    for (let o = 0; o < n.length; o++) e("UPDATE_CATEGORY", {
                        index: o,
                        key: "lastComponentId",
                        value: 0
                    })
                },
                resetCategoryComponents: ({
                    commit: e
                }) => {
                    e("SET_CATEGORY_COMPONENTS", [])
                },
                resetClientData: ({
                    commit: e,
                    dispatch: t
                }) => {
                    const n = [{
                        key: "carName",
                        value: ""
                    }, {
                        key: "carNameScale",
                        value: 1
                    }, {
                        key: "playerMoney",
                        value: 0
                    }, {
                        key: "cartCount",
                        value: 0
                    }, {
                        key: "cartColor",
                        value: ""
                    }, {
                        key: "parentCategorySelected",
                        value: 0
                    }, {
                        key: "parentCategoryHovered",
                        value: 0
                    }, {
                        key: "childCategorySelected",
                        value: 0
                    }, {
                        key: "childCategoryHovered",
                        value: 0
                    }, {
                        key: "categoryComponentSelected",
                        value: 0
                    }, {
                        key: "categoryComponentSelectedIndex",
                        value: 0
                    }, {
                        key: "tintedWindowSelected",
                        value: 0
                    }];
                    n.forEach(e => t("setClientData", {
                        key: e.key,
                        value: e.value
                    })), e("SET_KEY_DATA", {
                        key: "areaIndexSelected",
                        value: 0
                    })
                },
                setClientData: ({
                    commit: e
                }, {
                    key: t,
                    value: n
                }) => {
                    e("SET_CLIENT_DATA", {
                        key: t,
                        value: n
                    })
                },
                setDashboardProperties: ({
                    commit: e
                }, t) => {
                    t = JSON.parse(t);
                    const n = [];
                    for (const o in t) {
                        const e = t[o];
                        let i = parseFloat(e.value),
                            a = parseFloat(e.valueOffset),
                            r = parseFloat(e.valueMax),
                            s = 0,
                            c = 0;
                        i = Number.isNaN(i) ? 0 : i, a = Number.isNaN(a) ? 0 : a, r = Number.isNaN(r) ? 0 : r, s = i / r * 100, c = (i + a) / r * 100 - s, n.push({
                            name: o,
                            value: i,
                            valueOffset: a,
                            valueMax: r,
                            valuePercent: s,
                            valueOffsetPercent: c
                        })
                    }
                    e("SET_PROPERTIES", n)
                },
                hasCategoriesLoaded: async ({
                    state: e
                }) => new Promise(t => {
                    const n = setInterval(() => {
                        e.categories.length > 0 && (t(), clearInterval(n))
                    }, 100)
                }),
                loadCategories: ({
                    commit: e
                }, t) => {
                    t = JSON.parse(t), t.forEach(t => {
                        const o = parseInt(t.id),
                            i = t.name.trim();
                        let a = "componentList";
                        "type" in t && (a = t.type.trim());
                        let r = "";
                        try {
                            r = n("0e23")("./" + t.icon.trim())
                        } catch (c) {
                            r = n("013b")
                        }
                        let s = parseInt(t.parentId);
                        Number.isNaN(s) && (s = 0), e("ADD_CATEGORY", {
                            id: o,
                            parentId: s,
                            name: i,
                            icon: r,
                            type: a,
                            lastComponentId: 0
                        })
                    })
                },
                updateCategory: ({
                    commit: e
                }, {
                    index: t,
                    key: n,
                    value: o
                }) => {
                    e("UPDATE_CATEGORY", {
                        index: t,
                        key: n,
                        value: o
                    })
                },
                loadCategoryComponents: ({
                    commit: e
                }, t) => {
                    t = JSON.parse(t), t.forEach(t => {
                        e("ADD_CATEGORY_COMPONENT", Object(a["prepareCategoryComponentData"])(t))
                    })
                },
                updateCategoryComponent: ({
                    commit: e,
                    getters: t
                }, n) => {
                    n = JSON.parse(n), n = Object(a["prepareCategoryComponentData"])(n);
                    const o = parseInt(n.id),
                        i = t.getCategoryComponentById(o);
                    if (null === i) return void console.error(`Category component with ID (${id}) not found during update`);
                    const r = t.getCategoryComponentIndexById(o);
                    e("REMOVE_CATEGORY_COMPONENT", r), e("ADD_CATEGORY_COMPONENT", {
                        ...i,
                        ...n
                    })
                },
                setClientVisualData: ({
                    commit: e
                }, t) => {
                    let n;
                    t = JSON.parse(t);
                    for (const o in t) n = t[o], "playerMoney" === o || "cartCount" === o ? n = parseInt(t[o]) : "cartColor" === o ? n = t[o].trim() : "carNameScale" === o && (n = parseFloat(t[o])), e("SET_CLIENT_DATA", {
                        key: o,
                        value: n
                    })
                },
                addCartItem: ({
                    state: e,
                    getters: t
                }) => {
                    const {
                        categoryComponentSelected: n
                    } = e.clientData, i = t.getCategoryComponentById(n);
                    null !== i ? o["toServer"].addCartItem(i.id) : console.error(`Undefined category component (ID: ${n}) while adding to cart`)
                },
                removeCartItem: ({
                    state: e,
                    getters: t
                }) => {
                    const {
                        categoryComponentSelected: n
                    } = e.clientData, i = t.getCategoryComponentById(n);
                    null !== i ? o["toServer"].removeCartItem(i.id) : console.error(`Undefined category component (ID: ${n}) while removing from cart`)
                },
                updateCategoryOnServer: ({}, e) => {
                    o["toServer"].updateCategory(e)
                },
                purchase: () => {
                    o["toServer"].purchase()
                },
                showPopup: ({
                    commit: e
                }, t) => {
                    t = JSON.parse(t);
                    const n = parseInt(t.responseId),
                        o = t.color.trim(),
                        i = t.title.trim(),
                        a = t.text.trim().replace("\n", "<br>"),
                        r = t.buttonPrimary,
                        s = t.buttonSecondary;
                    e("SET_POPUP_DATA", {
                        display: !0,
                        responseId: n,
                        color: o,
                        title: i,
                        text: a,
                        buttonPrimary: r,
                        buttonSecondary: s
                    })
                },
                hidePopup: ({
                    commit: e
                }) => {
                    e("SET_POPUP_DATA", {
                        display: !1,
                        responseId: null,
                        color: "",
                        title: "",
                        text: "",
                        buttonPrimary: {
                            name: "",
                            backgroundColor: "",
                            color: ""
                        },
                        buttonSecondary: {
                            name: "",
                            backgroundColor: "",
                            color: ""
                        }
                    })
                },
                showNotification: ({
                    commit: e
                }, t) => {
                    const o = Object(a["getNotificationUniqueId"])();
                    let {
                        color: i,
                        icon: r,
                        text: s
                    } = JSON.parse(t);
                    i = i.trim();
                    try {
                        r = n("cb1f")("./" + r.trim())
                    } catch (c) {
                        r = n("219c")
                    }
                    s = s.trim(), e("ADD_NOTIFICATION", {
                        id: o,
                        color: i,
                        icon: r,
                        text: s,
                        time: Date.now()
                    })
                },
                removeNotification: ({
                    commit: e,
                    state: t
                }, n) => {
                    const {
                        notifications: o
                    } = t, i = o.findIndex(e => e.id == n); - 1 !== i && e("REMOVE_NOTIFICATION", i)
                },
                responsePopup: ({}, {
                    responseId: e,
                    response: t
                }) => {
                    o["toServer"].responsePopup(e, t)
                },
                setKeyData: ({
                    commit: e
                }, {
                    key: t,
                    value: n
                }) => {
                    e("SET_KEY_DATA", {
                        key: t,
                        value: n
                    })
                },
                exit: () => o["toServer"].exit(),
                selectParentCategory: ({
                    dispatch: e,
                    getters: t
                }, n = 0) => {
                    n = parseInt(n), e("setClientData", {
                        key: "parentCategorySelected",
                        value: n
                    }), 0 != n && e("updateCategoryOnServer", n);
                    const o = t.getCategoryById(n);
                    t.getCategoriesByParentId(n);
                    if (null !== o && o.lastComponentId) {
                        const {
                            lastComponentId: n
                        } = o;
                        e("selectCategoryComponentIndex", t.getCategoryComponentSliderIndexById(n)), e("selectCategoryComponent", {
                            value: o.lastComponentId
                        })
                    } else e("selectCategoryComponentIndex", 0), e("selectCategoryComponent", {
                        value: 0
                    });
                    e("selectChildCategory", 0), e("setClientData", {
                        key: "tintedWindowSelected",
                        value: 0
                    })
                },
                hoverParentCategory: ({
                    dispatch: e
                }, t = 0) => {
                    t = parseInt(t), e("setClientData", {
                        key: "parentCategoryHovered",
                        value: t
                    })
                },
                selectChildCategory: ({
                    dispatch: e,
                    getters: t
                }, n = 0) => {
                    n = parseInt(n), e("setClientData", {
                        key: "childCategorySelected",
                        value: n
                    }), 0 != n && e("updateCategoryOnServer", n);
                    const o = t.getCategoryById(n);
                    if (null !== o && o.lastComponentId > 0) {
                        const {
                            lastComponentId: n
                        } = o;
                        e("selectCategoryComponentIndex", t.getCategoryComponentSliderIndexById(n)), e("selectCategoryComponent", {
                            value: n
                        })
                    } else e("selectCategoryComponentIndex", 0), e("selectCategoryComponent", {
                        value: 0
                    });
                    e("setClientData", {
                        key: "tintedWindowSelected",
                        value: 0
                    })
                },
                hoverChildCategory: ({
                    dispatch: e
                }, t = 0) => {
                    t = parseInt(t), e("setClientData", {
                        key: "childCategoryHovered",
                        value: t
                    })
                },
                selectCategoryComponent: ({
                    state: e,
                    dispatch: t,
                    getters: n
                }, {
                    value: i = 0,
                    updateDashboard: a = !1
                }) => {
                    const {
                        categoryComponentSelected: r
                    } = e.clientData, s = n.getCategoryComponents;
                    0 === i && (i = 0 == s.length ? 0 : s[0].id), t("setClientData", {
                        key: "categoryComponentSelected",
                        value: i
                    });
                    const c = n.getCategoryComponentCurrent();
                    if (null !== c) {
                        const e = n.getCategoryIndexById(c);
                        t("updateCategory", {
                            index: e,
                            key: "lastComponentId",
                            value: r
                        }), i > 0 && a && i != r && o["toServer"].updateDashboard(i)
                    }
                },
                selectCategoryComponentIndex: ({
                    dispatch: e
                }, t) => {
                    e("setClientData", {
                        key: "categoryComponentSelectedIndex",
                        value: t
                    })
                },
                upperAreaSelect: ({
                    state: e,
                    dispatch: t,
                    getters: n
                }) => {
                    const {
                        parentCategorySelected: o
                    } = e.clientData;
                    let {
                        areaIndexSelected: i,
                        areas: a
                    } = e.keyData;
                    if (0 === i && t("exit"), i--, i < 0 ? i = 0 : i >= a.length && (i = a.length - 1), i === r["AREAS"].parentCategories) t("selectParentCategory"), t("hoverChildCategory");
                    else if (i === r["AREAS"].childCategories) {
                        t("selectParentCategory", o);
                        const e = n.getCategoriesByParentId(o);
                        0 === e.length && (t("selectParentCategory"), i--)
                    }
                    t("setKeyData", {
                        key: "areaIndexSelected",
                        value: i
                    })
                },
                setTintedWindow: ({
                    state: e,
                    commit: t,
                    dispatch: n
                }, {
                    name: o,
                    key: i,
                    value: a,
                    recursiveCall: r = !1
                }) => {
                    const {
                        tintedWindows: s
                    } = e, c = s.findIndex(e => e.name == o);
                    if (-1 !== c) {
                        if (!r) {
                            const {
                                relationships: e
                            } = s[c];
                            e.length > 0 && e.forEach(e => {
                                n("setTintedWindow", {
                                    name: e,
                                    key: i,
                                    value: a,
                                    recursiveCall: !0
                                })
                            })
                        }
                        t("SET_TINTED_WINDOW", {
                            index: c,
                            key: i,
                            value: a
                        })
                    }
                },
                resetTintedWindow: ({
                    state: e,
                    commit: t,
                    dispatch: n
                }, o) => {
                    const {
                        tintedWindows: i
                    } = e;
                    if (0 === o) i.forEach((e, n) => {
                        t("SET_TINTED_WINDOW", {
                            index: n,
                            key: "color",
                            value: i[n].defaultColor
                        })
                    });
                    else {
                        const e = i.filter(e => e.id == o);
                        n("setTintedWindow", {
                            name: e[0].name,
                            key: "color",
                            value: e[0].defaultColor
                        })
                    }
                },
                loadTintedWindows: ({
                    state: e,
                    commit: t
                }, n) => {
                    const {
                        tintedWindows: o
                    } = e, a = JSON.parse(n);
                    a.forEach(e => {
                        o.forEach((n, o) => {
                            if (n.id == e.id) {
                                const n = Object(i["e"])(e.color);
                                t("SET_TINTED_WINDOW", {
                                    index: o,
                                    key: "color",
                                    value: n
                                }), t("SET_TINTED_WINDOW", {
                                    index: o,
                                    key: "defaultColor",
                                    value: n
                                })
                            }
                        })
                    })
                },
                loadTintedWindowColors: ({
                    commit: e
                }, t) => {
                    const n = JSON.parse(t);
                    n.forEach(t => {
                        e("ADD_TINTED_WINDOW_COLOR", Object(i["e"])(t))
                    })
                },
                resetDashboardSlidersValue: ({
                    commit: e,
                    state: t
                }) => {
                    const n = t.sliders,
                        i = [];
                    n.forEach(e => {
                        i.push({
                            ...e,
                            time: Date.now()
                        })
                    }), e("SET_SLIDERS", i), o["toServer"].resetDashboardSliders()
                },
                setDashboardSliders: ({
                    commit: e
                }, t) => {
                    const n = JSON.parse(t),
                        o = [];
                    n.forEach(e => {
                        const {
                            id: t,
                            title: n,
                            min: i,
                            max: a,
                            step: r,
                            value: s
                        } = e;
                        o.push({
                            id: parseInt(t),
                            title: n.trim(),
                            min: Number(parseFloat(i).toFixed(2)),
                            max: Number(parseFloat(a).toFixed(2)),
                            step: Number(parseFloat(r).toFixed(2)),
                            value: parseFloat(s),
                            time: Date.now()
                        })
                    }), e("SET_SLIDERS", o)
                },
                setColorsSelected: ({
                    dispatch: e,
                    commit: t
                }, n) => {
                    const o = JSON.parse(n),
                        i = o.slice(0, -1),
                        a = o.slice(-1);
                    t("SET_COLORS_COUNT", a), e("resetColorsSelected"), i.forEach((t, n) => {
                        e("updateColorSelected", {
                            index: n,
                            key: "index",
                            value: t
                        }), e("updateColorSelected", {
                            index: n,
                            key: "defaultIndex",
                            value: t
                        })
                    })
                },
                updateColorSelected: ({
                    commit: e
                }, {
                    index: t,
                    key: n,
                    value: o
                }) => {
                    e("UPDATE_COLORS_SELECTED", {
                        index: t,
                        key: n,
                        value: o
                    })
                },
                resetColorsSelected: ({
                    commit: e,
                    state: t
                }) => {
                    const {
                        colorsSelected: n
                    } = t;
                    e("SET_COLORS_SELECTED", [{
                        active: !0,
                        index: n[0].defaultIndex,
                        defaultIndex: n[0].defaultIndex
                    }, {
                        active: !1,
                        index: n[1].defaultIndex,
                        defaultIndex: n[1].defaultIndex
                    }])
                }
            },
            l = {
                getCategoryById: e => t => {
                    const n = e.categories.filter(e => e.id == t);
                    return 0 === n.length ? null : n[0]
                },
                getCategoryIndexById: e => t => {
                    const {
                        categories: n
                    } = e;
                    return n.findIndex(e => e.id == t)
                },
                getCategoriesByParentId: e => t => e.categories.filter(e => e.parentId == t),
                getRootCategories: (e, t) => t.getCategoriesByParentId(0),
                getCategoriesWithChilds: (e, t) => {
                    const n = t.getRootCategories,
                        o = [];
                    return n.forEach(t => {
                        const n = e.categories.find(e => e.parentId == t.id);
                        void 0 !== n && o.push(t)
                    }), o
                },
                getParentCategoryHovered: e => {
                    const t = e.clientData.parentCategoryHovered;
                    return 0 !== t && e.categories.filter(e => e.id == t)[0]
                },
                getParentCategorySelected: e => {
                    const t = e.clientData.parentCategorySelected;
                    return 0 !== t && e.categories.filter(e => e.id == t)[0]
                },
                getCategoryNextId: (e, t) => (e, n) => {
                    const o = t.getCategoriesByParentId(e);
                    for (let i = 0; i < o.length; i++) {
                        const e = o[i];
                        if (t.isCategoryComponentsExist(e.id) && e.id > n) {
                            n = e.id;
                            break
                        }
                    }
                    return n
                },
                getCategoryPrevId: (e, t) => (e, n) => {
                    const o = t.getCategoriesByParentId(e);
                    for (let i = o.length - 1; i >= 0; i--) {
                        const e = o[i];
                        if (t.isCategoryComponentsExist(e.id) && e.id < n) {
                            n = e.id;
                            break
                        }
                    }
                    return n
                },
                isCategorySelectedType: (e, t) => n => {
                    const {
                        parentCategorySelected: o,
                        childCategorySelected: i
                    } = e.clientData;
                    let a = null;
                    if (0 != i && (a = i), null === a && 0 != o && (a = o), null === a) return !1;
                    let r = t.getCategoryById(a);
                    return null !== r && r.type == n
                },
                getCategoryComponents: e => {
                    const {
                        parentCategorySelected: t,
                        childCategorySelected: n
                    } = e.clientData, o = e.categoryComponents.filter(e => e.categoryId == t && 0 != t || e.categoryId == n && 0 != n);
                    return o.sort((e, t) => e.id > t.id ? 1 : -1)
                },
                getCategoryComponentCurrent: e => () => {
                    const {
                        parentCategorySelected: t,
                        childCategorySelected: n
                    } = e.clientData;
                    return 0 != n ? n : 0 != t ? t : null
                },
                isCategoryComponentsExist: ({
                    categoryComponents: e
                }, {
                    getCategoryById: t,
                    getCategoriesByParentId: n
                }) => o => {
                    let i = e.filter(e => e.categoryId == o);
                    const a = t(o);
                    if (i.length > 0 || a.type == r["CATEGORY_TYPE"].tintedWindow || a.type == r["CATEGORY_TYPE"].sliderList) return !0;
                    if (0 == a.parentId) {
                        const t = n(o);
                        return t.some(t => (i = e.filter(e => e.categoryId == t.id), i.length > 0 || t.type == r["CATEGORY_TYPE"].tintedWindow || t.type == t.sliderList))
                    }
                    return !1
                },
                getCategoryComponentById: e => t => {
                    const n = e.categoryComponents.filter(e => e.id == t);
                    return 0 === n.length ? null : n[0]
                },
                getCategoryComponentIndexById: e => t => {
                    const {
                        categoryComponents: n
                    } = e;
                    return n.findIndex(e => e.id == t)
                },
                getCategoryComponentSliderIndexById: (e, t) => e => {
                    const n = t.getCategoryComponents;
                    return n.findIndex(t => t.id == e)
                },
                getTintedWindowById: e => t => {
                    const {
                        tintedWindows: n
                    } = e, o = n.filter(e => e.id == t);
                    return 0 === o.length ? null : o[0]
                },
                getColorSelectedIndex: e => () => {
                    const {
                        colorsSelected: t
                    } = e;
                    return t.findIndex(e => e.active)
                },
                getColorSelectedValue: e => () => {
                    const {
                        colorsSelected: t
                    } = e, n = t.filter(e => e.active);
                    return 0 === n.length ? null : n[0].index
                }
            };
        t["default"] = {
            state: s,
            mutations: c,
            actions: d,
            getters: l
        }
    },
    "84d8": function(e, t, n) {
        e.exports = n.p + "img/components/2858dd59f2c2b6cc3ff80c9ec3e42186.png"
    },
    "858b": function(e, t, n) {
        e.exports = n.p + "img/components/8f8aade4dad1b3c45104466e20886ef7.png"
    },
    "88a1": function(e, t, n) {
        "use strict";
        t["a"] = {
            SHOW_HUD: "show:hud",
            HIDE_HUD: "hide:hud",
            UPDATE_HUD: "update:hud"
        }
    },
    "8a03": function(e, t, n) {
        e.exports = n.p + "img/categories/c670eee39772fc745bf6e36c73b0dcfb.png"
    },
    "8a50": function(e, t, n) {
        e.exports = n.p + "img/leftMouse.0be56f7e.svg"
    },
    "8b0d": function(e, t, n) {
        e.exports = n.p + "img/components/53c30dc563871941781822156fc730aa.png"
    },
    "8f6d": function(e, t, n) {},
    "8f96": function(e, t, n) {
        e.exports = n.p + "img/components/76e06ea95cb7e5c51f3c11fe3d209a67.png"
    },
    9014: function(e, t, n) {
        e.exports = n.p + "img/arrowDown.839602ae.svg"
    },
    "905f": function(e, t, n) {},
    "96a3": function(e, t, n) {
        e.exports = n.p + "img/categories/490fa0497b5f0f2bfd8de73491f031cc.png"
    },
    9700: function(e, t, n) {
        e.exports = n.p + "img/components/233ef878de104a8cbb4e240001aa8785.png"
    },
    "98bf": function(e, t, n) {
        e.exports = n.p + "img/components/63b44a78f90600afc2e6b1af2886fbf5.png"
    },
    "9b60": function(e, t, n) {
        e.exports = n.p + "img/categories/9223acae4fe2c4c5bf978efa2bcbe7c4.png"
    },
    "9c77": function(e, t, n) {
        e.exports = n.p + "img/arrowLeft.69efd27d.svg"
    },
    "9d83": function(e, t, n) {
        e.exports = n.p + "img/components/c5e5b020e30f5863e06123087abd90a4.png"
    },
    "9f12": function(e, t, n) {
        e.exports = n.p + "img/components/184717632897a2e5f433bc6c205feb5f.png"
    },
    "9f1b": function(e, t, n) {
        "use strict";
        n("bf23")
    },
    "9ffd": function(e, t, n) {
        "use strict";
        n("3ffd")
    },
    a083: function(e, t, n) {
        e.exports = n.p + "img/components/8f71c4cf1c2bbba1adec2e73bc77dd9b.png"
    },
    a164: function(e, t, n) {
        e.exports = n.p + "img/components/159968dc706a92864083a6ad11f56239.png"
    },
    a1ee: function(e, t, n) {
        e.exports = n.p + "img/components/c2adb96d2aca98ce147803b49bbee00b.png"
    },
    a2e2: function(e, t, n) {
        e.exports = n.p + "img/components/5469d53da9e7640daf7071cb39e0536f.png"
    },
    a412: function(e, t, n) {
        e.exports = n.p + "img/components/c12b4ce9c7e77d1ac1b5e45505bcf3c2.png"
    },
    a456: function(e, t, n) {
        "use strict";
        n("53334")
    },
    a4c9: function(e, t, n) {
        e.exports = n.p + "img/components/4c7d18fc4f26b73bfda754d68cf34a74.png"
    },
    a4d4: function(e, t, n) {
        e.exports = n.p + "img/components/faf56b7313721e102f351ed581e85047.png"
    },
    a58a: function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAZCAYAAADe1WXtAAABy0lEQVRIibWVP0ucQRDGf3pGiNFgQsDCJI1GG0VSpwsSsbfzI9jFpM9XSO9nsBMsQyCGYCEooo0SVDAJiN6diue/J4zsyTo3590R8sDC7jP7zDs7s+8skt5IWpVUklSU9EXSc0k0OV5J+pH0Nr4Z+Vu1WGzB6ZJXtwPPqMVQwD0GugN+wK3L5vQ02Hjg1jPAThrTznboxW2WB6DH8cZ9TfMHwISzLwBK87dAVx5pPaf/gpvjR1i1U6RRAOazPXOZzcZWjV5SJaj+RlDlP5K2A37XaUvtKWce1wF3BhwHvNz6kTn96Mgr4EMgLtQJ4L0PyAplkzHgZSLXgJ+BeBcoAiOBbTi729tVp81gP1214UZ761Xf4zPQBwwCnxrubuLffh3cjnsbTkfyfV9OXwSx9AN72fpOTs3zrIviUtJk9uV3QaSjmX3K2S6MvA5E65mo17XHTUmdmX3Haa+sUBcNCniU2ptdp1/AKHCe2duc9sRyWgE6neHcrY+T88MgiIqP6L90qY46hryfVrGf0tLneN9Pb+5pOSjUcgtv1EbUpR4GkT5t4bhPPGFOraoe9hY1i/wnMPRY+OPpCNV3/7ukgRaOPyJp5fbdl5b/AqVFkBYhX4+vAAAAAElFTkSuQmCC"
    },
    a759: function(e, t, n) {
        e.exports = n.p + "img/components/43e98d69b1ead78fd6b8c388cbc40f61.png"
    },
    a7ba: function(e, t, n) {
        e.exports = n.p + "img/components/e7b5590ead875a0badc0ef1f5c507e41.png"
    },
    a96c: function(e, t, n) {
        "use strict";
        var o = n("2fa3");
        const i = e => {
            const t = () => {
                    e.$forceUpdate()
                },
                i = e => {
                    console.log("[DEBUG<vue.log>] " + e)
                },
                a = () => {
                    console.log("[DEBUG<vue.printStore>] " + JSON.stringify(e.$store.state))
                },
                r = (t, n = []) => {
                    console.log("[DEBUG<vue.set>] Name: " + t + " | Query: " + JSON.stringify(n)), Object(o["h"])(e, t, n)
                },
                s = () => Object(o["d"])(e),
                c = (t, n) => {
                    console.log(`[DEBUG<vue.call>] Action: ${t} | Args: ${n}`), e.$store.dispatch(t, n), e.$forceUpdate()
                },
                d = (e, ...t) => {
                    let o = {};
                    const i = n("3148");
                    return i.keys().forEach(n => {
                        const a = i(n);
                        if ("fromServer" in a) {
                            const a = i(n).fromServer,
                                [r, s] = e.split("/"),
                                c = new RegExp(`./${r}.js`);
                            null !== n.match(c) && "function" === typeof a[s] && (o = a[s](t))
                        }
                    }), 0 === Object.keys(o).length && (o = t[0]), c(e, o)
                },
                l = (t, n) => {
                    console.log(`[DEBUG<vue.showModal>] Modal: ${t} | Properties: ${JSON.stringify(n)}`), e.$showModal(t, n)
                },
                u = () => {
                    console.log("[DEBUG<vue.hideModal>] Hide modal"), e.$hideModal()
                },
                p = (t, n) => {
                    console.log(`[DEBUG<vue.showHud>] Element: ${t} | Data: ${JSON.stringify(n)}`), e.$showHud(t, n)
                },
                g = t => {
                    console.log("[DEBUG<vue.hideHud>] Hide HUD"), e.$hideHud(t)
                },
                m = (t, n) => {
                    console.log(`[DEBUG<vue.updateHud>] Element: ${t} | Data: ${JSON.stringify(n)}`), e.$updateHud(t, n)
                };
            return {
                get: s,
                set: r,
                call: c,
                c: d,
                printStore: a,
                log: i,
                update: t,
                showModal: l,
                hideModal: u,
                showHud: p,
                hideHud: g,
                updateHud: m
            }
        };
        t["a"] = i
    },
    a984: function(e, t, n) {
        e.exports = n.p + "img/components/6a7ee0ef9914216e0e95cd34d6636f39.png"
    },
    a986: function(e, t, n) {},
    aaec: function(e, t, n) {
        e.exports = n.p + "img/components/4acba856fd99728cfa1c8d755b178925.png"
    },
    ac18: function(e, t, n) {},
    afe3: function(e, t, n) {
        e.exports = n.p + "img/categories/e5c4e860939e92330bf7ce19822d2618.png"
    },
    b000: function(e, t, n) {
        e.exports = n.p + "img/components/2834a90ad1e8587a4afb74830f90e63e.png"
    },
    b128: function(e, t, n) {
        e.exports = n.p + "img/components/01e3a5ea808109179ce7799b8b7ff8b2.png"
    },
    b26e: function(e, t, n) {
        e.exports = n.p + "img/components/69d7877b44b077b8d87accb56b1850be.png"
    },
    b4c7: function(e, t, n) {
        var o = {
            "./arrowDown.svg": "9014",
            "./arrowLeft.svg": "9c77",
            "./arrowRight.svg": "6602",
            "./arrowUp.svg": "d350",
            "./leftMouse.svg": "8a50",
            "./rightMouse.svg": "caeb"
        };

        function i(e) {
            var t = a(e);
            return n(t)
        }

        function a(e) {
            if (!n.o(o, e)) {
                var t = new Error("Cannot find module '" + e + "'");
                throw t.code = "MODULE_NOT_FOUND", t
            }
            return o[e]
        }
        i.keys = function() {
            return Object.keys(o)
        }, i.resolve = a, e.exports = i, i.id = "b4c7"
    },
    b601: function(e, t, n) {
        e.exports = n.p + "img/components/a0f0988755c291a44a7816ad849704e2.png"
    },
    b63d: function(e, t, n) {
        e.exports = n.p + "img/components/a851fd164572d74f4a9811d8683cedfb.png"
    },
    b67e: function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAACLElEQVRIia2Wy4tOcRjHP6+oMSGNmWnIbShR/oBRclkgyk6xtCAsXBqzmBI2Yyl709iJkg1yLb3EKxsWFopyV+aC1VCUZ3r4ntMzp/N6z/t2vvXrnL6/33m+57meg5nVW8fNbNTM+sP+UTP7or2EOyBuoJ6t/4nU7B+eBK4q7lngbour1bM1k+mYBewDuoCF2vHrSd0v1rUzcCvCuVPAN+AC8CO1HBTnmdlLKwdvzawzz5O9wGrd/3R9mkcFmA0sBw4CQ24hirQHgbXAdz1UFP5SbcALYIHE/qLilQJsA1YqvpPAnBa8SDAKdAPvgdfALRfJhsUTtkQJXAdsahA69/Yx8FCefFRhpPBwuSfb5UlvxsAuoL/A249IJOID8Ap4FKvrsOpq0sw6xA0WrLUhnW8zs3FxJxLbM4LynyIBbwKpPQ/XMWALsKpkkf3AeuCui5wr2XiCXq0dLjIA7BSxtESRT8AboOo5OasyLduj88BG4HRM/K+SRVJ7Hq4jwGZgTc7B7oIGe3I4T3wfcL9Rx2/QyGnU8VXgXr2OdxFP/NbM7Jrb4hR2jOl7lMyuWuz4pLu94xepe5td881sQnbO5H1PkkS1a1y3MgE8dB26/52ywROfV+9K+jL6j0VPYruSybvn4pASt0cF4Im8pP3dwDLgM3BRnE9qz6Wfu6yCGQa+5nmSXf6X4nga9h6Iex64O+LiX820FZsxiyvABHAzbFxV9VwL3A1x13OtAFN9yrifHLPetwAAAABJRU5ErkJggg=="
    },
    b838: function(e, t, n) {
        e.exports = n.p + "img/components/00d141a8a4abeb2040df245486783340.png"
    },
    ba64: function(e, t, n) {
        e.exports = n.p + "img/components/97bc44c8e6f4bdb5dabf205d0ecb705a.png"
    },
    bae3: function(e, t, n) {},
    bafa: function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAXCAYAAAD+4+QTAAACO0lEQVRIiaWVO2hVQRCG/zxAfJAmKili1GAKsQqikEICagRB0EajYGMRRRsLQQVBEQStIgRS+WoiiL2CmMZHp4UgxEdADDGKCgbz0CtIPpkwC8vmnrMH/OFy9/HPzO7Mv3MEVPn1AneBD8A08BG4D+ypYp8jLAeGKMctYNX/BDmSCRBwssxPw2KkYjRImpO0oowkabukF0WbjRnjwxUCjJcFMDSX7D2WtFvSjKSWEt5o5hCFN3nlAXZJas/4CEGu+a2aljDqFOqBF3Onz6+XFPxPpKy9vvYsp64+J57x+T2fT0eOvwMLPn6Z2A/4en+RupZJqkn6HRW7R9KCpNWSuiVdiZJwVtJnSSOSxiS9ltQvaUJSm/tbki679kNgv4/rad9SchE4kKw/8hvYeKuPe3KP8aoTV9apVcAToDnaN5yPxoO5IKPAPNAGNPnJ6+EYYClvAb4Cz93+L/A0+EvfyRZJ2yRtcilO+X+RjDst4xGvQ9JRSb8kzcc1sQ57G3hXcFpLycaCve4oPTFMfVPADXsKRpgscBAw5I4Gk/Wbvn4pY//NSLUMCe/Gxt0BnIge6r4KtjUjzlYgGg4l4jhV0W7WetfbTG8K6Erm1t9+VLCbtBMdz5zkDTAezS9EtzGJf8nYnwvksRLSBudYHUwtB5O0tSe9LYaJqjEQ1wITCWHORWGP8jKwLvrubwZao0BdwExib420M33x1q+G/VSWgg5gvbfuANP+e5MlcDq5kQX+BPwE7gBrFtdB/wDvvKDlXUTPxwAAAABJRU5ErkJggg=="
    },
    bc11: function(e, t, n) {
        "use strict";
        n("ac18")
    },
    bce6: function(e, t, n) {
        "use strict";
        n("6b7b")
    },
    be3a: function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAACoUlEQVRIia1WX2jOYRR+LGP+FZZ/TZbsxs3SbpYiU7vxERFyoZCSmgttKzfiUrsTLhSmlJY/kba0caGxG4XduFikmRlb9DXLJsYene15dXr3fr8op97Oe57zfOec98/vPR9I2qgjOcApeUByrXA/qkl2ifOG5MEEZzXJNnGGSDYabo7DnC5jJEvdj8sTHJNtjrOYZD7BOW7O7zJyJJeQbJF90gW4KOyCOPtl9zpOg7B74tTInoDLGMj7ZF9xWIew9Q6bDODss8KOOmwiBH4q5w2S9SQ/yd7hyEeEvRUnJL3tODlhw1rVNdkvzVlB8nO0jzcTh9oecfpILo04zRFnhGSlP7TncjQmEoTRJM5DkvMKcOrE6SG53LAiTEkewGvN21BYOuTpBjBagNUq3Qdg0CZFzjlfuiwjyQrphRmcldJzA+CThPmPjAB/I+NxbJ9kjvRYRqB30vkMzoh0SQBmOmcngBoA5wHcBTCRCFAlbbyGhH8GgO2ad/9B3a0oIznO/yM9+uonY/uVHNDKunVDmKi0EsBOAC/cLYrlA4BmAD9TK3mkNVRnfCcbxDmTwZk2/MF/ky4uUKFJuXRpBmea+O0KBz37XwI4sYL3ultq29UFoNcn+So9kBFoUHq4QMEtEWaFbw3btQBAheZbMpLUSq8DMCvy0RXaBOCcVnfLDmaVa71BriYO8E7EeUVykfMXh/6R6iedcrSSPEXyi+ycIx8S9pHkaZKPZV+Pkgy5vhMK70p1xtBaLyd6ycaoM/6Kkgy41ZjctzZS5G7VJr3EYd/fu/0Oc3syjLNLtn14Xuxq2/t2SWD/5DtH8ljiIbEKl7kq1xR4bHZHKwlS4tp4bSCccOATklWJg99M8pk4/eqA3m9J7C+R/Z0yew/JUZLtvwGyd/nkKRRCPgAAAABJRU5ErkJggg=="
    },
    bf21: function(e, t, n) {
        "use strict";
        var o = n("48ef"),
            i = n("810b");
        const a = e => {
            Object(o["d"])("showModal", (t, n) => e.$emit(i["a"].SHOW_MODAL, t, n)), Object(o["d"])("hideModal", t => e.$emit(i["a"].HIDE_MODAL, t))
        };
        t["a"] = a
    },
    bf23: function(e, t, n) {},
    bfa3: function(e, t, n) {
        e.exports = n.p + "img/components/73baa994615d240054635a6c705a513d.png"
    },
    c1c3: function(e, t, n) {},
    c258: function(e, t, n) {
        e.exports = n.p + "img/categories/1de119a6f67d176e31441b24c5141198.png"
    },
    c47e: function(e, t, n) {
        "use strict";
        n("25cc")
    },
    c52a: function(e, t, n) {
        e.exports = n.p + "img/components/cf121a8715aca0238432890d4d061b59.png"
    },
    c736: function(e, t, n) {
        "use strict";
        n("2c7d")
    },
    ca0b: function(e, t, n) {
        "use strict";
        n("07c3")
    },
    caeb: function(e, t, n) {
        e.exports = n.p + "img/rightMouse.67b4c5fb.svg"
    },
    cb1f: function(e, t, n) {
        var o = {
            "./cart.png": "23ff",
            "./none.png": "219c"
        };

        function i(e) {
            var t = a(e);
            return n(t)
        }

        function a(e) {
            if (!n.o(o, e)) {
                var t = new Error("Cannot find module '" + e + "'");
                throw t.code = "MODULE_NOT_FOUND", t
            }
            return o[e]
        }
        i.keys = function() {
            return Object.keys(o)
        }, i.resolve = a, e.exports = i, i.id = "cb1f"
    },
    cb35: function(e, t, n) {
        e.exports = n.p + "img/components/1d12e400ac55891dc2c8aea0308bb6c4.png"
    },
    cdd3: function(e, t, n) {
        e.exports = n.p + "img/components/62c55bf903539fa23cc935944c311b96.png"
    },
    d165: function(e, t, n) {
        "use strict";
        n("d7fb")
    },
    d350: function(e, t, n) {
        e.exports = n.p + "img/arrowUp.afe586d4.svg"
    },
    d762: function(e, t, n) {
        "use strict";
        n("5719")
    },
    d7fb: function(e, t, n) {},
    d8d3: function(e, t, n) {
        e.exports = n.p + "img/components/cc2393c3cc6e55a1c9c16320854cc4a7.png"
    },
    d94b: function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "MODULE", (function() {
            return o
        })), n.d(t, "AREAS", (function() {
            return i
        })), n.d(t, "CATEGORY_TYPE", (function() {
            return a
        })), n.d(t, "TINTED_WINDOW_ID", (function() {
            return r
        })), n.d(t, "COLOR_UPDATE_TYPE", (function() {
            return s
        }));
        const o = {
                name: "tuning",
                notificationLifeTime: 3e3
            },
            i = {
                parentCategories: 0,
                childCategories: 1,
                categoryComponents: 2
            },
            a = {
                componentList: "componentList",
                tintedWindow: "tintedWindow",
                sliderList: "sliderList",
                colorList: "colorList"
            },
            r = {
                top: 1,
                topSide: 2,
                bottomSide: 3,
                bottom: 4,
                topLights: 5,
                bottomLights: 6
            },
            s = {
                window: 0,
                component: 1
            }
    },
    da10: function(e, t, n) {
        "use strict";
        n("a986")
    },
    dbc4: function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAVCAYAAACzK0UYAAACDUlEQVRIibWVz0tVURDHPy/TXWgUWCBSWauECGuTYBRIC6FNUCEGLVskuslNi6BFEihuw00L+2Hx/gBd6CJcRi1qUbkpiciIfphUavGNgblxPJ57XzfwC+edeWdmzvfMzJlzK5LYJJwC+oFqLZJmYD/QVOIcb4DnwHv3ByNJjIuSHkn6pfJ44Pu9ds+fW6NTHADuAUdKZvA3sAw0Ap98bcXn1S2B4VEPsyyBYSxI6fZYmUViJ5gDGv6DwHAWOOTyt1iZRXI/h+A6sA9oA/YCQ8Bawq4V6HZ5dYNW0uFEab9LavcCNkXzHklvI/ubrjNMuvzS/y9Zui4lTtbp9fkI7PC0LgDbgArQ4Vc0w/kgXUvxZuZ8LFqbBZ66POiz3Z5eoMX/LwJ9wJ0gXa0uN/tc93eW9CUK/Zwka9KHQf/cCGRb73S5TtIFSZcl9Uu6JqnHdV+zDfH8hzjuJIauINe7Je1yuUNSS0CWGoNeu1ESRRwOChw6V6L1q4HPmqQPkhpShPYzHZF8DgzeSVp0+bGkH4FuPvJ7lheV9Uk1Krx17oTLV4ApvyBz3ieGYX84Q8T7rOuTeknLiV6ZzDnZeMLWsDMvkkw4k+NomJF019O6kmMzUHAB1j31twqIilAtIohJbIyUJLhdiyBFYuO0pCc1Nn8hqfdfCGwUfX5PACeBg/4psDfplT8707k3KQbwB03c7+AxnrS6AAAAAElFTkSuQmCC"
    },
    dc06: function(e, t, n) {
        e.exports = n.p + "img/components/3934d2459768fe232464a24b480b0ef9.png"
    },
    de02: function(e, t, n) {
        e.exports = n.p + "img/categories/497d3825003879efc109affc64155907.png"
    },
    de17: function(e, t) {
        e.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAABN2lDQ1BBZG9iZSBSR0IgKDE5OTgpAAAokZWPv0rDUBSHvxtFxaFWCOLgcCdRUGzVwYxJW4ogWKtDkq1JQ5ViEm6uf/oQjm4dXNx9AidHwUHxCXwDxamDQ4QMBYvf9J3fORzOAaNi152GUYbzWKt205Gu58vZF2aYAoBOmKV2q3UAECdxxBjf7wiA10277jTG+38yH6ZKAyNguxtlIYgK0L/SqQYxBMygn2oQD4CpTto1EE9AqZf7G1AKcv8ASsr1fBBfgNlzPR+MOcAMcl8BTB1da4Bakg7UWe9Uy6plWdLuJkEkjweZjs4zuR+HiUoT1dFRF8jvA2AxH2w3HblWtay99X/+PRHX82Vun0cIQCw9F1lBeKEuf1UYO5PrYsdwGQ7vYXpUZLs3cLcBC7dFtlqF8hY8Dn8AwMZP/fNTP8gAAAAJcEhZcwAACxMAAAsTAQCanBgAAAjqaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA2LjAtYzAwMiA3OS4xNjQzNTIsIDIwMjAvMDEvMzAtMTU6NTA6MzggICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMDEtMjVUMDE6NDU6NTUrMDM6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDgtMDVUMDE6MTM6MDYrMDM6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTA4LTA1VDAxOjEzOjA2KzAzOjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA1MjAxOTlhLWY3YzEtODU0MC04YzBmLWE2MzcxYzNiNTFkNiIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgxNDdlNjY4LWZiN2YtNWQ0ZC05Y2I3LWQ3NDk3NTQ3M2RiYiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmZjNGQyM2VhLTQxN2EtY2I0OC04MGZkLWIxNTg3MzBjYzFkMSIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJBZG9iZSBSR0IgKDE5OTgpIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgZXhpZjpDb2xvclNwYWNlPSI2NTUzNSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjMwIiBleGlmOlBpeGVsWURpbWVuc2lvbj0iMzAiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZjNGQyM2VhLTQxN2EtY2I0OC04MGZkLWIxNTg3MzBjYzFkMSIgc3RFdnQ6d2hlbj0iMjAyMS0wMS0yNVQwMTo0NTo1NSswMzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YTU2MjYyNDItMzgzYy1lNTQ0LWJhM2MtNWZkYWEyZjk5OTU0IiBzdEV2dDp3aGVuPSIyMDIxLTAxLTI1VDAxOjQ1OjU1KzAzOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowNTIwMTk5YS1mN2MxLTg1NDAtOGMwZi1hNjM3MWMzYjUxZDYiIHN0RXZ0OndoZW49IjIwMjEtMDgtMDVUMDE6MTM6MDYrMDM6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjViZWU0ZjQwLWQ3NGEtMTg0Yi1hMDc2LWU1YzI1ZTU2NjEzMjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjNmFlNDY2ZC1hZmQzLWQwNGUtYTExZi04OWI2ZjE1YTg0NDQ8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjYzN0QxMDJFRDAxMjExRTc5MDBGRkVDRTE5NzkzQkVBPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VLuS5QAAAaxJREFUSInt1k+IjWEUBvDfSFc2YyU7zLCSLPwfUmZhzc4GsbeTla1mObKzNjsbk1iYmgillJQSkWKwGAt/Jt0oM4/FfW99bt81Zmgmuk+9nXO+c97znHP6vtPXl8RyYMWysPaIe8T/MvE1NNFYauLPWI3bnY6+v7xABnAAQ0WuxXtsxRhOtANX/iHRIPZiH4axpSbmCx7hOJ5jBHML7XgQu3AQO8v5HczgAzbiKK5UOx7AG3wvdkNrRDuwHbuLXCjuYALnMYUHIEn7vEtyOcnJJNeLvVh8S3I6yeZK/lNJ1rft6qjbymtsWGBXzzCOaVzALFYVWY9KRS9KtRNJnszTUTPJrSTnkuyp5JDkVYk52/H8p1M1zpQLn5KM15BNJ5kt+pEuCYeSTFXu3E2yri62ukDGilxTRn0fTzGKQ1ov39sS099lgJu0FkazjH4SX+cbtSRXK9WO1FR6sfjuJWl06bq/W5fdOoZLFX2uw7cNh4u+X2sdDtf0MqP1kv0SnZvrZkUf7fA18RAftb7Nx3g5H0E31G2uYyX5jcUmXSzxkuC//RHoEfeIlx4/APye4nq3FcezAAAAAElFTkSuQmCC"
    },
    e0cd: function(e, t, n) {
        e.exports = n.p + "img/categories/b06556338e781dda1406369936d64420.png"
    },
    e232: function(e, t, n) {
        "use strict";
        n("905f")
    },
    e4f6: function(e, t, n) {},
    e4f68: function(e, t, n) {
        e.exports = n.p + "img/components/a5e43ca67160657256a113f695895a24.png"
    },
    e81d: function(e, t, n) {
        e.exports = n.p + "img/categories/917c9ef58c041d8be54cd8f06ab17c75.png"
    },
    e82b: function(e, t, n) {},
    eb0a: function(e, t, n) {
        e.exports = n.p + "img/components/095ed03515f6ed0492224af764a0b2d1.png"
    },
    eb26: function(e, t, n) {
        e.exports = n.p + "img/components/230c05c55b58ab4b4ecf00e6a7b3b9a2.png"
    },
    ec49: function(e, t, n) {
        e.exports = n.p + "img/components/854574f1c5f58de35beb4773665ce061.png"
    },
    ed13: function(e, t, n) {
        "use strict";
        n("74ca")
    },
    efe8: function(e, t, n) {
        "use strict";
        n("8f6d")
    },
    f091: function(e, t, n) {},
    f0e2: function(e, t, n) {
        "use strict";
        n("6ca3")
    },
    f22c: function(e, t, n) {
        e.exports = n.p + "img/components/4f6fac33b5d9d4574960bb06d9ecaa8a.png"
    },
    f296: function(e, t, n) {
        e.exports = n.p + "img/categories/a61f04cb1d7d470d9022c6cc901bb85c.png"
    },
    f3aa: function(e, t, n) {
        "use strict";
        n("78fa")
    },
    f458: function(e, t, n) {
        e.exports = n.p + "img/components/77963537f7b30b539b7db356a689895a.png"
    },
    f610: function(e, t, n) {
        e.exports = n.p + "img/components/08ab332e187a91d925cae21e6cad80d9.png"
    },
    f620: function(e, t, n) {
        "use strict";
        n("65e0")
    },
    f693: function(e, t, n) {
        "use strict";
        n.r(t);
        var o = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning"
                }, [t("div", {
                    staticClass: "tuning__inner"
                }, [t("div", {
                    staticClass: "tuning-top"
                }, [t("div", {
                    staticClass: "tuning-top__name",
                    style: {
                        transform: "scale(" + e.clientData.carNameScale + ")",
                        transformOrigin: "top left"
                    }
                }, [t("span", [e._v(" " + e._s(e.clientData.carName) + " ")])]), t("div", {
                    staticClass: "tuning-top-categories"
                }, [t("div", {
                    staticClass: "tuning-top-categories__title",
                    domProps: {
                        innerHTML: e._s(!1 === e.getParentCategoryHovered ? "&nbsp;" : e.getParentCategoryHovered.name)
                    }
                }), t("div", {
                    ref: "contentTuningCategories",
                    staticClass: "tuning-top-categories__content"
                }, [t("CategoryList", {
                    attrs: {
                        categories: e.getRootCategories,
                        categorySelected: e.clientData.parentCategorySelected,
                        categoryHovered: e.clientData.parentCategoryHovered
                    },
                    on: {
                        "select:category": e.onParentCategorySelect,
                        "hover:category": e.onParentCategoryHover
                    }
                }), e._l(e.getCategoriesWithChilds, (function(n) {
                    return t("CategoryList", {
                        directives: [{
                            name: "show",
                            rawName: "v-show",
                            value: e.clientData.parentCategorySelected == n.id,
                            expression: "clientData.parentCategorySelected == category.id"
                        }],
                        key: n.id,
                        attrs: {
                            categories: e.getCategoriesByParentId(n.id),
                            categorySelected: e.clientData.childCategorySelected,
                            categoryHovered: e.clientData.childCategoryHovered,
                            nameShow: !0
                        },
                        on: {
                            "select:category": e.onChildCategorySelect,
                            "hover:category": e.onChildCategoryHover
                        }
                    })
                }))], 2)]), t("div", {
                    staticClass: "tuning-top-info"
                }, [t("div", {
                    staticClass: "tuning-top-info__row"
                }, [t("div", {
                    staticClass: "tuning-top-info__cart",
                    style: {
                        color: e.clientData.cartColor
                    }
                }, [e._v(e._s(e._f("numberFormat")(e.clientData.cartCount)))]), t("div", {
                    staticClass: "tuning-top-info__money"
                }, [e._v(e._s(e._f("numberFormat")(e.clientData.playerMoney)))])]), t("div", {
                    staticClass: "tuning-top-info__row"
                }, [t("div", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.clientData.cartCount > 0,
                        expression: "clientData.cartCount > 0"
                    }],
                    staticClass: "tuning-top-info__purchase",
                    on: {
                        click: function(t) {
                            return e.purchase()
                        }
                    }
                }, [e._v(" Оплатить ")])]), t("div", {
                    staticClass: "tuning-top-info-exit"
                }, [t("div", {
                    staticClass: "tuning-top-info-exit__click",
                    on: {
                        click: e.onExitClick
                    }
                }), t("div", {
                    staticClass: "tuning-top-info-exit__title"
                }, [e._v("Выход")]), t("div", {
                    staticClass: "tuning-top-info-exit__subtitle"
                }, [e._v("Нажмите ESC")])])])]), t("DashboardProperties", {
                    attrs: {
                        items: e.properties
                    }
                }), t("TintedWindow", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.isCategorySelectedType(e.CATEGORY_TYPE.tintedWindow),
                        expression: "isCategorySelectedType(CATEGORY_TYPE.tintedWindow)"
                    }],
                    attrs: {
                        list: e.tintedWindows
                    }
                }), t("DashboardSliders", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.isCategorySelectedType(e.CATEGORY_TYPE.sliderList),
                        expression: "isCategorySelectedType(CATEGORY_TYPE.sliderList)"
                    }],
                    attrs: {
                        items: e.sliders
                    }
                }), e.getCategoryComponents.length > 0 ? t("CategoryComponentList", {
                    attrs: {
                        categoryComponents: e.getCategoryComponents,
                        categoryComponentSelectedIndex: e.clientData.categoryComponentSelectedIndex,
                        categoryComponentSelected: e.clientData.categoryComponentSelected
                    },
                    on: {
                        "update:category-component-selected-index": e.selectCategoryComponentIndex,
                        "update:category-component-selected": e.onCategoryComponentSelectedUpdate,
                        "action:category-component-selected": e.onCategoryComponentSelectedAction
                    }
                }) : e._e(), e._m(0), t("Popup", e._b({
                    on: {
                        "response:popup": e.onPopupResponse
                    }
                }, "Popup", e.popupData, !1)), t("TransitionGroup", {
                    attrs: {
                        name: "notifications",
                        mode: "out-in"
                    }
                }, e._l(e.notifications, (function(e) {
                    return t("Notification", {
                        key: e.id,
                        attrs: {
                            color: e.color,
                            id: e.id,
                            icon: e.icon,
                            text: e.text
                        }
                    })
                })), 1)], 1)])
            },
            i = [function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-keys"
                }, [t("div", {
                    staticClass: "tuning-keys__inner"
                }, [t("div", {
                    staticClass: "tuning-keys__item key_arrows"
                }, [e._v("Управление")]), t("div", {
                    staticClass: "tuning-keys__item key_enter"
                }, [e._v("Выбрать")]), t("div", {
                    staticClass: "tuning-keys__item key_escape"
                }, [e._v("Назад")])])])
            }];
        const a = e => isNaN(e = parseInt(e)) ? 0 : (new Intl.NumberFormat).format(e);
        var r = n("d94b"),
            s = n("2f62"),
            c = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-top-categories__list",
                    class: {
                        children: e.nameShow
                    }
                }, e._l(e.categories, (function(n) {
                    return t("CategoryItem", e._g({
                        key: n.id,
                        attrs: {
                            id: n.id,
                            name: n.name,
                            nameShow: e.nameShow,
                            icon: n.icon,
                            categoryHovered: e.categoryHovered,
                            categorySelected: e.categorySelected
                        }
                    }, e.$listeners))
                })), 1)
            },
            d = [],
            l = function() {
                var e = this,
                    t = e._self._c;
                return e.isCategoryComponentsExist(e.id) ? t("div", {
                    staticClass: "tuning-top-categories__inner"
                }, [t("div", {
                    staticClass: "tuning-top-categories__item",
                    class: {
                        selected: e.categorySelected == e.id,
                        hovered: e.categoryHovered == e.id
                    },
                    style: {
                        backgroundImage: `url(${e.icon})`
                    },
                    on: {
                        mouseover: function(t) {
                            return e.onCategoryHover(e.id)
                        },
                        mouseout: function(t) {
                            return e.onCategoryUnhover(e.id)
                        },
                        click: function(t) {
                            return e.onCategorySelect(e.id)
                        }
                    }
                }, [!e.nameShow || e.categoryHovered === e.id && e.categorySelected !== e.id && 0 !== e.categorySelected ? e._e() : t("span", [e._v(e._s(e.name))])])]) : e._e()
            },
            u = [],
            p = {
                props: {
                    id: Number,
                    name: String,
                    nameShow: Boolean,
                    categorySelected: Number,
                    categoryHovered: Number,
                    icon: String
                },
                computed: {
                    ...Object(s["c"])(r["MODULE"].name, ["isCategoryComponentsExist"])
                },
                methods: {
                    onCategorySelect(e) {
                        this.onCategoryHover(e), this.$emit("select:category", e), this.$forceUpdate()
                    },
                    onCategoryHover(e) {
                        this.$emit("hover:category", e), this.$forceUpdate()
                    },
                    onCategoryUnhover(e) {
                        let {
                            categorySelected: t
                        } = this;
                        0 == t && (t = e), this.onCategoryHover(t)
                    }
                }
            },
            g = p,
            m = (n("f620"), n("2877")),
            f = Object(m["a"])(g, l, u, !1, null, null, null),
            v = f.exports,
            A = {
                props: {
                    categories: Array,
                    categorySelected: Number,
                    categoryHovered: Number,
                    nameShow: Boolean
                },
                components: {
                    CategoryItem: v
                },
                computed: {
                    ...Object(s["c"])(r["MODULE"].name, ["getCategoriesByParentId"])
                }
            },
            b = A,
            h = (n("c47e"), Object(m["a"])(b, c, d, !1, null, null, null)),
            C = h.exports,
            y = function() {
                var e = this,
                    t = e._self._c;
                return t("DashboardLayout", {
                    attrs: {
                        title: "БИБААААА"
                    }
                }, e._l(e.items, (function(n, o) {
                    return t("DashboardPropertiesItem", {
                        key: o,
                        attrs: {
                            value: n.value,
                            valueOffset: n.valueOffset,
                            valueMax: n.valueMax,
                            valuePercent: n.valuePercent,
                            valueOffsetPercent: n.valueOffsetPercent
                        }
                    }, [e._v(" " + e._s(n.name) + " ")])
                })), 1)
            },
            I = [],
            O = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-dashboard",
                    class: "align_" + e.align
                }, [t("div", {
                    staticClass: "tuning-dashboard__header"
                }, [e._v(e._s(e.title))]), t("div", {
                    staticClass: "tuning-dashboard__body"
                }, [t("div", {
                    staticClass: "tuning-dashboard__list"
                }, [e._t("default")], 2)])])
            },
            D = [],
            S = {
                props: {
                    align: {
                        type: String,
                        default: () => "left"
                    },
                    title: String
                }
            },
            E = S,
            w = (n("3abf"), Object(m["a"])(E, O, D, !1, null, null, null)),
            M = w.exports,
            N = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-dashboard__item"
                }, [t("div", {
                    staticClass: "tuning-dashboard__column"
                }, [t("div", {
                    staticClass: "tuning-dashboard__title"
                }, [e._t("default")], 2), t("div", {
                    staticClass: "tuning-dashboard__offset"
                }, [t("span", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: 0 != e.valueOffsetPercent,
                        expression: "valueOffsetPercent != 0"
                    }],
                    staticClass: "tuning-dashboard__value",
                    class: {
                        offset_negative: e.valueOffsetPercent < 0,
                        offset_positive: e.valueOffset > 0
                    }
                }, [e._v(e._s(e._f("abs")(e.valueOffset)))]), t("span", {
                    staticClass: "tuning-dashboard__current"
                }, [e._v(e._s(e.value))])])]), t("div", {
                    staticClass: "tuning-dashboard__column"
                }, [t("div", {
                    staticClass: "tuning-dashboard-bar"
                }, [t("div", {
                    staticClass: "tuning-dashboard-bar__progress",
                    style: {
                        width: (e.valueOffsetPercent > 0 ? e.valuePercent : e.valuePercent + e.valueOffsetPercent) + "%"
                    }
                }), t("div", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: 0 != e.valueOffsetPercent,
                        expression: "valueOffsetPercent != 0"
                    }],
                    staticClass: "tuning-dashboard-bar__offset",
                    class: {
                        offset_negative: e.valueOffsetPercent < 0,
                        offset_positive: e.valueOffsetPercent > 0
                    },
                    style: {
                        width: (e.valueOffsetPercent > 0 ? e.valuePercent + e.valueOffsetPercent : e.valuePercent) + "%"
                    }
                })])])])
            },
            R = [];
        const T = e => Math.abs(e);
        var x = {
                filters: {
                    numberFormat: a,
                    abs: T
                },
                props: {
                    value: Number,
                    valueOffset: Number,
                    valueMax: Number,
                    valuePercent: Number,
                    valueOffsetPercent: Number
                }
            },
            k = x,
            _ = (n("3f1d"), Object(m["a"])(k, N, R, !1, null, null, null)),
            G = _.exports,
            Y = {
                components: {
                    DashboardLayout: M,
                    DashboardPropertiesItem: G
                },
                props: {
                    items: Array
                }
            },
            L = Y,
            j = Object(m["a"])(L, y, I, !1, null, null, null),
            U = j.exports,
            W = function() {
                var e = this,
                    t = e._self._c;
                return t("DashboardLayout", {
                    attrs: {
                        title: "Сход/Развал",
                        align: "right"
                    }
                }, [t("div", {
                    staticClass: "tuning-dashboard-reset",
                    on: {
                        click: e.onResetClick
                    }
                }, [e._v("Сбросить значения")]), e._l(e.items, (function(n) {
                    return t("DashboardSlidersItem", e._b({
                        key: n.id + n.time,
                        on: {
                            "update:value": e.onValueUpdate
                        }
                    }, "DashboardSlidersItem", n, !1), [e._v(" " + e._s(n.name) + " ")])
                }))], 2)
            },
            Z = [],
            B = n("317d"),
            P = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-dashboard-sliders-item"
                }, [t("div", {
                    staticClass: "tuning-dashboard-sliders-item__title"
                }, [e._v(e._s(e.title))]), t("div", {
                    staticClass: "tuning-dashboard-sliders-item__slider"
                }, [t("div", {
                    staticClass: "tuning-dashboard-sliders-item__controls type_minus",
                    on: {
                        mousedown: function(t) {
                            return e.onMouseDown("minus")
                        }
                    }
                }, [e._v("-")]), t("VueSlider", {
                    attrs: {
                        tooltip: "always",
                        tooltipPlacement: "bottom",
                        min: e.min,
                        max: e.max,
                        processStyle: {
                            background: "none"
                        },
                        railStyle: {
                            background: "#5a5a5a",
                            borderRadius: 0
                        },
                        interval: e.step,
                        marks: [e.min, e.max],
                        adsorb: !0,
                        duration: 0,
                        useKeyboard: !1
                    },
                    model: {
                        value: e.inputValue,
                        callback: function(t) {
                            e.inputValue = t
                        },
                        expression: "inputValue"
                    }
                }), t("div", {
                    staticClass: "tuning-dashboard-sliders-item__controls type_plus",
                    on: {
                        mousedown: function(t) {
                            return e.onMouseDown("plus")
                        }
                    }
                }, [e._v("+")])], 1)])
            },
            H = [],
            z = n("4971"),
            V = n.n(z),
            F = (n("24df"), {
                components: {
                    VueSlider: V.a
                },
                props: {
                    id: Number,
                    title: String,
                    min: Number,
                    max: Number,
                    value: Number,
                    step: Number
                },
                data() {
                    return {
                        currentValue: this.value,
                        intervalId: null
                    }
                },
                mounted() {
                    this.onMouseUp(), window.addEventListener("mouseup", this.onMouseUp)
                },
                beforeDestroy() {
                    window.removeEventListener("mouseup", this.onMouseUp)
                },
                computed: {
                    inputValue: {
                        get() {
                            return this.currentValue
                        },
                        set(e) {
                            e = Number(parseFloat(e).toFixed(2));
                            const {
                                currentValue: t,
                                min: n,
                                max: o
                            } = this;
                            if (t == e || e > o || e < n) return;
                            const {
                                id: i
                            } = this;
                            this.currentValue = e, this.$emit("update:value", i, e), this.$forceUpdate()
                        }
                    }
                },
                methods: {
                    onMouseDown(e) {
                        const {
                            intervalId: t,
                            step: n
                        } = this;
                        null === t && (this.intervalId = setInterval(() => {
                            "minus" == e ? this.inputValue -= n : this.inputValue += n
                        }, 50))
                    },
                    onMouseUp() {
                        null !== this.intervalId && (clearInterval(this.intervalId), this.intervalId = null)
                    }
                }
            }),
            J = F,
            Q = (n("bce6"), Object(m["a"])(J, P, H, !1, null, null, null)),
            X = Q.exports,
            K = {
                components: {
                    DashboardLayout: M,
                    DashboardSlidersItem: X
                },
                props: {
                    items: Array
                },
                methods: {
                    ...Object(s["b"])(r["MODULE"].name, ["resetDashboardSlidersValue"]),
                    onValueUpdate(e, t) {
                        B["toServer"].updateDashboardSlider(e, t)
                    },
                    onResetClick() {
                        this.resetDashboardSlidersValue(), this.$forceUpdate()
                    }
                }
            },
            q = K,
            $ = (n("ed13"), Object(m["a"])(q, W, Z, !1, null, "a78fa356", null)),
            ee = $.exports,
            te = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-components"
                }, [e.isCategorySelectedType(e.CATEGORY_TYPE.colorList) ? t("div", {
                    staticClass: "tuning-components__picker"
                }, [t("ColorList", {
                    on: {
                        "select:color": e.onColorSelect
                    }
                })], 1) : e._e(), t("div", {
                    staticClass: "tuning-components__inner"
                }, [t("div", {
                    directives: [{
                        name: "slider",
                        rawName: "v-slider",
                        value: e.selectedIndex,
                        expression: "selectedIndex"
                    }],
                    ref: "contentTuningComponents",
                    staticClass: "tuning-components__content"
                }, e._l(e.categoryComponents, (function(n, o) {
                    return t("CategoryComponentItem", e._g({
                        key: n.id,
                        attrs: {
                            index: o,
                            id: n.id,
                            name: n.name,
                            text: n.text,
                            header: n.header,
                            color: n.color,
                            price: n.price,
                            icon: n.icon,
                            inCart: n.inCart,
                            hidePriceButton: n.hidePriceButton,
                            statusText: n.statusText,
                            statusColor: n.statusColor,
                            scale: n.scale,
                            selected: o === e.selectedIndex
                        },
                        on: {
                            "update:selected-index": e.onSelectedIndexUpdate,
                            "update:selected": e.onSelectedUpdate
                        }
                    }, e.$listeners))
                })), 1)])])
            },
            ne = [],
            oe = n("792f"),
            ie = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-components-item",
                    class: {
                        selected: e.selected
                    },
                    style: {
                        background: e.selected ? `linear-gradient(\n            90deg, \n            ${e.color} -150%, \n            rgba(255, 255, 255, 0.7) 100%\n        )\n        ` : `linear-gradient(\n            0deg, \n            ${e.color} -200%, \n            rgba(255, 255, 255, 0.20) 50%, \n            rgba(255, 255, 255, 0.20) 50%\n        )`
                    },
                    on: {
                        click: function(t) {
                            return e.onItemSelect({
                                index: e.index,
                                id: e.id
                            })
                        }
                    }
                }, [t("transition", {
                    attrs: {
                        name: "open-slide-selected",
                        mode: "out-in"
                    }
                }, [e.selected ? t("div", {
                    key: "selected",
                    staticClass: "tuning-components-item__inner"
                }, [t("div", {
                    staticClass: "tuning-components-item-selected"
                }, [t("div", {
                    staticClass: "tuning-components-item-selected__info"
                }, [t("div", {
                    staticClass: "tuning-components-item-selected__img",
                    style: {
                        backgroundImage: `url(${e.icon})`
                    }
                }), t("div", {
                    staticClass: "tuning-components-item-selected__content"
                }, [t("div", {
                    staticClass: "tuning-components-item-selected__name",
                    style: {
                        transform: "scale(" + e.scale + ")",
                        transformOrigin: "top left"
                    },
                    domProps: {
                        innerHTML: e._s(e.name)
                    }
                }), t("div", {
                    staticClass: "tuning-components-item-selected__text"
                }, [e._v(e._s(e.text))])])]), t("div", {
                    staticClass: "tuning-components-item-selected__stats"
                }, [e.statusText.length ? t("div", {
                    staticClass: "tuning-components-item-selected__status",
                    style: {
                        backgroundColor: e.statusColor
                    }
                }, [e._v(" " + e._s(e.statusText) + " ")]) : t("div"), t("div", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: !e.hidePriceButton,
                        expression: "!hidePriceButton"
                    }],
                    staticClass: "tuning-components-item-selected__price tuning-components-item-selected-price"
                }, [t("div", {
                    staticClass: "tuning-components-item-selected-price__value"
                }, [e._v(e._s(e._f("numberFormat")(e.price)))]), t("div", {
                    staticClass: "tuning-components-item-selected-price__install",
                    on: {
                        click: e.onItemButtonClick
                    }
                }, [e._v(e._s(e.inCart ? "Убрать" : "Установить"))])])])])]) : t("div", {
                    key: "not-selected",
                    staticClass: "tuning-components-item__inner"
                }, [t("div", {
                    directives: [{
                        name: "show",
                        rawName: "v-show",
                        value: e.inCart,
                        expression: "inCart"
                    }],
                    staticClass: "tuning-components-item__cart"
                }), t("div", {
                    staticClass: "tuning-components-item__img",
                    style: {
                        backgroundImage: `url(${e.icon})`
                    }
                }), t("div", {
                    staticClass: "tuning-components-item__name",
                    style: {
                        transform: "scale(" + e.scale + ")",
                        transformOrigin: "top left"
                    },
                    domProps: {
                        innerHTML: e._s(e.name)
                    }
                }), t("div", {
                    staticClass: "tuning-components-item__price"
                }, [e._v(e._s(e._f("numberFormat")(e.price)))]), t("div", {
                    staticClass: "tuning-components-item__header",
                    style: {
                        color: e.color
                    }
                }, [e._v(e._s(e.header))])])])], 1)
            },
            ae = [],
            re = {
                filters: {
                    numberFormat: a
                },
                props: {
                    id: Number,
                    name: String,
                    text: String,
                    index: Number,
                    header: String,
                    color: String,
                    price: Number,
                    icon: String,
                    selected: Boolean,
                    inCart: Boolean,
                    statusText: String,
                    statusColor: String,
                    hidePriceButton: Boolean,
                    scale: Number
                },
                methods: {
                    onItemSelect({
                        index: e,
                        id: t
                    }) {
                        this.$emit("update:selected-index", e), this.$emit("update:selected", t), this.$forceUpdate()
                    },
                    onItemButtonClick() {
                        const {
                            inCart: e
                        } = this;
                        this.$emit("action:category-component-selected", e), this.$forceUpdate()
                    }
                }
            },
            se = re,
            ce = (n("da10"), Object(m["a"])(se, ie, ae, !1, null, null, null)),
            de = ce.exports,
            le = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-color"
                }, [t("div", {
                    staticClass: "tuning-color-header"
                }, [t("div", {
                    staticClass: "tuning-color-header__title"
                }, [e._v("Выбор цвета")]), t("div", {
                    staticClass: "tuning-color-header__reset",
                    on: {
                        click: e.onResetClick
                    }
                }, [e._v("Сбросить")])]), t("div", {
                    staticClass: "tuning-color-body"
                }, [t("ColorSelectList", {
                    attrs: {
                        items: e.colorsSelected
                    },
                    on: {
                        "select:color-select-item": e.onColorSelectItemSelect
                    }
                }), t("div", {
                    staticClass: "tuning-color-list",
                    style: {
                        height: e.window.innerHeight / e.window.innerWidth * 400 + "px"
                    }
                }, e._l(e.colors, (function(n, o) {
                    return t("ColorListItem", {
                        key: o,
                        attrs: {
                            active: e.getColorSelectedValue() == o,
                            index: o,
                            value: n
                        },
                        on: {
                            "select:color-item": e.onColorItemSelect
                        }
                    })
                })), 1)], 1)])
            },
            ue = [],
            pe = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-color-item",
                    class: {
                        active: e.active
                    },
                    style: {
                        backgroundColor: e.getValue()
                    },
                    on: {
                        mousemove: function(t) {
                            return e.onMouseEvent(e.index, t)
                        },
                        mousedown: function(t) {
                            return e.onMouseEvent(e.index, {
                                which: 1
                            })
                        }
                    }
                })
            },
            ge = [],
            me = n("2fa3"),
            fe = {
                props: {
                    active: Boolean,
                    index: Number,
                    value: Number
                },
                methods: {
                    getValue() {
                        return Object(me["e"])(this.value)
                    },
                    onMouseEvent(e, t) {
                        1 == t.which && this.$emit("select:color-item", e)
                    }
                }
            },
            ve = fe,
            Ae = (n("4415"), Object(m["a"])(ve, pe, ge, !1, null, "13b7c02e", null)),
            be = Ae.exports,
            he = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-color-select"
                }, e._l(e.items.slice(0, e.colorCountToShow), (function(n, o) {
                    return t("ColorSelectListItem", e._g({
                        key: o,
                        attrs: {
                            number: o + 1,
                            active: n.active,
                            value: e.colors[n.index]
                        }
                    }, e.$listeners))
                })), 1)
            },
            Ce = [],
            ye = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-color-select__item",
                    class: {
                        active: e.active
                    },
                    on: {
                        click: function(t) {
                            return e.onClick(e.number - 1)
                        }
                    }
                }, [t("span", {
                    staticClass: "tuning-color-select__circle",
                    style: {
                        backgroundColor: e.getValue()
                    }
                }), e._v(" Цвет " + e._s(e.number) + " ")])
            },
            Ie = [],
            Oe = {
                props: {
                    active: Boolean,
                    number: Number,
                    value: Number
                },
                methods: {
                    getValue() {
                        return Object(me["e"])(this.value)
                    },
                    onClick(e) {
                        this.$emit("select:color-select-item", e), this.$forceUpdate()
                    }
                }
            },
            De = Oe,
            Se = (n("47d8"), Object(m["a"])(De, ye, Ie, !1, null, "20d02037", null)),
            Ee = Se.exports,
            we = {
                props: {
                    items: Array
                },
                components: {
                    ColorSelectListItem: Ee
                },
                computed: {
                    ...Object(s["d"])(r["MODULE"].name, ["colors", "colorCountToShow"])
                }
            },
            Me = we,
            Ne = (n("0d8d"), Object(m["a"])(Me, he, Ce, !1, null, "437cf8df", null)),
            Re = Ne.exports,
            Te = {
                components: {
                    ColorListItem: be,
                    ColorSelectList: Re
                },
                data() {
                    return {
                        window: window
                    }
                },
                mounted() {
                    const {
                        colorsSelected: e
                    } = this;
                    this.selectColor(e[0].index, e[1].index)
                },
                computed: {
                    ...Object(s["d"])(r["MODULE"].name, ["colors", "colorsSelected"]),
                    ...Object(s["c"])(r["MODULE"].name, ["getColorSelectedIndex", "getColorSelectedValue"])
                },
                methods: {
                    ...Object(s["b"])(r["MODULE"].name, ["updateColorSelected", "resetColorsSelected"]),
                    selectColor(e, t) {
                        this.$emit("select:color", e, t)
                    },
                    onColorSelectItemSelect(e) {
                        const {
                            colorsSelected: t
                        } = this;
                        t.forEach((e, t) => {
                            this.updateColorSelected({
                                index: t,
                                key: "active",
                                value: !1
                            })
                        }), this.updateColorSelected({
                            index: e,
                            key: "active",
                            value: !0
                        })
                    },
                    onColorItemSelect(e) {
                        const {
                            colorsSelected: t
                        } = this, n = this.getColorSelectedIndex();
                        t[n].index != e && (this.updateColorSelected({
                            index: n,
                            key: "index",
                            value: e
                        }), this.selectColor(t[0].index, t[1].index))
                    },
                    onResetClick() {
                        const {
                            colorsSelected: e
                        } = this;
                        this.resetColorsSelected(), this.selectColor(e[0].defaultIndex, e[1].defaultIndex)
                    }
                }
            },
            xe = Te,
            ke = (n("f0e2"), Object(m["a"])(xe, le, ue, !1, null, "335b15ce", null)),
            _e = ke.exports,
            Ge = {
                directives: {
                    slider: oe["slider"]
                },
                components: {
                    CategoryComponentItem: de,
                    ColorList: _e
                },
                props: {
                    categoryComponentSelected: Number,
                    categoryComponentSelectedIndex: Number,
                    categoryComponents: Array,
                    popupDisplay: Boolean
                },
                data() {
                    return {
                        CATEGORY_TYPE: r["CATEGORY_TYPE"],
                        colorSelected: "#FFFFFFFF"
                    }
                },
                mounted() {
                    const {
                        categoryComponentSelected: e
                    } = this;
                    B["toServer"].updateDashboard(e)
                },
                computed: {
                    ...Object(s["c"])(r["MODULE"].name, ["isCategorySelectedType"]),
                    selectedIndex: {
                        get() {
                            return this.categoryComponentSelectedIndex
                        },
                        set(e) {
                            this.$emit("update:category-component-selected-index", e), this.$forceUpdate()
                        }
                    },
                    selected: {
                        get() {
                            return this.categoryComponentSelected
                        },
                        set(e) {
                            this.$emit("update:category-component-selected", e), this.$forceUpdate()
                        }
                    }
                },
                methods: {
                    onSelectedIndexUpdate(e) {
                        this.selectedIndex != e && (this.selectedIndex = e)
                    },
                    onSelectedUpdate(e) {
                        this.selected != e && (this.selected = e, this.$forceUpdate())
                    },
                    onColorSelect(e, t) {
                        B["toServer"].updateColor(e, t)
                    }
                }
            },
            Ye = Ge,
            Le = (n("bc11"), Object(m["a"])(Ye, te, ne, !1, null, null, null)),
            je = Le.exports,
            Ue = function() {
                var e = this,
                    t = e._self._c;
                return t("transition", {
                    attrs: {
                        name: "open-popup"
                    }
                }, [e.display ? t("div", {
                    staticClass: "tuning-popup"
                }, [t("div", {
                    staticClass: "tuning-popup__inner"
                }, [t("div", {
                    staticClass: "tuning-popup-top",
                    style: {
                        background: `linear-gradient(\n                        90deg, \n                        ${e.color} -50%, \n                        transparent 100%\n                    )`
                    }
                }, [t("div", {
                    staticClass: "tuning-popup-top__title"
                }, [e._v(e._s(e.title))])]), t("div", {
                    staticClass: "tuning-popup-body"
                }, [t("div", {
                    staticClass: "tuning-popup-body__inner"
                }, [t("div", {
                    staticClass: "tuning-popup-body__text",
                    domProps: {
                        innerHTML: e._s(e.text)
                    }
                })])]), t("div", {
                    staticClass: "tuning-popup-bottom"
                }, [t("div", {
                    staticClass: "tuning-popup-bottom__inner"
                }, [t("div", {
                    staticClass: "tuning-popup-bottom__button",
                    style: {
                        background: e.buttonSecondary.backgroundColor,
                        color: e.buttonSecondary.color
                    },
                    on: {
                        click: function(t) {
                            return e.onButtonClick("secondary")
                        }
                    }
                }, [e._v(e._s(e.buttonSecondary.name))]), t("div", {
                    staticClass: "tuning-popup-bottom__button",
                    style: {
                        background: e.buttonPrimary.backgroundColor,
                        color: e.buttonPrimary.color
                    },
                    on: {
                        click: function(t) {
                            return e.onButtonClick("primary")
                        }
                    }
                }, [e._v(e._s(e.buttonPrimary.name))])])])])]) : e._e()])
            },
            We = [],
            Ze = {
                filters: {
                    numberFormat: a
                },
                props: {
                    display: Boolean,
                    responseId: Number,
                    title: String,
                    color: String,
                    text: String,
                    properties: Object,
                    buttonSecondary: Object,
                    buttonPrimary: Object
                },
                methods: {
                    onButtonClick(e) {
                        this.$emit("response:popup", this.responseId, e)
                    }
                }
            },
            Be = Ze,
            Pe = (n("ca0b"), Object(m["a"])(Be, Ue, We, !1, null, null, null)),
            He = Pe.exports,
            ze = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    ref: "tuningNotificationBox-" + e.id,
                    staticClass: "tuning-notification",
                    style: {
                        marginBottom: "" + e.offsetPosition
                    }
                }, [t("div", {
                    staticClass: "tuning-notification__inner",
                    style: {
                        background: `linear-gradient(\n                90deg, \n                ${e.color} -50%, \n                transparent 100%\n            )`
                    }
                }, [t("div", {
                    staticClass: "tuning-notification__icon",
                    style: {
                        backgroundImage: "url(" + e.icon
                    }
                }), t("div", {
                    staticClass: "tuning-notification__text",
                    domProps: {
                        innerHTML: e._s(e.text)
                    }
                })])])
            },
            Ve = [],
            Fe = {
                props: {
                    count: Number,
                    id: String,
                    color: String,
                    icon: String,
                    text: String
                },
                data() {
                    return {
                        offsetPosition: 0
                    }
                },
                mounted() {
                    const {
                        id: e
                    } = this;
                    let t = this.notifications.length - 1;
                    const n = this.$refs["tuningNotificationBox-" + e],
                        o = n.clientHeight;
                    this.offsetPosition = (o + o / 5) * t + "px", setTimeout(() => {
                        this.removeNotification(e)
                    }, r["MODULE"].notificationLifeTime)
                },
                computed: {
                    ...Object(s["d"])(r["MODULE"].name, ["notifications"])
                },
                methods: {
                    ...Object(s["b"])(r["MODULE"].name, ["removeNotification"])
                }
            },
            Je = Fe,
            Qe = (n("9f1b"), Object(m["a"])(Je, ze, Ve, !1, null, null, null)),
            Xe = Qe.exports,
            Ke = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-tinted-window"
                }, [t("div", {
                    staticClass: "tuning-tinted-window__first"
                }, [t("div", {
                    staticClass: "tuning-tinted-window__title"
                }, [e._v("Заклейте выбранное окно")]), e._m(0), t("div", {
                    staticClass: "tuning-tinted-window__content",
                    on: {
                        mousemove: e.onContentMouseMove,
                        click: e.onContentClick
                    }
                }, [t("div", {
                    staticClass: "tuning-tinted-window__bg"
                }), e._l(e.list, (function(n) {
                    return t("TintedWindowItem", {
                        key: n.name,
                        attrs: {
                            name: n.name,
                            color: n.color,
                            opacity: n.opacity,
                            hover: n.hover,
                            fillProperty: n.fillProperty,
                            active: n.id == e.clientData.tintedWindowSelected
                        }
                    })
                }))], 2), t("div", {
                    staticClass: "tuning-tinted-window__reset",
                    on: {
                        click: e.onResetClick
                    }
                }, [e._v("Сбросить")])]), e.clientData.tintedWindowSelected > 0 ? t("TintedWindowColorList", {
                    attrs: {
                        colorSelected: e.getColorSelected()
                    },
                    on: {
                        "update:color": e.onColorUpdate
                    }
                }) : e._e()], 1)
            },
            qe = [function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-tinted-window__subtitle"
                }, [e._v("Наведите мышкой, чтобы заклеить"), t("br"), e._v("окно плёнкой")])
            }],
            $e = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-tinted-color-list",
                    class: "type_" + e.type
                }, [t("div", {
                    staticClass: "tuning-tinted-color-list__title"
                }, [e._v("Выберите цвет")]), t("div", {
                    staticClass: "tuning-tinted-color-list__content"
                }, [t("div", {
                    staticClass: "tuning-tinted-color-list__opacity"
                }, [t("div", {
                    staticClass: "tuning-tinted-color-list__controls type_minus",
                    on: {
                        mousedown: function(t) {
                            return e.onMouseDown("minus")
                        }
                    }
                }, [e._v("-")]), t("VueSlider", {
                    ref: "slider",
                    attrs: {
                        tooltip: "always",
                        "tooltip-formatter": e.sliderFormatter,
                        min: e.MIN_COLOR_VALUE,
                        max: e.MAX_COLOR_VALUE,
                        interval: e.COLOR_STEP,
                        duration: 0,
                        adsorb: !0,
                        disabled: null == e.inputColor,
                        useKeyboard: !1
                    },
                    model: {
                        value: e.inputColor,
                        callback: function(t) {
                            e.inputColor = t
                        },
                        expression: "inputColor"
                    }
                }), t("div", {
                    staticClass: "tuning-tinted-color-list__controls type_plus",
                    on: {
                        mousedown: function(t) {
                            return e.onMouseDown("plus")
                        }
                    }
                }, [e._v("+")])], 1), t("div", {
                    staticClass: "tuning-tinted-color-list-colors"
                }, e._l(e.tintedWindowColors, (function(n) {
                    return t("TintedWindowColorListItem", {
                        key: n,
                        attrs: {
                            color: n,
                            colorSelected: e.colorSelected
                        },
                        on: {
                            "click:item": e.onItemClick
                        }
                    })
                })), 1)])])
            },
            et = [],
            tt = n("5521"),
            nt = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-color-list-item",
                    class: {
                        active: e.isColorActive()
                    },
                    style: {
                        backgroundColor: e.color
                    },
                    on: {
                        click: function(t) {
                            return e.$emit("click:item", e.color)
                        }
                    }
                })
            },
            ot = [],
            it = {
                props: {
                    colorSelected: String,
                    color: String
                },
                methods: {
                    isColorActive() {
                        const {
                            colorSelected: e,
                            color: t
                        } = this;
                        return t == e.slice(0, -2) + "ff"
                    }
                }
            },
            at = it,
            rt = (n("efe8"), Object(m["a"])(at, nt, ot, !1, null, "b31ad1f8", null)),
            st = rt.exports;
        const ct = 10,
            dt = 55;
        var lt = {
                props: {
                    type: {
                        type: String,
                        default: () => "default"
                    },
                    colorSelected: String
                },
                components: {
                    VueSlider: V.a,
                    TintedWindowColorListItem: st
                },
                data() {
                    return {
                        MIN_COLOR_VALUE: dt,
                        MAX_COLOR_VALUE: tt["a"],
                        COLOR_STEP: ct,
                        sliderFormatter: e => (e = Math.floor(e), null === e ? "0%" : (e = Math.floor(100 * (e - dt) / (tt["a"] - dt)), e > 100 ? e = 100 : e < 0 && (e = 0), e + "%")),
                        intervalId: null
                    }
                },
                mounted() {
                    this.onMouseUp(), window.addEventListener("mouseup", this.onMouseUp)
                },
                beforeDestroy() {
                    window.removeEventListener("mouseup", this.onMouseUp)
                },
                computed: {
                    ...Object(s["d"])(r["MODULE"].name, ["tintedWindowColors"]),
                    inputColor: {
                        get() {
                            const {
                                colorSelected: e
                            } = this;
                            if ("" === e) return null;
                            const t = Object(me["f"])(e);
                            return 255 & t
                        },
                        set(e) {
                            const {
                                colorSelected: t
                            } = this;
                            let n = Object(me["f"])(t);
                            if ((255 & n) == e || e > tt["a"] || e < dt) return;
                            const o = (255 & e).toString(16).padStart(2, "0");
                            n = t.slice(0, -2) + o, this.$emit("update:color", n, Object(me["f"])(n)), this.$forceUpdate()
                        }
                    }
                },
                methods: {
                    onItemClick(e) {
                        const {
                            colorSelected: t
                        } = this;
                        if (t.length > 0) {
                            const n = t.slice(-2);
                            e = e.slice(0, -2) + n
                        }
                        this.$emit("update:color", e, Object(me["f"])(e)), this.$forceUpdate()
                    },
                    onMouseDown(e) {
                        const {
                            intervalId: t
                        } = this;
                        null === t && (this.intervalId = setInterval(() => {
                            "minus" == e ? this.inputColor -= ct : this.inputColor += ct
                        }, 50))
                    },
                    onMouseUp() {
                        null !== this.intervalId && (clearInterval(this.intervalId), this.intervalId = null)
                    }
                }
            },
            ut = lt,
            pt = (n("f3aa"), Object(m["a"])(ut, $e, et, !1, null, null, null)),
            gt = pt.exports,
            mt = function() {
                var e = this,
                    t = e._self._c;
                return t("div", {
                    staticClass: "tuning-tinted-window-item"
                }, [t("div", {
                    staticClass: "tuning-tinted-window-item__inner",
                    class: ["type_" + e.name, {
                        hover: e.hover || e.active
                    }],
                    style: e.getStyle()
                })])
            },
            ft = [],
            vt = {
                props: {
                    name: String,
                    hover: Boolean,
                    active: Boolean,
                    color: String,
                    fillProperty: String
                },
                methods: {
                    getStyle() {
                        const {
                            fillProperty: e,
                            color: t
                        } = this;
                        return "border" === e ? {
                            borderBottomColor: t
                        } : {
                            background: t
                        }
                    }
                }
            },
            At = vt,
            bt = (n("a456"), Object(m["a"])(At, mt, ft, !1, null, "1736962c", null)),
            ht = bt.exports;
        const Ct = n("7107");
        var yt = {
                props: {
                    list: Array,
                    colorList: Array
                },
                components: {
                    TintedWindowItem: ht,
                    TintedWindowColorList: gt
                },
                computed: {
                    ...Object(s["d"])(r["MODULE"].name, ["clientData"]),
                    ...Object(s["c"])(r["MODULE"].name, ["getTintedWindowById"])
                },
                methods: {
                    ...Object(s["b"])(r["MODULE"].name, ["setTintedWindow", "setClientData", "resetTintedWindow"]),
                    getItemByPointAtPolygon(e, t) {
                        const {
                            list: n
                        } = this, o = 1 / (window.innerWidth / 1536);
                        e *= o, t *= o;
                        const i = n.filter(n => Ct([e, t], n.coords));
                        return 0 === i.length ? {
                            id: null,
                            name: null
                        } : i[0]
                    },
                    getColorSelected() {
                        const {
                            tintedWindowSelected: e
                        } = this.clientData, {
                            color: t = null
                        } = this.getTintedWindowById(e);
                        return t
                    },
                    onContentMouseMove(e) {
                        const {
                            list: t
                        } = this, {
                            clientX: n,
                            clientY: o
                        } = e, {
                            name: i
                        } = this.getItemByPointAtPolygon(n, o);
                        t.forEach(e => {
                            this.setTintedWindow({
                                name: e.name,
                                key: "hover",
                                value: e.name == i || -1 !== e.relationships.indexOf(i),
                                recursiveCall: !0
                            })
                        })
                    },
                    onContentClick(e) {
                        const {
                            tintedWindowSelected: t
                        } = this.clientData, {
                            clientX: n,
                            clientY: o
                        } = e, {
                            id: i
                        } = this.getItemByPointAtPolygon(n, o);
                        null !== i && (this.setClientData({
                            key: "tintedWindowSelected",
                            value: i == t ? 0 : i
                        }), B["toServer"].selectTintedWindowColor(i == t ? 0 : i))
                    },
                    onColorUpdate(e, t) {
                        const {
                            tintedWindowSelected: n
                        } = this.clientData, {
                            name: o
                        } = this.getTintedWindowById(n);
                        null !== o && (this.setTintedWindow({
                            name: o,
                            key: "color",
                            value: e
                        }), B["toServer"].updateTintedWindowColor(n, t))
                    },
                    onResetClick() {
                        const {
                            tintedWindowSelected: e
                        } = this.clientData;
                        B["toServer"].resetTintedWindowColor(e), this.resetTintedWindow(e)
                    }
                }
            },
            It = yt,
            Ot = (n("d165"), Object(m["a"])(It, Ke, qe, !1, null, null, null)),
            Dt = Ot.exports,
            St = {
                filters: {
                    numberFormat: a
                },
                components: {
                    CategoryList: C,
                    DashboardProperties: U,
                    DashboardSliders: ee,
                    CategoryComponentList: je,
                    Popup: He,
                    Notification: Xe,
                    TintedWindow: Dt
                },
                beforeRouteEnter(e, t, n) {
                    n(async e => {
                        e.resetClientData(), e.resetCategoryComponents(), await e.hasCategoriesLoaded(), e.resetCategoryLastComponentIds(), e.hoverParentCategoryByDefault(), e.hidePopup()
                    })
                },
                data() {
                    return {
                        AREAS: {
                            parentCategories: r["AREAS"].parentCategories,
                            childCategories: r["AREAS"].childCategories,
                            categoryComponents: r["AREAS"].categoryComponents
                        },
                        CATEGORY_TYPE: {
                            componentList: r["CATEGORY_TYPE"].componentList,
                            tintedWindow: r["CATEGORY_TYPE"].tintedWindow,
                            sliderList: r["CATEGORY_TYPE"].sliderList
                        }
                    }
                },
                mounted() {
                    this.onKeyPress(), window.addEventListener("keyup", this.onKeyPress)
                },
                beforeDestroy() {
                    window.removeEventListener("keyup", this.onKeyPress)
                },
                computed: {
                    ...Object(s["d"])(r["MODULE"].name, ["properties", "clientData", "popupData", "keyData", "notifications", "tintedWindows", "sliders"]),
                    ...Object(s["c"])(r["MODULE"].name, ["getCategoriesWithChilds", "getCategoriesByParentId", "getRootCategories", "getParentCategorySelected", "getCategoryComponents", "getCategoryPrevId", "getCategoryNextId", "getCategoryComponentById", "getParentCategoryHovered", "isCategorySelectedType"])
                },
                methods: {
                    ...Object(s["b"])(r["MODULE"].name, ["loadCategories", "loadCategoryComponents", "loadTintedWindows", "loadTintedWindowColors", "setClientVisualData", "setClientData", "setKeyData", "setDashboardProperties", "setDashboardSliders", "setColorsSelected", "resetCategoryComponents", "resetClientData", "resetCategoryLastComponentIds", "purchase", "exit", "showPopup", "hidePopup", "responsePopup", "hasCategoriesLoaded", "addCartItem", "removeCartItem", "selectParentCategory", "hoverParentCategory", "selectChildCategory", "hoverChildCategory", "selectCategoryComponent", "selectCategoryComponentIndex"]),
                    selectParentCategoryByDefault() {
                        const e = this.getRootCategories,
                            t = e.find(e => !0);
                        this.selectParentCategory(t.id)
                    },
                    hoverParentCategoryByDefault() {
                        const e = this.getRootCategories,
                            t = e.find(e => !0);
                        this.hoverParentCategory(t.id)
                    },
                    hoverChildCategoryByDefault() {
                        const {
                            parentCategorySelected: e
                        } = this.clientData, t = this.getCategoriesByParentId(e).find(e => !0);
                        void 0 !== t && this.hoverChildCategory(t.id)
                    },
                    onParentCategorySelect(e) {
                        const t = this.AREAS,
                            {
                                parentCategorySelected: n
                            } = this.clientData;
                        if (e === n) return this.selectParentCategory(0), void this.setAreaSelected(t.parentCategories);
                        this.setAreaSelected(t.childCategories), this.selectParentCategory(e), this.hoverChildCategoryByDefault(), this.$forceUpdate()
                    },
                    onParentCategoryHover(e) {
                        this.hoverParentCategory(e)
                    },
                    onChildCategorySelect(e) {
                        const t = this.AREAS,
                            {
                                childCategorySelected: n
                            } = this.clientData;
                        if (e === n) return this.selectChildCategory(0), void this.setAreaSelected(t.childCategories);
                        this.selectChildCategory(e);
                        const o = this.getCategoryComponents;
                        0 !== o.length && this.setAreaSelected(t.categoryComponents)
                    },
                    onChildCategoryHover(e) {
                        this.hoverChildCategory(e)
                    },
                    onCategoryComponentSelectedUpdate(e) {
                        const t = this.AREAS;
                        this.setAreaSelected(t.categoryComponents), this.selectCategoryComponent({
                            value: e,
                            updateDashboard: !0
                        })
                    },
                    onExitClick() {
                        this.exit()
                    },
                    onCategoryComponentSelectedAction(e) {
                        e ? this.removeCartItem() : this.addCartItem()
                    },
                    onPopupResponse(e, t) {
                        const n = "primary" == t ? 1 : 0;
                        this.responsePopup({
                            responseId: e,
                            response: n
                        }), this.hidePopup()
                    },
                    setAreaSelected(e) {
                        this.setKeyData({
                            key: "areaIndexSelected",
                            value: e
                        })
                    },
                    onKeyPress(e) {
                        if (void 0 === e) return;
                        const t = e.key,
                            n = this.popupData.display,
                            o = this.popupData.responseId;
                        if (n) return void("Enter" === t && this.onPopupResponse(o, "primary"));
                        const {
                            parentCategorySelected: i,
                            parentCategoryHovered: a,
                            childCategoryHovered: r,
                            categoryComponentSelected: s,
                            categoryComponentSelectedIndex: c
                        } = this.clientData, d = this.AREAS, l = "ArrowRight" === t, u = "ArrowUp" !== t;
                        let {
                            areaIndexSelected: p,
                            areas: g
                        } = this.keyData, m = !1, f = !1;
                        switch (t) {
                            case "ArrowDown":
                            case "ArrowUp":
                                "ArrowUp" === t && p--, m = !0;
                                break;
                            case "ArrowLeft":
                            case "ArrowRight":
                                f = !0;
                                break
                        }
                        if (!m || u) {
                            if (f) {
                                let e = 0;
                                if (p === d.parentCategories) e = a, e = l ? this.getCategoryNextId(0, e) : this.getCategoryPrevId(0, e), this.hoverParentCategory(e);
                                else if (p === d.childCategories) e = r, e = l ? this.getCategoryNextId(a, e) : this.getCategoryPrevId(i, e), this.hoverChildCategory(e);
                                else if (p === d.categoryComponents) {
                                    e = l ? c + 1 : c - 1, e < 0 ? e = 0 : e >= this.getCategoryComponents.length && (e = this.getCategoryComponents.length - 1), this.selectCategoryComponentIndex(e);
                                    const t = this.getCategoryComponents;
                                    if ("undefined" !== typeof t[e]) {
                                        const n = t[e].id;
                                        this.selectCategoryComponent({
                                            value: n,
                                            updateDashboard: !0
                                        })
                                    }
                                }
                            } else if (p === d.parentCategories && (m && u || "Enter" === t)) {
                                const e = this.getCategoriesByParentId(a);
                                this.selectParentCategory(a), 0 === e.length ? p++ : this.hoverChildCategoryByDefault(), this.setKeyData({
                                    key: "areaIndexSelected",
                                    value: ++p
                                })
                            } else if (p === d.childCategories && (m && u || "Enter" === t)) this.selectChildCategory(r), this.setKeyData({
                                key: "areaIndexSelected",
                                value: ++p
                            });
                            else if (p === d.categoryComponents && "Enter" === t) {
                                if (0 === s || n) return;
                                const e = this.getCategoryComponentById(s);
                                this.onCategoryComponentSelectedAction(e.inCart)
                            }
                        } else {
                            if (p < 0 ? p = 0 : p >= g.length && (p = g.length - 1), p !== d.parentCategories || u) {
                                if (p === d.childCategories && !u) {
                                    this.selectParentCategory(i);
                                    const e = this.getCategoriesByParentId(i);
                                    0 === e.length && (this.selectParentCategory(), p--)
                                }
                            } else this.selectParentCategory(), this.hoverChildCategory();
                            this.setKeyData({
                                key: "areaIndexSelected",
                                value: p
                            })
                        }
                    }
                }
            },
            Et = St,
            wt = (n("d762"), Object(m["a"])(Et, o, i, !1, null, null, null)),
            Mt = wt.exports;
        t["default"] = {
            name: "tuning",
            path: "/tuning",
            component: Mt
        }
    },
    ff7a: function(e, t, n) {
        e.exports = n.p + "img/components/d26838ce95a74dd2012d5df3d1df478f.png"
    },
    ffe0: function(e, t, n) {
        "use strict";
        n.r(t), n.d(t, "toServer", (function() {
            return a
        })), n.d(t, "fromServer", (function() {
            return r
        }));
        var o = n("14db"),
            i = n("2fa3");
        const a = {
                selectAnimation: e => {
                    Object(i["g"])(o["MODULE_ANIMATION"], "selectAnimation, " + e)
                },
                changeAnimationFavorite: (e, t) => {
                    Object(i["g"])(o["MODULE_ANIMATION"], `changeAnimationFavorite, ${e}, ${t}`)
                }
            },
            r = {}
    }
});