Untitled
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 ? " " : 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 = {} } });