{"version":3,"file":"js/app.1e5e9be4.js","mappings":"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","sources":["webpack://yucca/./src/components/YccLogo.vue?0b37","webpack://yucca/src/components/YccLogo.vue","webpack://yucca/./src/components/YccLogo.vue?0171","webpack://yucca/./src/components/YccLogo.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4674","webpack://yucca/./src/components/ycc-alert/alertCssClasses.js","webpack://yucca/src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4881","webpack://yucca/./src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?a9ee","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?a860","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?5d21","webpack://yucca/src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?7611","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/extends/PropertyError.js","webpack://yucca/src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?0a35","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?4309","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?960c","webpack://yucca/./src/components/ycc-dropdown/constants.js","webpack://yucca/src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?e67c","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?73b9","webpack://yucca/src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?f302","webpack://yucca/./src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?9b41","webpack://yucca/src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?1a4d","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/tunnel/statuses.js","webpack://yucca/./src/components/ycc-alert/names.js","webpack://yucca/./src/components/ycc-datepicker/constants.js","webpack://yucca/./src/components/ycc-player/constants.js","webpack://yucca/./src/components/ycc-player/extends/componentIds.js","webpack://yucca/./src/config/httpClient.js","webpack://yucca/./src/constants/api.js","webpack://yucca/./src/constants/errorTypes.js","webpack://yucca/./src/constants/links.js","webpack://yucca/./src/constants/main.js","webpack://yucca/./src/constants/noticeTypes.js","webpack://yucca/./src/constants/pageNames.js","webpack://yucca/./src/constants/pages.js","webpack://yucca/./src/constants/positionConstants.js","webpack://yucca/./src/extends/browserEnv.js","webpack://yucca/./src/extends/lib.js","webpack://yucca/./src/extends/StorageAdapter.js","webpack://yucca/./src/extends/storageServices.js","webpack://yucca/./src/config/yccBootConfig.js","webpack://yucca/./src/config/translations.js","webpack://yucca/./src/config/gettextOptions.js","webpack://yucca/./src/extends/YccConfigPlugin.js","webpack://yucca/./src/App.vue?432c","webpack://yucca/./src/extends/cookieService.js","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?3173","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?bb11","webpack://yucca/src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?0b67","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?2f18","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?9e18","webpack://yucca/src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?ae94","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/src/components/ycc-header/YccHeader.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?c7f5","webpack://yucca/./src/components/ycc-header/YccHeader.vue","webpack://yucca/src/components/ycc-layout/YccLayout.vue","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?078f","webpack://yucca/./src/components/ycc-layout/YccLayout.vue","webpack://yucca/src/App.vue","webpack://yucca/./src/App.vue?facb","webpack://yucca/./src/App.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?5b17","webpack://yucca/./src/extends/correctingPosition.js","webpack://yucca/src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?14d8","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/createHint.js","webpack://yucca/./src/components/ycc-hint/initHint.js","webpack://yucca/./src/config/setVueConfig.js","webpack://yucca/./src/constants/progressBarOptions.js","webpack://yucca/./src/components/ycc-datepicker/datepicker.js","webpack://yucca/./src/config/setPlugins.js","webpack://yucca/./src/main.js","webpack://yucca/./src/constants/metaForProgressLoader.js","webpack://yucca/./src/router.js","webpack://yucca/./src/store/utilities.js","webpack://yucca/./src/store/player/lib.js","webpack://yucca/./src/components/ycc-player/extends/createMarkers.js","webpack://yucca/./src/components/ycc-player/extends/ProgressBarController.js","webpack://yucca/./src/store/player/player.js","webpack://yucca/./src/store/profile/index.js","webpack://yucca/./src/store/admin/index.js","webpack://yucca/./src/store/stream/index.js","webpack://yucca/./src/store/license/index.js","webpack://yucca/./src/store/mosaic/index.js","webpack://yucca/./src/store/streams/index.js","webpack://yucca/./src/store/tunnel/index.js","webpack://yucca/./src/store/cluster/index.js","webpack://yucca/./src/store/auth/index.js","webpack://yucca/./src/store/store.js","webpack://yucca/webpack/bootstrap","webpack://yucca/webpack/runtime/chunk loaded","webpack://yucca/webpack/runtime/compat get default export","webpack://yucca/webpack/runtime/define property getters","webpack://yucca/webpack/runtime/ensure chunk","webpack://yucca/webpack/runtime/get javascript chunk filename","webpack://yucca/webpack/runtime/get mini-css chunk filename","webpack://yucca/webpack/runtime/global","webpack://yucca/webpack/runtime/hasOwnProperty shorthand","webpack://yucca/webpack/runtime/load script","webpack://yucca/webpack/runtime/make namespace object","webpack://yucca/webpack/runtime/publicPath","webpack://yucca/webpack/runtime/css loading","webpack://yucca/webpack/runtime/jsonp chunk loading","webpack://yucca/webpack/startup"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logo\",class:{'fix-height': _vm.isHeader}},[_c('img',{attrs:{\"src\":_vm.logo}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLogo.vue?vue&type=template&id=d81de4c2&scoped=true&\"\nimport script from \"./YccLogo.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLogo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccLogo.vue?vue&type=style&index=0&id=d81de4c2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d81de4c2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"alert-ycc\",class:_vm.alertCssClasses,attrs:{\"role\":\"alert\"}},[(_vm.isShowIcon)?_c('div',{staticClass:\"alert-ycc_icon\"}):_vm._e(),_c('div',{staticClass:\"alert-ycc_container\"},[(_vm.hasTitle)?_c('div',{staticClass:\"alert-ycc_title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('div',{staticClass:\"alert-ycc_content\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n ATTENTION,\n ATTENTION_DANGER,\n ATTENTION_INFO,\n ATTENTION_WARNING,\n DANGER,\n SUCCESS,\n WARNING,\n} from './names';\n\nexport default {\n [SUCCESS] : { name: `alert-ycc-${SUCCESS}`, hasIcon: false },\n [DANGER] : { name: `alert-ycc-${DANGER}`, hasIcon: false },\n [WARNING] : { name: `alert-ycc-${WARNING}`, hasIcon: false },\n [ATTENTION] : { name: `alert-ycc-${ATTENTION}`, hasIcon: true },\n [ATTENTION_INFO] : { name: `alert-ycc-${ATTENTION_INFO}`, hasIcon: true },\n [ATTENTION_WARNING]: { name: `alert-ycc-${ATTENTION_WARNING}`, hasIcon: true },\n [ATTENTION_DANGER] : { name: `alert-ycc-${ATTENTION_DANGER}`, hasIcon: true },\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccAlert.vue?vue&type=template&id=5766bb6a&scoped=true&\"\nimport script from \"./YccAlert.vue?vue&type=script&lang=js&\"\nexport * from \"./YccAlert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccAlert.vue?vue&type=style&index=0&id=5766bb6a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5766bb6a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datepicker\",staticClass:\"datepicker-ycc datepicker-ycc_calendar\",style:(_vm.datepickerStyles)},[_c('ycc-calendar',{ref:\"calendar\",attrs:{\"calendar-id\":(_vm.datepickerId + \"-calendar\"),\"range-type\":_vm.rangeType,\"lang\":_vm.lang,\"start-date\":_vm.startDate,\"number-of-month\":_vm.correctedNumberOfMonth,\"is-highlight-today\":_vm.isHighlightToday,\"is-highlight-weekend\":_vm.isHighlightWeekend,\"period\":_vm.period,\"max-range\":_vm.maxRange,\"min-allowed-date\":_vm.minAllowedDate,\"max-allowed-date\":_vm.maxAllowedDate,\"use-controls\":true,\"significant-dates\":_vm.significantDates,\"is-disabled-date\":_vm.isDisabledDate},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth,\"updated-dates\":_vm.onClickDay}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.useControls)?_c('ycc-calendar-controls',{attrs:{\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"months\":_vm.months},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth}}):_vm._e(),_c('div',{staticClass:\"calendar-ycc\",class:{'multi': _vm.isMultiRangeType}},[_c('div',{staticClass:\"months\"},_vm._l((_vm.months),function(month,key){return _c('div',{key:key,staticClass:\"month\"},[_c('div',{staticClass:\"month_header\"},[_c('div',{staticClass:\"month_title\"},[_vm._v(\" \"+_vm._s(month.monthLabel)+\" \"+_vm._s(month.yearLabel)+\" \")])]),_c('div',{staticClass:\"month_content\"},[_c('div',{staticClass:\"week-labels\"},_vm._l((_vm.weekdayLabels),function(weekdayLabel,key){return _c('div',{key:key,staticClass:\"week-labels_item\",class:_vm.highlightWeekday(key)},[_c('div',{staticClass:\"item-content\"},[_vm._v(_vm._s(weekdayLabel))])])}),0),_c('div',{staticClass:\"weeks\"},_vm._l((month.weeks),function(week,key){return _c('div',{key:key,staticClass:\"week\"},_vm._l((week),function(day,key){return _c('div',{key:key,ref:\"day\",refInFor:true,staticClass:\"week_item\",class:_vm.getDayClasses(day),attrs:{\"data-date\":day.date},on:{\"click\":function($event){$event.preventDefault();return _vm.onClickDay(day.date)}}},[_c('div',{staticClass:\"item-content\",class:day.class,style:(day.style),attrs:{\"title\":day.title}},[_vm._v(\" \"+_vm._s(day.dayNumber)+\" \")])])}),0)}),0)])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"calendar-controls\"},[_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-left\",class:{'control-disabled': _vm.isDisablePrevMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.decreaseMonth}},[_vm._v(\" keyboard_arrow_left \")]),_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-right\",class:{'control-disabled': _vm.isDisableNextMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.increaseMonth}},[_vm._v(\" keyboard_arrow_right \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendarControls.vue?vue&type=template&id=4b870656&\"\nimport script from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendarControls.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function PropertyError (property, message) {\n this.name = 'PropertyError';\n\n this.property = property;\n this.message = message;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, PropertyError);\n }\n else {\n this.stack = (new Error()).stack;\n }\n}\n\nexport default PropertyError;\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendar.vue?vue&type=template&id=ebfa4b96&\"\nimport script from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDatepickerContent.vue?vue&type=template&id=f8c6b880&\"\nimport script from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sgc-dropdown\",class:[{'open': _vm.menuState.state}],attrs:{\"id\":_vm.uniqueKey,\"disabled\":_vm.disabled},on:{\"click\":_vm.changeState}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const NOT_CLOSING = 'sgc-dropdown-not_closing';\nexport const CLOSING = 'sgc-dropdown-closing';\nexport const MENU = 'sgc-dropdown-menu';\nexport const SUBMENU = 'sgc-dropdown-submenu';\nexport const MENU_CONTENT = 'sgc-dropdown-menu-content';\nexport const SHOW = 'open';\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDropdown.vue?vue&type=template&id=dbbc7322&scoped=true&\"\nimport script from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccDropdown.vue?vue&type=style&index=0&id=dbbc7322&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dbbc7322\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"opener\",staticClass:\"hint-box-ycc_opener\",class:{'with-ellipsis': _vm.isOpenerEqualContent},attrs:{\"id\":_vm.hintId},on:{\"mouseenter\":_vm.openHint,\"mouseleave\":_vm.closeHint}},[_vm._t(\"opener\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHint.vue?vue&type=template&id=3378dbd0&\"\nimport script from \"./YccHint.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHint.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"validation\",class:_vm.validationCssClass},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s(_vm.error)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccValidationError.vue?vue&type=template&id=b00c237a&\"\nimport script from \"./YccValidationError.vue?vue&type=script&lang=js&\"\nexport * from \"./YccValidationError.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export default {\n disconnected: 'disconnected',\n connected : 'connected',\n connecting : 'connecting',\n};\n","export const SUCCESS = 'success';\nexport const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const ATTENTION = 'attention';\nexport const ATTENTION_INFO = 'attention-info';\nexport const ATTENTION_WARNING = 'attention-warning';\nexport const ATTENTION_DANGER = 'attention-danger';\n","const TYPES = {\n PERIOD: 'period',\n SINGLE: 'single',\n MULTI : 'multi',\n};\n\nconst WEEKDAY_LABELS = {\n ru: ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],\n en: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\n};\n\nconst MAX_MONTH_IN_LINE = 3;\nconst MAX_MONTH_IN_DATEPICKER = 12;\nconst BORDER_WIDTH = 1;\nconst MONTH_WIDTH = 200;\nconst ISO_DATE_FORMAT = 'YYYY-MM-DD';\n\nconst DEFAULT_STATE = {\n datepickerId : 'datepicker',\n lang : 'en',\n numberOfMonth : 3,\n rangeType : TYPES.SINGLE,\n significantDates: [],\n size : '',\n\n start : null,\n end : null,\n maxAllowedDate: null,\n maxRange : null,\n minAllowedDate: null,\n\n isHighlightToday : true,\n isHighlightWeekend: true,\n isInline : false,\n isDisabled : false,\n};\n\nconst TEXT_POSITIONS = {\n LEFT : 'left',\n RIGHT: 'right',\n};\n\nconst TEXT_POSITION_CSS_CLASSES = {\n LEFT : 'text-align-left',\n RIGHT: 'text-align-right',\n};\n\nexport {\n TYPES,\n WEEKDAY_LABELS,\n MAX_MONTH_IN_LINE,\n BORDER_WIDTH,\n MONTH_WIDTH,\n MAX_MONTH_IN_DATEPICKER,\n ISO_DATE_FORMAT,\n DEFAULT_STATE,\n TEXT_POSITIONS,\n TEXT_POSITION_CSS_CLASSES,\n};\n","const RANGE_TYPES = {\n LIVE : 'live',\n GAP : 'gap',\n FRAGMENT: 'fragment',\n};\n\nconst ANNOTATION_TYPES = {\n EVENT: 'event',\n};\n\nconst THUMB = 'thumb';\n\nconst SPEED_INDEXES = [0.25, 0.5, 1, 2, 4, 8, 16];\n\nexport {\n RANGE_TYPES,\n THUMB,\n SPEED_INDEXES,\n ANNOTATION_TYPES,\n};\n","export const getThumbId = (playerId) => `${playerId}-thumb`;\nexport const getProgressBarId = (playerId) => `${playerId}-progress`;\nexport const getCurrentDateId = (playerId) => `${playerId}-current-date`;\n","/* eslint-disable import/no-cycle */\nimport axios from 'axios';\nimport {\n ACCESS_DENIED_ERR,\n SERVER_ERR,\n SERVER_ERROR_CODES,\n SERVER_NOT_RESPONSE_ERR,\n SERVER_UNKNOWN_ERR,\n} from '@/constants/errorTypes';\nimport router from '@/router';\nimport store from '@/store/store';\n\nconst $http = axios.create();\n\n$http.interceptors.request.use(\n (config) => config,\n (error) => Promise.reject(error),\n);\n\n$http.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 404) {\n router.replace({ path: '/*' });\n }\n else if (error.response.status === 403\n && error.response.data.code !== SERVER_ERROR_CODES.QuotaReached) {\n store.dispatch('setError', {\n errorMsg : ACCESS_DENIED_ERR,\n errorName: SERVER_ERR,\n });\n }\n else if (error.response.data.code === SERVER_ERROR_CODES.AuditLogsDisabled) {\n return Promise.reject(error);\n }\n else if (error.response.status !== 401 && error.response.status !== 423) {\n store.dispatch('setError', {\n errorMsg : error.response && error.response.data\n ? error.response.data.code : SERVER_UNKNOWN_ERR,\n errorName: SERVER_ERR,\n });\n }\n }\n else if (!axios.isCancel(error)) {\n store.dispatch('setError', {\n errorMsg : SERVER_NOT_RESPONSE_ERR,\n errorName: SERVER_ERR,\n });\n }\n return Promise.reject(error);\n },\n);\n\nexport default $http;\n","export const BASE_STREAM_URL = '/v1/stream';\nexport const GETTING_STREAMS_URL = '/v1/streams';\nexport const PAUSE_STREAM_URL = `${BASE_STREAM_URL}/pause`;\nexport const RESUME_STREAM_URL = `${BASE_STREAM_URL}/resume`;\nexport const PROBE_STREAM_URL = `${BASE_STREAM_URL}/probe`;\nexport const PREVIEW_STREAM_URL = `${BASE_STREAM_URL}/preview`;\n\nexport function getArchiveUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/index.m3u8`;\n}\n\nexport function getRangesUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/ranges`;\n}\n\nexport function getArchiveStatsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/stats`;\n}\n\nexport function getAvailableDaysUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/available-days`;\n}\n\nexport function getDownloadArchiveUrl ({ streamUid }) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/download`;\n}\n\nexport function getStreamPermissionsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/permissions`;\n}\n\nexport function getStreamLogsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/logs`;\n}\n\nexport function getStreamShareUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/share`;\n}\n\nexport function getStreamInfoUrl (streamUid, isLiveOnDemand = false) {\n return isLiveOnDemand\n ? `${BASE_STREAM_URL}/${streamUid}?extend_lease=true`\n : `${BASE_STREAM_URL}/${streamUid}`;\n}\n\n\nexport const SYSTEM_SETTINGS_URL = '/v1/system/internal/ui/settings';\nexport const SYSTEM_SEARCH = '/v1/system/internal/ui/search';\nexport const UNLOCK_URL = '/v1/system/unlock';\nexport const HEALTH_URL = '/v1/system/health';\nexport const LICENSE_URL = '/v1/system/license';\nexport const SERVER_DEBUG_URL = '/v1/system/logs';\nexport const SYSTEM_STATS_URL = '/v1/system/stats';\n\n\nexport const SIGN_IN_URL = '/v1/sign-in';\nexport const SIGN_OUT_URL = '/v1/sign-out';\n\n\nexport const USER_URL = '/v1/user';\nexport const USERS_URL = '/v1/users';\n\nexport function getBlockUserUrl (login) {\n return `${USER_URL}/${login}/block`;\n}\n\nexport function getUserPermissionsUrl (login) {\n return `${USER_URL}/${login}/permissions`;\n}\n\nexport function getUnblockUserUrl (login) {\n return `${USER_URL}/${login}/unblock`;\n}\n\nexport function getSessionsUserUrl (login) {\n return `${USER_URL}/${login}/sessions`;\n}\n\nexport function getSessionUserUrl (login, tokenId) {\n return `${USER_URL}/${login}/session/${tokenId}`;\n}\n\n\nexport const PROFILE_TOKENS_URL = '/v1/tokens';\nexport const PROFILE_TOKEN_URL = '/v1/token';\n\nexport function getDeleteTokenUrl (tokenId) {\n return `${PROFILE_TOKEN_URL}/${tokenId}`;\n}\n\n\nexport const STATS_URL = '/v1/admin/stats';\nexport const CONFIG_URL = '/v1/admin/configuration';\nexport const AUDIT_LOGS_URL = '/v1/admin/audit-logs';\nexport const ANNOTATIONS_URL = '/v1/annotations';\nexport const MOSAIC_URL = '/v1/mosaic';\nexport const ALL_MOSAICS_URL = '/v1/mosaics';\n\nexport const API_VERSION_CHECK = 'https://api.yucca.app/v1/version-check';\n\n\nexport const SESSIONS_URL = '/v1/sessions';\nexport const TERMINATE_SESSIONS_URL = `${SESSIONS_URL}/terminate`;\nexport const getSessionUrlById = (id) => `/v1/session/${id}`;\n\nexport const TUNNEL_START_URL = '/v1/tunnel/start';\nexport const TUNNEL_STOP_URL = '/v1/tunnel/stop';\nexport const TUNNEL_STATUS_URL = '/v1/tunnel/status';\n\n\nexport const CLUSTER_NODES_URL = '/v1/system/cluster/nodes';\nexport const INTERNAL_NODES_URL = '/v1/system/internal/ui/nodes';\nexport const getClusterNodeUrl = (nodeId) => `/v1/system/cluster/node/${nodeId}`;\nexport const getClusterNodeDrainUrl = (nodeId) => `/v1/system/cluster/node/${nodeId}/drain`;\nexport const getClusterNodeDeleteUrl = (nodeId) => `/v1/system/cluster/node/${nodeId}`;\n\nexport const PASSWORD_SEND_RESET_URL = '/v1/password/send-reset';\nexport const PASSWORD_RESET_URL = '/v1/password/reset';\n","export const SERVER_ERR = 'SERVER_ERR';\nexport const ACCESS_DENIED_ERR = 'ACCESS_DENIED_ERR';\nexport const SERVER_UNKNOWN_ERR = 'SERVER_UNKNOWN_ERR';\nexport const SERVER_NOT_RESPONSE_ERR = 'SERVER_NOT_RESPONSE_ERR';\nexport const CREDENTIALS_ERR = 'CREDENTIALS_ERR';\nexport const STREAM_SOURCE_ERR = 'STREAM_SOURCE_ERR';\nexport const STREAM_NAME_ERR = 'STREAM_NAME_ERR';\nexport const ARCHIVE_DEPTH_ERR = 'ARCHIVE_DEPTH_ERR';\nexport const CLUSTER_NODE_ERR = 'CLUSTER_NODE_ERR';\n\nexport const SERVER_ERROR_CODES = {\n AlreadyUsed : 'AlreadyUsed',\n AuthorizationFailed : 'AuthorizationFailed',\n EnterpriseOnly : 'EnterpriseOnly',\n Forbidden : 'Forbidden',\n InternalServerError : 'InternalServerError',\n InvalidOldPassword : 'InvalidOldPassword',\n NotFound : 'NotFound',\n OldPasswordAndNewPasswordCannotBeSame: 'OldPasswordAndNewPasswordCannotBeSame',\n PasswordIsNotComplexEnough : 'PasswordIsNotComplexEnough',\n RequestDecodeError : 'RequestDecodeError',\n ResponseEncodeError : 'ResponseEncodeError',\n TimeRangeIsTooLong : 'TimeRangeIsTooLong',\n Unavailable : 'Unavailable',\n ValidationError : 'ValidationError',\n ProbeError : 'ProbeError',\n LicenseExpired : 'LicenseExpired',\n QuotaReached : 'QuotaReached',\n IncorrectLicense : 'IncorrectLicense',\n FeatureNotFound : 'FeatureNotFound',\n AuditLogsDisabled : 'AuditLogsDisabled',\n\n EHOSTUNREACH : 'EHOSTUNREACH',\n HTTP_NOT_FOUND : 'HTTP_NOT_FOUND',\n HTTP_UNAUTHORIZED: 'HTTP_UNAUTHORIZED',\n};\n","import {\n RU,\n EN,\n} from '@/constants/main';\n\nexport const BASE_LANDING_URL = 'https://yucca.app';\nexport const DOCS_LINK = 'https://docs.yucca.app';\n\n// eslint-disable-next-line import/prefer-default-export\nexport function getPricesLink (utm, lang = EN) {\n if (lang === RU) {\n return `${BASE_LANDING_URL}/ru/prices?utm_source=${utm}`;\n }\n return `${BASE_LANDING_URL}/en/prices?utm_source=${utm}`;\n}\n","import { getScrollWidth } from '@/extends/lib';\nimport PAGES from './pages';\n\nexport const VIEW_MODES_KEYS = {\n GRID : 'GRID',\n TABLE: 'TABLE',\n};\n\nexport const SORT_TYPES_KEYS = {\n DATE : 'DATE',\n NAME : 'NAME',\n LOCATION: 'LOCATION',\n};\n\nexport const GROUP_TYPES_KEYS = {\n TAG : 'TAG',\n LOCATION: 'LOCATION',\n NO_GROUP: 'NO_GROUP',\n};\n\nexport const ADMIN_TABS_KEYS = {\n STATS : PAGES.ADMIN_STATS,\n USERS : PAGES.ADMIN_USERS,\n CONFIG : PAGES.ADMIN_CONFIG,\n LICENSE : PAGES.LICENSE,\n SERVER_DEBUG: PAGES.SERVER_DEBUG,\n TUNNEL : PAGES.TUNNEL,\n CLUSTER : PAGES.ADMIN_CLUSTER,\n AUDIT_LOGS : PAGES.AUDIT_LOGS,\n};\n\nexport const STREAM_INFO_TABS_KEYS = {\n INFO : PAGES.STREAM_INFO,\n PERMISSION : PAGES.STREAM_PERMISSION,\n SETTINGS : PAGES.STREAM_SETTING,\n STREAM_DEBUG: PAGES.STREAM_DEBUG,\n};\n\nexport const USER_TABS_KEYS = {\n INFO : PAGES.USER_INFO,\n EDIT : PAGES.USER_EDIT,\n PERMISSION: PAGES.USER_PERMISSION,\n AUTH_TOKEN: PAGES.USER_AUTH_TOKEN,\n};\n\nexport const PROFILE_TABS_KEYS = {\n INFO : PAGES.PROFILE_INFO,\n EDIT : PAGES.PROFILE_EDIT,\n TOKEN : PAGES.PROFILE_TOKEN,\n AUTH_TOKEN: PAGES.PROFILE_AUTH_TOKEN,\n};\n\nexport const USER_PERMISSION_TYPES = {\n ADMIN: 'ADMIN',\n USER : 'USER',\n};\n\nexport const STREAM_PERMISSION_TYPES = {\n ADMIN: 'admin',\n EDIT : 'edit',\n VIEW : 'view',\n NONE : 'none',\n};\n\nexport const UNLIMITED = 'UNLIMITED';\n\nexport const CLUSTER_NODE_STATE = {\n alive : 'alive',\n suspect: 'suspect',\n dead : 'dead',\n left : 'left',\n unknown: 'unknown',\n};\n\nexport const ADMIN_TABS = {\n [ADMIN_TABS_KEYS.STATS] : {\n key : ADMIN_TABS_KEYS.STATS,\n icon : 'show_chart',\n label: '',\n },\n [ADMIN_TABS_KEYS.USERS] : {\n key : ADMIN_TABS_KEYS.USERS,\n icon : 'supervisor_account',\n label: '',\n },\n [ADMIN_TABS_KEYS.CONFIG] : {\n key : ADMIN_TABS_KEYS.CONFIG,\n icon : 'settings',\n label: '',\n },\n [ADMIN_TABS_KEYS.SERVER_DEBUG]: {\n key : ADMIN_TABS_KEYS.SERVER_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n [ADMIN_TABS_KEYS.LICENSE] : {\n key : ADMIN_TABS_KEYS.LICENSE,\n icon : 'card_membership',\n label: '',\n },\n [ADMIN_TABS_KEYS.TUNNEL] : {\n key : ADMIN_TABS_KEYS.TUNNEL,\n icon : 'public',\n label: '',\n },\n [ADMIN_TABS_KEYS.CLUSTER] : {\n key : ADMIN_TABS_KEYS.CLUSTER,\n icon : 'device_hub',\n label: '',\n },\n [ADMIN_TABS_KEYS.AUDIT_LOGS] : {\n key : ADMIN_TABS_KEYS.AUDIT_LOGS,\n icon : 'format_list_bulleted',\n label: '',\n },\n};\n\nexport const STREAM_INFO_TABS = {\n [STREAM_INFO_TABS_KEYS.INFO] : {\n key : STREAM_INFO_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.PERMISSION] : {\n key : STREAM_INFO_TABS_KEYS.PERMISSION,\n icon : 'security',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.SETTINGS] : {\n key : STREAM_INFO_TABS_KEYS.SETTINGS,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.STREAM_DEBUG]: {\n key : STREAM_INFO_TABS_KEYS.STREAM_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n};\n\nexport const USER_TABS = {\n [USER_TABS_KEYS.INFO] : {\n key : USER_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.PERMISSION]: {\n key : USER_TABS_KEYS.PERMISSION,\n icon : 'security',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.EDIT] : {\n key : USER_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.AUTH_TOKEN]: {\n key : USER_TABS_KEYS.AUTH_TOKEN,\n icon : 'devices',\n label : '',\n disabled: false,\n },\n};\n\nexport const PROFILE_TABS = {\n [PROFILE_TABS_KEYS.INFO] : {\n key : PROFILE_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.TOKEN] : {\n key : PROFILE_TABS_KEYS.TOKEN,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.EDIT] : {\n key : PROFILE_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.AUTH_TOKEN]: {\n key : PROFILE_TABS_KEYS.AUTH_TOKEN,\n icon : 'devices',\n label : '',\n disabled: false,\n },\n};\n\nexport const VIEW_MODES = {\n [VIEW_MODES_KEYS.GRID] : {\n key : 'GRID',\n class: 'grid-mode',\n icon : 'view_module',\n },\n [VIEW_MODES_KEYS.TABLE]: {\n key : 'TABLE',\n class: 'table-mode',\n icon : 'view_list',\n },\n};\n\nexport const SORT_TYPES = {\n [SORT_TYPES_KEYS.DATE] : {\n key : 'DATE',\n icon: '',\n },\n [SORT_TYPES_KEYS.NAME] : {\n key : 'NAME',\n icon: '',\n },\n [SORT_TYPES_KEYS.LOCATION]: {\n key : 'LOCATION',\n icon: '',\n },\n};\n\nexport const GROUP_TYPES = {\n [GROUP_TYPES_KEYS.TAG] : {\n key : GROUP_TYPES_KEYS.TAG,\n icon: 'label',\n },\n [GROUP_TYPES_KEYS.NO_GROUP]: {\n key : GROUP_TYPES_KEYS.NO_GROUP,\n icon: 'label_outline',\n },\n};\n\nexport const STREAM_STATUS = {\n RUNNING : 'running',\n PENDING : 'pending',\n PAUSED : 'paused',\n CANCELED: 'canceled',\n STOPPED : 'stopped',\n FAILED : 'failed',\n};\n\nexport const PLAYER_VIEW_MODES = {\n LIVE : 'LIVE',\n ARCHIVE: 'ARCHIVE',\n};\n\nexport const USER_ACCESSES = {\n active : 'active',\n blocked: 'blocked',\n};\n\nexport const MOVE_TIME = 200;\nexport const PANEL_SIZE = 45;\nexport const DEFAULT_DEPTH = 168;\nexport const DEFAULT_PLAYLIST_DURATION = 600;\nexport const EN = 'en';\nexport const EN_US = 'en-us';\nexport const RU = 'ru';\nexport const UK = 'uk';\nexport const ES = 'es';\nexport const PT = 'pt';\nexport const TR = 'tr';\n\nexport const SORTING_TYPES = {\n desc : 'desc',\n asc : 'asc',\n nonSort: 'nonSort',\n};\n\nexport const LANG_MAP = {\n [EN_US]: EN,\n [EN] : EN,\n [RU] : RU,\n [UK] : UK,\n [ES] : ES,\n [PT] : PT,\n [TR] : TR,\n};\n\nexport const PERMISSION_OBJECTS = {\n USER: 'USER',\n TEAM: 'TEAM',\n};\n\nexport const COLORS = {\n dark : '#4b4d64',\n stone: '#666',\n wolf : '#999',\n};\n\nexport const BREAKPOINTS_720 = 720;\n\nexport const SCROLL_WIDTH = getScrollWidth();\n\nexport const FEATURES = {\n cluster : 'Cluster',\n auditLogs : 'AuditLogs',\n branding : 'Branding',\n personalTokens: 'PersonalTokens',\n users : 'Users',\n streamShare : 'StreamShare',\n tunnel : 'Tunnel',\n teams : 'Teams',\n notification : 'Notification',\n quota : 'Quota',\n streamAcl : 'StreamAcl',\n gateway : 'Gateway',\n};\n\nexport const LIMITS = {\n clusterSize : 'cluster_size',\n gatewayFreeLimit: 'gateway_free_limit',\n userLimit : 'user_limit',\n};\n\nexport const PRODUCTS = {\n plus : 'Plus',\n enterprise: 'Enterprise',\n trial : 'Trial',\n};\n\nexport const LOCALS = {\n RU: 'ru',\n NL: 'nl',\n FEATURES,\n LIMITS,\n};\n\nexport const CLUSTER_ROLES = {\n member : 'member',\n leader : 'leader',\n pretender: 'pretender',\n unknown : 'unknown',\n};\n","export const PROFILE_UPDATED_NOTICE = 'PROFILE_UPDATED_NOTICE';\nexport const USER_SAVED_NOTICE = 'USER_SAVED_NOTICE';\nexport const USER_BLOCKED_NOTICE = 'USER_BLOCKED_NOTICE';\nexport const USER_UNBLOCKED_NOTICE = 'USER_UNBLOCKED_NOTICE';\nexport const STREAM_DELETED_NOTICE = 'STREAM_DELETED_NOTICE';\nexport const STREAM_INFO_SAVED_NOTICE = 'STREAM_INFO_SAVED_NOTICE';\n\nexport const RECOVERY_CODE_SENT = 'RECOVERY_CODE_SENT';\nexport const PASSWORD_CHANGED = 'PASSWORD_CHANGED';\n","import pages from './pages';\n\nexport default function pageNames ($gettext = (text) => text) {\n return {\n [pages.ADD_STREAM] : $gettext('Add stream'),\n [pages.ADMIN] : $gettext('Administration'),\n [pages.ADMIN_USERS] : $gettext('Users'),\n [pages.ADMIN_CONFIG] : $gettext('Configuration'),\n [pages.ADMIN_STATS] : $gettext('Statistics'),\n [pages.ADMIN_CLUSTER] : $gettext('Cluster'),\n [pages.ALL_STREAMS] : $gettext('Streams'),\n [pages.AUTH] : $gettext('Authorization'),\n [pages.RECOVER_PASSWORD] : $gettext('Recover password'),\n [pages.BOOKMARKS] : $gettext('Bookmarks'),\n [pages.HELP] : $gettext('Help'),\n [pages.INIT] : $gettext('Server initialization'),\n [pages.NOT_FOUND] : $gettext('Page not found'),\n [pages.PROFILE] : $gettext('My profile'),\n [pages.PROFILE_TOKEN] : $gettext('My tokens'),\n [pages.PROFILE_INFO] : $gettext('My profile'),\n [pages.PROFILE_EDIT] : $gettext('My profile'),\n [pages.STREAM] : $gettext('Stream'),\n [pages.STREAM_PERMISSION] : $gettext('Stream permissions'),\n [pages.STREAM_SETTING] : $gettext('Stream settings'),\n [pages.STREAM_INFO] : $gettext('Stream info'),\n [pages.SETTINGS] : $gettext('Settings'),\n [pages.USER] : $gettext('User profile'),\n [pages.USER_INFO] : $gettext('User profile'),\n [pages.USER_EDIT] : $gettext('Edit user'),\n [pages.USER_PERMISSION] : $gettext('User permission'),\n [pages.USER_ADD] : $gettext('Add user'),\n [pages.LICENSE] : $gettext('License'),\n [pages.SERVER_DEBUG] : $gettext('Server debug'),\n [pages.STREAM_DEBUG] : $gettext('Stream debug'),\n [pages.CREATE_MOSAIC] : $gettext('Create mosaic'),\n [pages.WATCH_MOSAIC] : $gettext('Mosaic'),\n [pages.ALL_MOSAICS] : $gettext('Mosaics'),\n [pages.PROFILE_AUTH_TOKEN]: $gettext('Sessions'),\n [pages.USER_AUTH_TOKEN] : $gettext('Sessions'),\n [pages.TUNNEL] : $gettext('Tunnel'),\n [pages.AUDIT_LOGS] : $gettext('Audit logs'),\n };\n}\n","export default {\n ADD_STREAM : 'add-stream',\n ADMIN : 'admin',\n ADMIN_STATS : 'admin-stats',\n ADMIN_CONFIG : 'admin-config',\n ADMIN_USERS : 'admin-users',\n ADMIN_CLUSTER : 'admin-cluster',\n SERVER_DEBUG : 'server-debug',\n ALL_STREAMS : 'streams',\n AUTH : 'auth',\n RECOVER_PASSWORD : 'recover-password',\n BOOKMARKS : 'bookmarks',\n HELP : 'help',\n INIT : 'init',\n NOT_FOUND : 'not-found',\n PROFILE : 'profile',\n PROFILE_INFO : 'profile-info',\n PROFILE_EDIT : 'profile-edit',\n PROFILE_TOKEN : 'profile-token',\n PROFILE_AUTH_TOKEN: 'profile-auth-token',\n STREAM : 'stream',\n STREAM_VIEW : 'stream-view',\n STREAM_INFO : 'stream-info',\n STREAM_SETTING : 'stream-setting',\n STREAM_PERMISSION : 'stream-permission',\n STREAM_DEBUG : 'stream-debug',\n SETTINGS : 'settings',\n USER : 'user',\n USER_ADD : 'user-add',\n USER_INFO : 'user-info',\n USER_EDIT : 'user-edit',\n USER_PERMISSION : 'user-permission',\n USER_AUTH_TOKEN : 'user-auth-token',\n LICENSE : 'license',\n CREATE_MOSAIC : 'create-mosaic',\n WATCH_MOSAIC : 'watch-mosaic',\n EDIT_MOSAIC : 'edit-mosaic',\n ALL_MOSAICS : 'mosaics',\n TUNNEL : 'tunnel',\n AUDIT_LOGS : 'audit-logs',\n};\n","const TOP = 'top';\nconst TOP_LTR = 'top-ltr';\nconst TOP_RTL = 'top-rtl';\nconst TOP_CENTER = 'top-center';\nconst BOTTOM = 'bottom';\nconst BOTTOM_LTR = 'bottom-ltr';\nconst BOTTOM_RTL = 'bottom-rtl';\nconst BOTTOM_CENTER = 'bottom-center';\nconst LEFT = 'left';\nconst RIGHT = 'right';\n\nexport {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n};\n","/* eslint-disable no-undef */\n\n// Browser environment sniffing\nconst inBrowser = typeof window !== 'undefined';\nconst inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nconst weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nconst UA = inBrowser && window.navigator.userAgent.toLowerCase();\nconst isEdge = UA && UA.indexOf('edge/') > 0;\nconst isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nconst isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nconst isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nconst isPhantomJS = UA && /phantomjs/.test(UA);\nconst isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\nfunction isSafari () {\n const userAgent = navigator.userAgent.toLowerCase();\n\n if (userAgent.indexOf('safari') !== -1) {\n return userAgent.indexOf('chrome') <= -1;\n }\n return false;\n}\n\nfunction iOSVersion () {\n if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {\n if (window.indexedDB) {\n return 'iOS 8 and up';\n }\n if (window.SpeechSynthesisUtterance) {\n return 'iOS 7';\n }\n if (window.webkitAudioContext) {\n return 'iOS 6';\n }\n if (window.matchMedia) {\n return 'iOS 5';\n }\n if (!!window.history && 'pushState' in window.history) {\n return 'iOS 4';\n }\n return 'iOS 3 or earlier';\n }\n\n return null;\n}\n\nconst isMobile = isAndroid || isIOS;\n\nconst isMediaAtLeast720 = () => window.matchMedia('(min-width: 720px)').matches;\n\nexport {\n isEdge,\n isAndroid,\n isIOS,\n isChrome,\n isPhantomJS,\n isFF,\n isSafari,\n iOSVersion,\n isMobile,\n isMediaAtLeast720,\n};\n","import dayjs from 'dayjs';\n\nconst DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss';\n\n// Вычислить размеры фрагментов и пропусков\nexport function getFragmentWidth (start, end, duration) {\n return ((end - start) * 100) / duration;\n}\n\nexport function getCoords (elem) {\n const box = elem.getBoundingClientRect();\n return {\n top : box.top + window.pageYOffset,\n left : box.left + window.pageXOffset,\n width : box.width,\n height: box.height,\n };\n}\n\n/* eslint-disable */\nexport function getElementUnderClientXY (elem, clientX, clientY) {\n const display = elem.style.display || '';\n elem.style.display = 'none';\n\n let target = document.elementFromPoint(clientX, clientY);\n\n elem.style.display = display;\n\n if (!target || target === document) { // это бывает при выносе за границы окна\n target = document.body; // поправить значение, чтобы был именно элемент\n }\n\n return target;\n}\n\nexport function getElemFromPoint (clientX, clientY) {\n return document.elementFromPoint(clientX, clientY);\n}\n\nexport function formatDate (date, formatType = 'll', language = 'ru') {\n const formatsMap = {\n lll: 'D MMM YYYY, HH:mm',\n ll : 'D MMM YYYY',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LT : 'HH:mm',\n };\n const format = formatsMap[formatType] || formatType;\n\n dayjs.locale(language);\n\n const monthLetters = dayjs(date).format('MMMM').split('');\n const month = `${monthLetters[0].toUpperCase()}${monthLetters[1]}${monthLetters[2]}`;\n const DMMMYYYY = `${dayjs(date).format('D')} ${month} ${dayjs(date).format('YYYY')}`;\n const MMMDD = `${month} ${dayjs(date).format('DD')}`;\n const HHmmss = dayjs(date, DATE_FORMAT).format('HH:mm:ss');\n\n switch (format) {\n case 'D MMM':\n return `${dayjs(date).format('D')} ${month}`;\n case 'MMM DD':\n return MMMDD;\n case 'DD MMM, HH:mm':\n return `${dayjs(date).format('D')} ${month}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'D MMM YYYY':\n return DMMMYYYY;\n case 'D MMM YYYY, HH:mm':\n return `${DMMMYYYY}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'HH:mm:ss, MMM DD':\n return `${HHmmss}, ${MMMDD}`;\n case 'HH:mm:ss, MMM DD, YYYY':\n return `${HHmmss}, ${MMMDD}, ${dayjs(date).format('YYYY')}`;\n default:\n return dayjs(date, DATE_FORMAT).format(format);\n }\n}\n\nexport const convertDateToSeconds = (date) => {\n return new Date(date).getTime() / 1000;\n};\n\nexport function getCookie (name) {\n let matches = document.cookie.match(new RegExp(\n '(?:^|; )' + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)',\n ));\n return matches ? decodeURIComponent(matches[1]) : undefined;\n}\n\nexport function setCookie (name, value, options = {}) {\n options = {\n path: '/',\n ...options,\n };\n\n if (options.expires && options.expires.toUTCString) {\n options.expires = options.expires.toUTCString();\n }\n\n let updatedCookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n\n for (let optionKey in options) {\n updatedCookie += '; ' + optionKey;\n let optionValue = options[optionKey];\n if (optionValue !== true) {\n updatedCookie += '=' + optionValue;\n }\n }\n\n document.cookie = updatedCookie;\n}\n\nexport function deleteCookie (name) {\n setCookie(name, '', {\n 'max-age': -1,\n });\n}\n\nexport function getWrapHeight (selector) {\n const { clientHeight } = document.documentElement;\n const authWrapHeight = document.querySelector(selector) ? document.querySelector(selector).clientHeight : 0;\n\n return authWrapHeight >= clientHeight ? 'auto' : '100%';\n}\n\nexport function yccScrollTo (elem) {\n const top = elem.getBoundingClientRect().y;\n\n if (top !== 0) {\n window.scrollTo({\n top : top + window.pageYOffset - 60,\n behavior: 'smooth',\n });\n }\n}\n\n/**\n * Получить порядковый номер символа в строке\n * @param str\n * @param symbol\n * @returns {null}\n */\nexport function getIndexSymbol (str, symbol) {\n let indexSymbol = null;\n\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) === symbol) {\n indexSymbol = i;\n }\n }\n return indexSymbol;\n}\n\nfunction getChar (event, isNumber = false) {\n if (event.which === null) {\n if (event.keyCode < 32 || (isNumber && event.keyCode < 48)) {\n return null;\n }\n return String.fromCharCode(event.keyCode); // IE\n }\n\n if (event.which !== 0 && event.charCode !== 0) {\n if (event.which < 32 || (isNumber && event.which < 48)) {\n return null;\n }\n return String.fromCharCode(event.which); // остальные\n }\n\n return null; // специальная клавиша\n}\n\nexport function validate (event, isNumber = false) {\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return;\n }\n\n let chr = getChar(event, isNumber);\n\n if (chr === null) {\n return;\n }\n\n if (chr < '0' || chr > '9') {\n event.preventDefault();\n }\n}\n\nexport function cloneObjDeep (obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport function getScrollWidth () {\n // Creating invisible container\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll'; // forcing scrollbar to appear\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n // Creating inner element and placing it in the container\n const inner = document.createElement('div');\n outer.appendChild(inner);\n\n // Calculating difference between container's full width and the child width\n const scrollbarWidth = (outer.offsetWidth - inner.offsetWidth);\n\n // Removing temporary elements from the DOM\n outer.parentNode.removeChild(outer);\n\n return scrollbarWidth;\n}\n\nexport function isChildElem ({ className, elem, modalId }) {\n function findElements (selector) {\n return document.querySelectorAll(selector);\n }\n\n if (className && elem.classList.contains(className)) {\n return true;\n }\n\n let selector = '';\n if (className.length > 0) {\n selector = `.${className}`;\n }\n const notClosingElements = findElements(`#${modalId} ${selector} *`);\n for (let i = 0; i < notClosingElements.length; i++) {\n if (elem === notClosingElements[i]) {\n return true;\n }\n }\n return false;\n}\n\nexport function getSortingDirection (sortingType) {\n if (sortingType === 'desc') {\n return -1;\n }\n return 1;\n}\n\nexport function showServerSwitcher () {\n app.serverSwitcher();\n}\n","const isExist = (value) => value !== null && value !== undefined;\n\nexport default class StorageAdapter {\n constructor ({ itemName, isPrimitive }, storage = localStorage) {\n this.itemName = itemName;\n this.isPrimitive = isPrimitive;\n this.storage = storage || null;\n }\n\n getCorrectValue = (value, isPrimitive, correctionFunc) => isPrimitive ? value : correctionFunc(value);\n\n getItem () {\n return this.storage.getItem(this.itemName)\n ? this.getCorrectValue(this.storage.getItem(this.itemName), this.isPrimitive, JSON.parse)\n : null;\n }\n\n setItem (value) {\n if (isExist(value)) {\n this.storage.setItem(this.itemName, this.getCorrectValue(value, this.isPrimitive, JSON.stringify));\n }\n }\n\n removeItem () {\n this.storage.removeItem(this.itemName);\n }\n}\n","import StorageAdapter from '@/extends/StorageAdapter';\n\nconst destinationPageStorage = new StorageAdapter({\n itemName : 'destinationPage',\n isPrimitive: false,\n}, sessionStorage);\n\nclass WarningStorage extends StorageAdapter {\n constructor () {\n super({\n itemName : 'warnings',\n isPrimitive: false,\n });\n\n this.keepingTime = 7 * 24 * 60 * 60 * 1000;\n\n if (!this.getItem()) {\n this.setItem({});\n }\n else {\n this.clearExpiredWarnings();\n }\n }\n\n setWarning (warningCode) {\n const warnings = this.getItem();\n warnings[warningCode] = (new Date(Date.now() + this.keepingTime)).toISOString();\n this.setItem(warnings);\n }\n\n getWarnings () {\n return Object.keys(this.getItem());\n }\n\n static isExpired (warningCode, warnings) {\n return warnings[warningCode] <= (new Date()).toISOString();\n }\n\n clearExpiredWarnings () {\n const warnings = this.getItem() || {};\n\n Object.keys(warnings).forEach((warningCode) => {\n if (WarningStorage.isExpired(warningCode, warnings)) {\n delete warnings[warningCode];\n }\n });\n\n this.setItem(warnings);\n }\n}\n\nconst warningsStorage = new WarningStorage();\n\nexport {\n destinationPageStorage,\n warningsStorage,\n};\n","import {\n LANG_MAP,\n EN,\n LOCALS,\n} from '@/constants/main';\nimport {\n DOCS_LINK,\n BASE_LANDING_URL,\n} from '@/constants/links';\n\nclass YuccaBootConfig {\n constructor (\n {\n isEnterprise,\n isLocked,\n prober,\n revision,\n version,\n appTitle,\n appLogo,\n defaultLanguage,\n archiveDownloadMaxSeconds,\n playlistMaxSeconds,\n rangesMaxSeconds,\n isLicenseExpired,\n archiveMaxDepthHours,\n smtpServerEnabled,\n smtpServerHost,\n smtpServerProtected,\n smtpServerPort,\n documentation,\n site,\n features,\n passwordResetAllowed,\n tunnelLocations,\n productType,\n clusterEnabled,\n nodeID,\n },\n {\n language,\n },\n ) {\n this.isEnterprise = isEnterprise || false;\n this.isLocked = isLocked || false;\n this.prober = prober || false;\n this.revision = revision || '';\n this.version = version || '';\n this.appTitle = appTitle || 'Yucca';\n this.appLogo = appLogo || '';\n this.defaultLanguage = LANG_MAP[defaultLanguage] || EN;\n this.language = LANG_MAP[language] || this.defaultLanguage;\n this.isLicenseExpired = isLicenseExpired || false;\n this.archiveMaxDepthHours = archiveMaxDepthHours || -1;\n this.smtpServerEnabled = smtpServerEnabled || true;\n this.smtpServerHost = smtpServerHost || '';\n this.smtpServerPort = smtpServerPort || '';\n this.smtpServerProtected = smtpServerProtected || false;\n this.documentation = documentation || DOCS_LINK;\n this.site = site || BASE_LANDING_URL;\n this.features = features || {};\n this.passwordResetAllowed = passwordResetAllowed || false;\n this.tunnelLocations = tunnelLocations || [LOCALS.RU];\n this.productType = productType || '';\n this.clusterEnabled = clusterEnabled || false;\n this.nodeId = nodeID || null;\n\n this.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds || 3600;\n this.playlistMaxSeconds = playlistMaxSeconds || 604800;\n this.rangesMaxSeconds = rangesMaxSeconds || 10800;\n }\n}\n\nconst yccBootConfig = window.YUCCA_BOOT_DATA\n ? new YuccaBootConfig(window.YUCCA_BOOT_DATA.settings, window.YUCCA_BOOT_DATA.user)\n : null;\n\nexport {\n YuccaBootConfig,\n yccBootConfig,\n};\n","import translations from '../assets/lang/json/translations.json';\n\nconst en = {};\nconst ru = {\n ...translations.ru,\n};\nconst uk = {\n ...translations.uk,\n};\nconst es = {\n ...translations.es,\n};\nconst pt = {\n ...translations.pt,\n};\nconst tr = {\n ...translations.tr,\n};\n\nexport default {\n en,\n ru,\n uk,\n es,\n pt,\n tr,\n};\n","import {\n EN,\n RU,\n UK,\n ES,\n PT,\n TR,\n} from '@/constants/main';\nimport translations from './translations';\n\nexport default function gettextOptions (lang) {\n return {\n translations,\n availableLanguages: {\n [EN]: 'English',\n [RU]: 'Русский',\n [UK]: 'Українська',\n [ES]: 'Español',\n [PT]: 'Português',\n [TR]: 'Türkçe',\n },\n defaultLanguage : lang || EN,\n silent : true,\n };\n}\n","/* eslint-disable no-param-reassign */\nimport { formatDate } from './lib';\n\nexport default {\n install (Vue, options) {\n Vue.prototype.$yccConfig = options.config;\n\n Vue.prototype.$isDebug = options.isDebug;\n\n Vue.prototype.$setDocumentTitle = (titles = []) => {\n if (document) {\n if (titles.length > 0) {\n document.title = `${titles.join(' ')} - ${options.config.appTitle || 'Yucca'}`;\n }\n else {\n document.title = `${options.config.appTitle || 'Yucca'}`;\n }\n }\n };\n\n Vue.prototype.$appLogo = options.config.appLogo;\n\n Vue.$setLanguage = (lang) => {\n Vue.prototype.$yccConfig.language = lang;\n };\n\n Vue.prototype.$formatDate = (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n };\n Vue.filter('formatDate', (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n });\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('ycc-layout',{attrs:{\"is-fix-content\":_vm.isFixContent,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-close-aside-outside\":_vm.isFixContent,\"is-auth-or-init-page\":_vm.isAuthOrInitPage,\"is-license-expired\":_vm.isLicenseExpired,\"is-empty-route\":_vm.isEmptyRoute,\"is-open-aside\":_vm.isOpenAside,\"warnings\":_vm.warnings,\"tabs\":_vm.tabs},on:{\"changed-header-height\":_vm.updateHeaderHeight,\"changed-aside-state\":_vm.updateAsideState,\"logout\":_vm.logout},scopedSlots:_vm._u([{key:\"content\",fn:function(){return [_c('router-view')]},proxy:true}])}),_c('vue-progress-bar',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isAuthOrInitPage),expression:\"!isAuthOrInitPage\"}]}),_c('datepicker')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getCookie } from '@/extends/lib';\n\nexport default class CookieService {\n static getDeviceOs () {\n return getCookie('device_os');\n }\n\n static getShowServerSwitcher () {\n const cookie = getCookie('show_server_switcher');\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout\"},[(_vm.isShowHeader)?_c('div',{ref:\"layoutHeader\",staticClass:\"layout-header\"},[(_vm.shownWarnings.length > 0)?_c('ycc-alert',{staticClass:\"layout-warning\",attrs:{\"name\":_vm.WARNING}},_vm._l((_vm.shownWarnings),function(warning,index){return _c('div',{key:index,staticClass:\"layout-warning_content\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(warning.message)}}),(!warning.strict)?_c('button',{staticClass:\"btn-ycc-clean-big\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideWarning(warning.code)}}}):_vm._e()])}),0):_vm._e(),(_vm.isVisibleLicenseAlert)?_c('ycc-alert',{attrs:{\"name\":_vm.DANGER}},[_c('div',{staticClass:\"validation validation-error\"},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s((_vm.licenseStateTitle + \" \" + _vm.licenseStateDescription))+\" \"),_c('router-link',{staticClass:\"btn-ycc-link\",attrs:{\"to\":{name: _vm.PAGES.LICENSE}}},[_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upload a license\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"for unlock.\")])],1)])]):_vm._e(),_c('ycc-header',{on:{\"logout\":_vm.logout,\"toggled-aside\":_vm.toggleAside}})],1):_vm._e(),_c('div',{staticClass:\"layout-main\",class:[_vm.layoutMainClasses, {'visible': _vm.hasAside}]},[_c('div',{staticClass:\"layout-aside\",style:(_vm.layoutAsideStyle)},[_c('div',{staticClass:\"aside\",class:{open: _vm.isOpenAside}},[_c('div',{staticClass:\"aside-content\"},[_c('ycc-toolbar',{attrs:{\"page\":_vm.$route.name,\"tabs\":_vm.tabs,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-open-aside\":_vm.isOpenAside}})],1)])]),_c('div',{staticClass:\"layout-content\",style:({'padding-top': (_vm.headerHeight + \"px\")})},[_vm._t(\"content\")],2)]),(_vm.isEmptyRoute)?_c('div',{staticClass:\"loading-page\",attrs:{\"loading\":_vm.isEmptyRoute,\"element-loading-text\":'Page loading...',\"element-loading-spinner\":'el-icon-loading',\"element-loading-background\":'#fff'}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toolbar\"},[_c('div',{staticClass:\"toolbar_general\"},[_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ALL_STREAMS)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"videocam\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"All streams\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" All streams \")])])],1)],1),(!_vm.isReadOnlyProfile)?_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ADD_STREAM)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"Add stream\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" Add stream \")])])],1)],1):_vm._e()]),(_vm.tabs)?_c('ul',_vm._l((_vm.tabs),function(tab){return _c('li',{key:tab.key,staticClass:\"toolbar-item\"},[_c('router-link',{staticClass:\"link-ycc\",class:{'disabled': tab.disabled},attrs:{\"to\":{ name: tab.link, params: tab.params }}},[_c('span',{staticClass:\"toolbar-item_icon\"},[(tab.icon)?_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(tab.icon))])]):_vm._e()]),_c('span',{staticClass:\"toolbar-item_title\"},[_vm._v(_vm._s(tab.label))])])],1)}),0):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccToolbar.vue?vue&type=template&id=4acc4464&\"\nimport script from \"./YccToolbar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccToolbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"layout-header-aside-item\",on:{\"click\":_vm.toggleAside}},[_vm._m(0)]),_c('div',{staticClass:\"header-nav\"},[_c('router-link',{staticClass:\"header-item header-logo link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"header-logo\",class:{'ycc-logo-height': !_vm.hasAppLogo}},[_c('ycc-logo',{attrs:{\"is-header\":true}})],1)]),(!_vm.isReadOnly)?[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'addStream',\"hint\":_vm.addingStreamTitle,\"position\":'bottom'},scopedSlots:_vm._u([{key:\"opener\",fn:function(){return [_c('router-link',{staticClass:\"header-item link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{staticClass:\"header-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])])])]},proxy:true}],null,false,768769152)})]:_vm._e()],2),_c('div',{staticClass:\"header-action\"},[(_vm.isStreamPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'streamView',\"hint\":_vm.streamName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.STREAM_VIEW)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.STREAM_VIEW, params: _vm.streamRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.streamName)+\" \")])],1)]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'streamInfo',\"hint\":_vm.streamSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isStreamInfoPage},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.STREAM_INFO, params: _vm.streamRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"info\")])])])],1)],1):(_vm.isMosaicPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'mosaicWatch',\"hint\":_vm.mosaicName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.WATCH_MOSAIC)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.WATCH_MOSAIC, params: _vm.mosaicRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.mosaicName)+\" \")])],1)]),(_vm.mosaic && _vm.mosaic.meta && _vm.mosaic.meta.canAdmin)?_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'mosaicInfo',\"hint\":_vm.mosaicSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.EDIT_MOSAIC)},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.EDIT_MOSAIC, params: _vm.mosaicRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"settings\")])])])],1):_vm._e()],1):(_vm.isAllStreamsPage)?_c('div',{staticClass:\"header-action_streams\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'grouping',\"hint\":_vm.getGroupLabel(_vm.groupType),\"position\":'bottom'}},[(_vm.groupType)?_c('span',{staticClass:\"header-item\",class:{'text-ycc-active': _vm.groupType === _vm.GROUP_TYPES.TAG.key},attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.groupStreams()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.GROUP_TYPES[_vm.groupType].icon))])]):_vm._e()]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'viewMode',\"hint\":_vm.viewModeTitle,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.changeViewMode()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.VIEW_MODES[_vm.viewModeKey].icon))])])]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'availabilityStreams',\"hint\":_vm.availableStreamsInfo.title,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.toggleShowingAvailable()}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc\",class:{'text-ycc-success': _vm.isShownAvailableStreams}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.availableStreamsInfo.icon))])])])])],1):_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'pageTitle',\"hint\":_vm.pageTitle,\"position\":'bottom'}},[_c('div',{staticClass:\"header-page-title\",attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_vm._v(\" \"+_vm._s(_vm.pageTitle)+\" \")])])],1)]),_c('ycc-header-menu',{attrs:{\"version\":_vm.version,\"is-admin\":_vm.isAdmin,\"id\":(\"menu-\" + (_vm.$language.current)),\"documentation-link\":_vm.$yccConfig.documentation,\"isShowServerSwitcher\":_vm.isShowServerSwitcher},on:{\"logout\":_vm.logout}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-item_content\"},[_c('div',{staticClass:\"aside-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"menu\")])])])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-menu\"},[_c('ycc-dropdown',{staticClass:\"header-item\",attrs:{\"unique-key\":_vm.id}},[_c('div',{staticClass:\"header-menu_button sgc-dropdown-toggle\",attrs:{\"title\":\"More\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"more_vert\")])])]),_c('ul',{staticClass:\"sgc-dropdown-menu menu-ycc rtl\"},[_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.PROFILE}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"account_circle\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Profile\")])])],1),(_vm.isAdmin)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.ADMIN}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"assignment\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Administration\")])])],1):_vm._e(),(_vm.isShowServerSwitcher)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('button',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.showServerSwitcher}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"swap_horiz\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Switch server\")])])]):_vm._e(),(!_vm.isEnterprise)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":_vm.getPricesLink('yucca-header-menu', _vm.$language.current),\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"trending_up\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upgrade\")])])]):_vm._e(),(_vm.documentationLink)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item row-ycc-center\",attrs:{\"href\":_vm.documentationLink,\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"help\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"margin-right-5\"},[_vm._v(\"Documentation\")]),_c('span',{staticClass:\"material-icons open-in-new\"},[_vm._v(\"open_in_new\")])])]):_vm._e(),(_vm.isAdmin)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item row-ycc-center\",attrs:{\"href\":\"/ui/swagger\",\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"developer_mode\")])]),_c('span',{staticClass:\"margin-right-5\"},[_vm._v(_vm._s(_vm.$gettext('API documentation')))])])]):_vm._e(),_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"exit_to_app\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Logout\")])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeaderMenu.vue?vue&type=template&id=9ef83214&scoped=true&\"\nimport script from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHeaderMenu.vue?vue&type=style&index=0&id=9ef83214&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ef83214\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeader.vue?vue&type=template&id=a239c4de&\"\nimport script from \"./YccHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLayout.vue?vue&type=template&id=5640b866&\"\nimport script from \"./YccLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLayout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1ccbbaea&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=1ccbbaea&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ccbbaea\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hint-ycc popover-ycc-container\",class:_vm.popoverYccCssClasses,style:(_vm.hintYccInlineStyle)},[_c('div',{ref:\"popover\",staticClass:\"popover-ycc\"},[_c('div',{staticClass:\"popover-ycc_content\",domProps:{\"innerHTML\":_vm._s(_vm.hint)}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n} from '@/constants/positionConstants';\nimport { SCROLL_WIDTH } from '@/constants/main';\n\nconst positions = {\n RTL : 'rtl',\n LTR : 'ltr',\n CENTER: 'center',\n TOP : 'top',\n BOTTOM: 'bottom',\n};\n\nexport default class CorrectingPosition {\n constructor ({ position, contentWidth = null }) {\n this.contentWidth = contentWidth;\n this.position = null;\n this.positionsArr = null;\n this.basePosition = null;\n this.horizontalPosition = null;\n this.documentWidth = document.documentElement.clientWidth;\n this.documentHeight = window.getComputedStyle(document.body).position === 'static'\n || window.getComputedStyle(document.body).position === ''\n ? document.documentElement.clientHeight\n // eslint-disable-next-line max-len\n : Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);\n this.setPosition(position);\n }\n\n get ltrPositionClass () {\n return this.position === TOP ? TOP_LTR : BOTTOM_LTR;\n }\n\n get rtlPositionClass () {\n return this.position === TOP ? TOP_RTL : BOTTOM_RTL;\n }\n\n setPosition (position) {\n this.position = position || BOTTOM_LTR;\n this.positionsArr = position.split('-');\n this.basePosition = this.positionsArr[0];\n this.horizontalPosition = this.positionsArr[1] ? this.positionsArr[1] : '';\n }\n\n getPositionCssClass (\n {\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n },\n ) {\n this.setPosition(position);\n\n return this.getCorrectedPositionCssClass({\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n });\n }\n\n getStyle ({ btnCoords, contentCoords, position }) {\n const popupStyle = {};\n\n switch (position) {\n case TOP:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case BOTTOM:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case LEFT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.right = `${this.documentWidth - btnCoords.left}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case RIGHT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_LTR:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case TOP_RTL:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.top = 'auto';\n popupStyle.left = 'auto';\n break;\n case BOTTOM_RTL:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_CENTER:\n popupStyle.top = `${btnCoords.top - 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%) translateY(-100%)';\n break;\n case BOTTOM_CENTER:\n popupStyle.top = `${btnCoords.top + btnCoords.height + 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%)';\n break;\n case BOTTOM_LTR:\n default:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n }\n\n if (this.isContentMoreThanDocumentWidth({ btnCoords, contentCoords })) {\n popupStyle.maxWidth = 'calc(100vw - 40px)';\n }\n return popupStyle;\n }\n\n getCorrectedPositionCssClass (\n {\n contentCoords,\n btnCoords,\n position,\n isDynamicVerticalPosition = true,\n },\n ) {\n // 1 этап - переопределение базовых позиций -> RTL\\LTR\n if (position === LEFT\n && CorrectingPosition.isOutOfLeftBorderForLeft({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === RIGHT\n && this.isOutOfRightBorderForRight({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === BOTTOM || position === TOP) {\n if (this.isOutOfRightBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n if (CorrectingPosition.isOutOfLeftBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n }\n\n if (this.horizontalPosition) {\n // 2 этап - переопределение RTL -> LTR, LTR -> RTL\n if (this.horizontalPosition === positions.LTR\n && this.isOutOfRightBorderForLtr({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n\n if (this.horizontalPosition === positions.RTL\n && CorrectingPosition.isOutOfLeftBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n\n // 3 этап - переопределение RTL\\LTR -> Center (центр экрана)\n if (this.isContentMoreThanDocumentWidth({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.CENTER;\n }\n\n if (this.horizontalPosition === positions.RTL\n && this.isOutOfRightBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = '';\n }\n }\n\n // 4 этап - переопределение BOTTOM, BOTTOM_* <-> TOP, TOP_*\n if (isDynamicVerticalPosition) {\n if (this.basePosition === positions.BOTTOM\n && this.isOutOfBottomBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.TOP;\n }\n\n if (this.basePosition === positions.TOP\n && CorrectingPosition.isOutOfTopBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.BOTTOM;\n }\n }\n\n this.position = this.horizontalPosition\n ? `${this.basePosition}-${this.horizontalPosition}` : this.basePosition;\n\n return this.position;\n }\n\n isContentMoreThanDocumentWidth ({ contentCoords }) {\n let { width } = contentCoords;\n\n if (this.contentWidth) {\n width = this.contentWidth;\n }\n return width + SCROLL_WIDTH > this.documentWidth;\n }\n\n isOutOfRightBorderForCenter ({ contentCoords, btnCoords }) {\n return btnCoords.left + (btnCoords.width / 2) + (contentCoords.width / 2) > this.documentWidth;\n }\n\n isOutOfRightBorderForLtr ({ contentCoords, btnCoords }) {\n return btnCoords.left + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRight ({ contentCoords, btnCoords }) {\n return btnCoords.left + btnCoords.width + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRtl ({ btnCoords }) {\n return btnCoords.left + btnCoords.width > this.documentWidth;\n }\n\n isOutOfBottomBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y + btnCoords.height + contentCoords.height > this.documentHeight;\n }\n\n static isOutOfTopBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y - contentCoords.height < 0;\n }\n\n static isOutOfLeftBorderForCenter ({ contentCoords, btnCoords }) {\n return (btnCoords.left + (btnCoords.width / 2)) - (contentCoords.width / 2) < 0;\n }\n\n static isOutOfLeftBorderForRtl ({ contentCoords, btnCoords }) {\n return (btnCoords.left + btnCoords.width) - contentCoords.width < 0;\n }\n\n static isOutOfLeftBorderForLeft ({ contentCoords, btnCoords }) {\n return btnCoords.left - contentCoords.width < 0;\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHintContent.vue?vue&type=template&id=7d59d134&scoped=true&\"\nimport script from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHintContent.vue?vue&type=style&index=0&id=7d59d134&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d59d134\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport YccHintContent from './YccHintContent.vue';\n\n// Создать глобальную шину, если она не создана\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nconst { bus } = window;\n\nconst DEFAULT_STATE = {};\n\n/* eslint-disable object-curly-newline */\nexport default function createPopup ({ hint, hintId, position, isDark, maxWidth }, id) {\n return new Vue({\n el : `#${id}`,\n template : `\n \n `,\n components: { YccHintContent },\n data : {\n hint,\n hintId,\n position,\n isDark,\n maxWidth,\n isOpen : false,\n location : null,\n openerElem: null,\n },\n created () {\n this.location = {\n left : 0,\n top : 0,\n height: 0,\n };\n bus.$on('opened-hint', this.openPopup);\n bus.$on('closed-hint', this.closePopup);\n },\n methods : {\n openPopup (payload) {\n this.openerElem = payload.openerElem;\n this.setLocation(payload.openerElem);\n this.setNewData(payload.props);\n this.open();\n window.addEventListener('resize', this.setLocation);\n },\n closePopup () {\n window.removeEventListener('resize', this.setLocation);\n this.close();\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setLocation () {\n const box = this.openerElem.getBoundingClientRect();\n\n this.location = {\n left : box.left + window.pageXOffset,\n top : box.top + window.pageYOffset,\n width : box.width,\n height: box.height,\n y : box.y,\n x : box.x,\n };\n },\n },\n });\n}\n","import createHint from './createHint';\n\n/* eslint-disable object-curly-newline */\n// eslint-disable-next-line func-names\nexport default function ({ hint, hintId, position, isDark, maxWidth }) {\n const hintRenderContentId = 'hint-content';\n\n if (!window.hint) {\n const popup = document.createElement('div');\n popup.setAttribute('id', hintRenderContentId);\n document.body.appendChild(popup);\n\n window.hint = createHint({ hint, hintId, position, isDark, maxWidth }, hintRenderContentId);\n }\n return window.hint;\n}\n","import Vue from 'vue';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\nVue.config.productionTip = process.env.NODE_ENV === 'production';\n/* eslint-disable-next-line */\nVue.config.errorHandler = function (err, vm, info) {\n let handler;\n let current = vm;\n if (vm.$options.errorHandler) {\n handler = vm.$options.errorHandler;\n }\n else {\n while (current.$parent) {\n current = current.$parent;\n /* eslint-disable-next-line */\n if (handler = current.$options.errorHandler) {\n break;\n }\n }\n }\n if (handler) {\n handler.call(current, err, vm, info);\n }\n else {\n /* eslint-disable-next-line */\n console.log(err);\n }\n};\n","export default {\n color : '#e6fc94',\n failedColor: '#874b4b',\n thickness : '3px',\n transition : {\n speed : '0.2s',\n opacity : '0.6s',\n termination: 300,\n },\n autoRevert : true,\n location : 'top',\n inverse : false,\n};\n","import dayjs from 'dayjs';\nimport YccDatepickerContent from './YccDatepickerContent.vue';\nimport {\n DEFAULT_STATE,\n ISO_DATE_FORMAT,\n MAX_MONTH_IN_LINE,\n TYPES,\n} from './constants';\n\nconst defaultProps = {\n datepickerId : 'calendar',\n rangeType : TYPES.SINGLE,\n lang : 'en',\n maxRange : null,\n start : null,\n end : null,\n numberOfMonth : MAX_MONTH_IN_LINE,\n size : '',\n // Минимально допустимая дата (предел слева)\n minAllowedDate : null,\n // Максимально допустимая дата (предел справа)\n maxAllowedDate : null,\n // Массив значимых дат (помеченных)\n significantDates : [],\n isHighlightToday : true,\n isHighlightWeekend: false,\n isInline : false,\n isDisabled : false,\n isFixed : false,\n isDisabledDate : null,\n};\n\nexport default {\n template : `\n
\n
\n\n \n \n
`,\n components: { YccDatepickerContent },\n data () {\n return {\n isOpen : false,\n isSelecting: false,\n isFixed : false,\n period : {},\n location : {\n left : 0,\n top : 0,\n height: 0,\n },\n // Сохраним данные\n ...defaultProps,\n };\n },\n created () {\n // Слушаем события от инпута\n window.bus.$on('opened-datepicker', this.openDatepicker);\n window.bus.$on('closed-datepicker', this.close);\n window.bus.$on('set-fixing', this.setFixing);\n window.bus.$on('set-start', this.setStart);\n window.bus.$on('set-end', this.setEnd);\n },\n watch : {\n isOpen (newState) {\n if (newState) {\n window.addEventListener('click', this.closeDatepickerOutside);\n }\n else {\n window.removeEventListener('click', this.closeDatepickerOutside);\n }\n },\n },\n methods : {\n onClickDay ({ isSelecting, period }) {\n this.setSelectingState(isSelecting);\n this.setPeriod(period);\n\n window.bus.$emit('updated-dates', { isSelecting, period, datepickerId: this.datepickerId });\n\n // Если закончили выбор, то закрыть\n if (!isSelecting) {\n this.close();\n }\n },\n openDatepicker (payload) {\n this.setFixing(payload.isFixed);\n this.setLocation(payload.inputElem);\n this.setNewData(payload.props);\n this.open();\n },\n closeDatepicker () {\n if (this.isSelecting) {\n this.setSelectingState(false);\n\n window.bus.$emit('updated-dates', {\n isSelecting : this.isSelecting,\n period : this.getCorrectPeriod(),\n datepickerId: this.datepickerId,\n });\n }\n this.close();\n },\n closeDatepickerOutside (event) {\n if (!this.isChildElem(event.target)) {\n this.closeDatepicker();\n }\n },\n onChangeMonthYear (payload) {\n window.bus.$emit('changed-month-year', payload);\n },\n setFixing (state) {\n this.isFixed = state;\n },\n // проверяет является ли элемент потомком класса\n isChildElem (elem) {\n const elemChildren = document.querySelectorAll('.datepicker-bus *');\n const openerChildren = document.querySelectorAll('.datepicker-ycc_opener *');\n\n for (let i = 0; i < elemChildren.length; i++) {\n if (elem === elemChildren[i]) {\n return true;\n }\n }\n\n for (let i = 0; i < openerChildren.length; i++) {\n if (elem === openerChildren[i]) {\n return true;\n }\n }\n\n return false;\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n window.bus.$emit('close');\n },\n getCorrectPeriod () {\n const start = this.period.start\n ? this.period.start\n : this.period.end;\n const end = this.period.end && this.period.end !== this.period.start\n ? this.period.start\n : dayjs(this.period.end).add(1, 'day').format(ISO_DATE_FORMAT);\n\n return { start, end, underCursor: null };\n },\n setLocation (inputElem) {\n const box = inputElem.getBoundingClientRect();\n\n this.location = {\n left : this.isFixed ? box.left : box.left + window.pageXOffset,\n top : this.isFixed ? box.top : box.top + window.pageYOffset,\n height: box.height,\n };\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setPeriod (period) {\n this.period = { ...period };\n },\n setStart (start) {\n this.start = start;\n },\n setEnd (end) {\n this.end = end;\n },\n setSelectingState (state) {\n this.isSelecting = state;\n },\n },\n};\n","import Vue from 'vue';\nimport VueProgressBar from 'vue-progressbar';\nimport { Loading } from 'element-ui';\nimport progressBarOptions from '../constants/progressBarOptions';\nimport Datepicker from '../components/ycc-datepicker/datepicker';\n\nVue.use(VueProgressBar, progressBarOptions);\nVue.use(Loading.directive);\nVue.prototype.$loading = Loading.service;\nVue.directive('scroll', {\n inserted (el, binding) {\n const f = (evt) => {\n if (binding.value(evt, el)) {\n window.removeEventListener('scroll', f);\n }\n };\n window.addEventListener('scroll', f);\n },\n});\n// eslint-disable-next-line vue/multi-word-component-names\nVue.component('datepicker', Datepicker);\n","import Vue from 'vue';\nimport GetTextPlugin from 'vue-gettext';\nimport dayjs from 'dayjs';\nimport {\n yccBootConfig,\n YuccaBootConfig,\n} from './config/yccBootConfig';\nimport gettextOptions from './config/gettextOptions';\nimport router from './router';\nimport store from './store/store';\nimport YccConfigPlugin from './extends/YccConfigPlugin';\nimport { isMobile } from './extends/browserEnv';\nimport App from './App.vue';\nimport { SYSTEM_SETTINGS_URL } from './constants/api';\nimport httpClient from './config/httpClient';\nimport initHint from './components/ycc-hint/initHint';\n\nimport './config/setVueConfig';\nimport './config/setPlugins';\nimport './scss/index.scss';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\n\nconst isDebug = !!process.env.VUE_APP_DEBUG && JSON.parse(process.env.VUE_APP_DEBUG) === true;\n\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nif (!isMobile) {\n initHint(\n {\n hintId : 'hint-1',\n position: 'bottom',\n hint : '',\n isDark : true,\n maxWidth: 250,\n },\n );\n}\n\nif (isMobile) {\n document.body.classList.add('is-mobile');\n}\nelse {\n document.body.classList.add('is-desktop');\n}\n\nfunction createApp (data = {}) {\n const config = new YuccaBootConfig(data, {});\n\n Vue.use(YccConfigPlugin, { config, isDebug });\n Vue.use(GetTextPlugin, gettextOptions(config.language));\n dayjs.locale(config.language);\n store.state.config = config;\n\n /* eslint-disable no-new */\n new Vue({\n router,\n store,\n render: (h) => h(App),\n }).$mount('#app');\n}\n\nif (yccBootConfig) {\n createApp(yccBootConfig);\n}\nelse {\n httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n createApp(res.data);\n })\n .catch(() => {\n createApp();\n });\n}\n","export default {\n progress: {\n func: [\n { call: 'color', modifier: 'temp', argument: '#e6fc94' },\n { call: 'fail', modifier: 'temp', argument: '#6e0000' },\n { call: 'location', modifier: 'temp', argument: 'top' },\n {\n call : 'transition',\n modifier: 'temp',\n argument: {\n speed : '1.5s',\n opacity : '0.6s',\n termination: 400,\n },\n },\n ],\n },\n};\n","/* eslint-disable import/no-cycle */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { destinationPageStorage } from './extends/storageServices';\nimport store from './store/store';\nimport PAGES from './constants/pages';\nimport metaForProgressLoader from './constants/metaForProgressLoader';\n\nVue.use(Router);\n\nconst router = new Router({\n mode : 'history',\n base : process.env.BASE_URL,\n routes: [\n {\n path : '/',\n name : 'main',\n meta : {\n title: 'Yucca',\n },\n redirect : { name: PAGES.ALL_STREAMS },\n component: () => import(/* webpackChunkName: \"main\" */ './pages/Workspace/TheWorkspace.vue'),\n children : [\n {\n path : 'streams',\n name : PAGES.ALL_STREAMS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"streams\" */ './pages/Streams/StreamsPage.vue'),\n },\n {\n path : 'mosaics',\n name : PAGES.ALL_MOSAICS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"mosaics\" */ './pages/Mosaic/Mosaics/AllMosaics.vue'),\n },\n ],\n },\n {\n path : '/auth',\n name : PAGES.AUTH,\n component: () => import(/* webpackChunkName: \"auth\" */ './pages/Auth/AuthPage.vue'),\n },\n {\n path : '/recover-password',\n name : PAGES.RECOVER_PASSWORD,\n component: () => import(/* webpackChunkName: \"recover-password\" */ './pages/Auth/RecoverPasswordPage.vue'),\n },\n {\n path : '/init',\n name : PAGES.INIT,\n component: () => import(/* webpackChunkName: \"init\" */ './pages/Init/InitPage.vue'),\n },\n {\n path : '/profile/me',\n name : PAGES.PROFILE,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.PROFILE_INFO },\n component: () => import(/* webpackChunkName: \"profile\" */ './pages/Profile/ProfilePage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.PROFILE_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/Profile/ProfileView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.PROFILE_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/Profile/ProfileEdit.vue'),\n },\n {\n path : 'tokens',\n name : PAGES.PROFILE_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/Profile/ProfileTokens.vue'),\n },\n {\n path : 'sessions',\n name : PAGES.PROFILE_AUTH_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"profile-sessions\" */ './pages/Profile/ProfileSessions.vue'),\n },\n ],\n },\n {\n path : '/user/add',\n name : PAGES.USER_ADD,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"user-add\" */ './pages/User/UserAddPage.vue'),\n },\n {\n path : '/user/:login',\n name : PAGES.USER,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.USER_INFO },\n component: () => import(/* webpackChunkName: \"user\" */ './pages/User/UserPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.USER_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/User/UserView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.USER_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/User/UserEdit.vue'),\n },\n {\n path : 'permission',\n name : PAGES.USER_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/User/UserStreamPermissions.vue'),\n },\n {\n path : 'sessions',\n name : PAGES.USER_AUTH_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"user-sessions\" */ './pages/User/UserSessions.vue'),\n },\n ],\n },\n {\n path : '/stream/:uid/view',\n name : PAGES.STREAM_VIEW,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"stream-view\" */ './pages/StreamView/StreamPage.vue'),\n },\n {\n path : '/stream/:uid',\n name : PAGES.STREAM,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.STREAM_INFO },\n component: () => import(/* webpackChunkName: \"stream\" */ './pages/StreamInfo/InfoStreamPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.STREAM_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/StreamInfo/StreamInfo.vue'),\n },\n {\n path : 'setting',\n name : PAGES.STREAM_SETTING,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/StreamInfo/StreamSettings.vue'),\n },\n {\n path : 'permission',\n name : PAGES.STREAM_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/StreamInfo/StreamPermission.vue'),\n },\n {\n path : 'debug',\n name : PAGES.STREAM_DEBUG,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-debug\" */ './pages/StreamInfo/StreamDebug.vue'),\n },\n ],\n },\n {\n path : '/add-stream',\n name : PAGES.ADD_STREAM,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"add-stream\" */ './pages/StreamInfo/AddingStreamPage.vue'),\n },\n {\n path : '/create-mosaic',\n name : PAGES.CREATE_MOSAIC,\n component: () => import(/* webpackChunkName: \"add-mosaic\" */ './pages/Mosaic/Create/CreateMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id',\n name : PAGES.WATCH_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Watch/WatchMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id/edit',\n name : PAGES.EDIT_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Edit/EditMosaicPage.vue'),\n },\n {\n path : '/administration',\n name : PAGES.ADMIN,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.ADMIN_STATS },\n component: () => import(/* webpackChunkName: \"admin\" */ './pages/Admin/AdminPage.vue'),\n children : [\n {\n path : 'stats',\n name : PAGES.ADMIN_STATS,\n component: () => import(/* webpackChunkName: \"admin-stats\" */ './pages/Admin/AdminStats.vue'),\n },\n {\n path : 'config',\n name : PAGES.ADMIN_CONFIG,\n component: () => import(/* webpackChunkName: \"admin-config\" */ './pages/Admin/AdminConfig.vue'),\n },\n {\n path : 'users',\n name : PAGES.ADMIN_USERS,\n component: () => import(/* webpackChunkName: \"admin-users\" */ './pages/Admin/AdminUsers.vue'),\n },\n {\n path : 'cluster',\n name : PAGES.ADMIN_CLUSTER,\n component: () => import(\n /* webpackChunkName: \"admin-cluster\" */ './pages/Admin/AdminClusterPage.vue'),\n },\n {\n path : 'license',\n name : PAGES.LICENSE,\n component: () => import(/* webpackChunkName: \"license\" */ './pages/License/LicensePage.vue'),\n },\n {\n path : 'server-debug',\n name : PAGES.SERVER_DEBUG,\n component: () => import(/* webpackChunkName: \"server-debug\" */ './pages/Admin/AdminDebug.vue'),\n },\n {\n path : 'tunnel',\n name : PAGES.TUNNEL,\n component: () => import(/* webpackChunkName: \"tunnel\" */ './pages/Admin/AdminTunnel.vue'),\n },\n {\n path : 'audit-logs',\n name : PAGES.AUDIT_LOGS,\n // eslint-disable-next-line\n component: () => import(/* webpackChunkName: \"audit-logs\" */ './pages/Admin/AdminAuditLogsPage.vue'),\n },\n ],\n },\n {\n path : '/license',\n name : 'old-license',\n redirect: { name: PAGES.LICENSE },\n },\n {\n path : '/bookmarks',\n name : PAGES.BOOKMARKS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"bookmarks\" */ './pages/BookmarksPage.vue'),\n },\n {\n path : '/help',\n name : PAGES.HELP,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"help\" */ './pages/HelpPage.vue'),\n },\n {\n path : '/*',\n name : PAGES.NOT_FOUND,\n component: () => import(/* webpackChunkName: \"not-found\" */ './pages/NotFoundPage.vue'),\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n const isPublicPage = to.name === PAGES.AUTH || to.name === PAGES.RECOVER_PASSWORD || to.name === PAGES.INIT;\n const is404 = to.name === PAGES.NOT_FOUND;\n\n if (!destinationPageStorage.getItem() && !isPublicPage && !is404) {\n destinationPageStorage.setItem({ name: to.name, params: { ...to.params } });\n }\n\n if (is404) {\n next();\n }\n else {\n store.dispatch('checkPermission')\n .then(({ status, statusCode }) => {\n if (statusCode === 500 || statusCode === 404) {\n next();\n }\n else if (!status && !isPublicPage) {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n else if ((statusCode === 423 && to.name === PAGES.INIT)\n || (statusCode === 401 && (to.name === PAGES.AUTH || to.name === PAGES.RECOVER_PASSWORD))\n || (status && !isPublicPage)) {\n next();\n }\n else if (isPublicPage) {\n next({ name: PAGES.ALL_STREAMS });\n }\n else {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n });\n }\n});\n\nrouter.afterEach(() => {\n if (window.scrollY) {\n window.scroll(0, 0);\n }\n});\n\nexport default router;\n","import { GROUP_TYPES } from '@/constants/main';\n\nexport function getGroupedStreams (streams, groupingType) {\n const groupedStreams = {};\n\n function pushStream (groupName, stream) {\n if (!groupedStreams[groupName]) {\n groupedStreams[groupName] = {\n name : groupName,\n streams: [],\n };\n }\n groupedStreams[groupName].streams.push(stream);\n }\n\n if (groupingType === GROUP_TYPES.TAG.key) {\n streams.forEach((stream) => {\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n pushStream(tag, stream);\n });\n }\n else {\n pushStream('untagged', stream);\n }\n });\n }\n\n return groupedStreams;\n}\n\nexport function saveToLocalStorage ({ key, value, page }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(page)) || {};\n\n streamsPageSettings[key] = value;\n localStorage.setItem(page, JSON.stringify(streamsPageSettings));\n}\n","import dayjs from 'dayjs';\n\nfunction getDefaultStart () {\n return dayjs(new Date()).subtract(20, 'hour').valueOf();\n}\n\nfunction getDefaultEnd () {\n return dayjs(new Date()).add(3, 'hour').valueOf();\n}\n\nfunction getDefaultPeriod () {\n return {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n };\n}\n\nfunction getDefaultPeriodISO () {\n return {\n start: dayjs(getDefaultStart()).toISOString(),\n end : dayjs(getDefaultEnd()).toISOString(),\n };\n}\n\nfunction getDefaultDownloadLimitsPX () {\n return {\n left : 0,\n right: 0,\n };\n}\n\nfunction getDefaultPlaylist ({ start, end }) {\n return {\n period: { startTime: start, endTime: end },\n ranges: [{ date: start, status: 0 }],\n url : null,\n };\n}\n\nexport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultPeriodISO,\n getDefaultDownloadLimitsPX,\n getDefaultPlaylist,\n};\n","import dayjs from 'dayjs';\nimport { formatDate } from '@/extends/lib';\nimport { EN } from '@/constants/main';\n\nconst MS_IN_HOUR = 60 * 60 * 1000;\nconst MS_IN_MINUTE = 60 * 1000;\nconst MARKER_LABEL_WIDTH = 70;\nconst LABELS_MAP_KEYS = {\n SIXTY : 'sixty',\n TWELVE : 'twelve',\n QUARTER : 'quarter',\n HALF : 'half',\n FULL : 'full',\n MULTIPLE: 'multiple',\n};\nconst LABELS_MAP = [\n { key: LABELS_MAP_KEYS.SIXTY, value: 60, minutes: 1 },\n { key: LABELS_MAP_KEYS.TWELVE, value: 12, minutes: 5 },\n { key: LABELS_MAP_KEYS.QUARTER, value: 4, minutes: 15 },\n { key: LABELS_MAP_KEYS.HALF, value: 2, minutes: 30 },\n { key: LABELS_MAP_KEYS.FULL, value: 1, minutes: 60 },\n { key: LABELS_MAP_KEYS.MULTIPLE },\n];\n\nconst getMarkerOptions = ({ hoursNumber, possibleLabels, minutesNumber }) => {\n let options = { multiplicity: null, labelsNumber: 0 };\n\n LABELS_MAP.some((item) => {\n if (item.key === LABELS_MAP_KEYS.MULTIPLE) {\n options = {\n type : item.key,\n multiplicity: Math.ceil(hoursNumber / possibleLabels),\n labelsNumber: Math.ceil(hoursNumber / Math.ceil(hoursNumber / possibleLabels)),\n };\n return true;\n }\n if (minutesNumber / item.minutes <= possibleLabels) {\n options = {\n type : item.key,\n multiplicity: item.value,\n minutes : item.minutes,\n labelsNumber: Math.ceil(minutesNumber / item.minutes),\n };\n return true;\n }\n return false;\n });\n\n return options;\n};\n\nconst getLeftPosForMarker = (timestamp, period, secondsInPx) => {\n const seconds = (timestamp - period.start) / 1000;\n return seconds / secondsInPx;\n};\nconst getMarker = (\n period,\n timeMS,\n secondsInPx,\n isVisibleLabel,\n lang = EN,\n isSmall = false,\n) => {\n const label = dayjs(timeMS).hour() === 0 && dayjs(timeMS).minute() === 0\n ? formatDate(timeMS, 'MMM DD', lang)\n : formatDate(timeMS, 'HH:mm', lang);\n\n return {\n left : `${getLeftPosForMarker(timeMS, period, secondsInPx)}px`,\n time : timeMS,\n cssClass: isSmall ? 'small' : 'medium',\n type : dayjs(timeMS).hour() !== 0 ? 'hour' : 'day',\n label : isVisibleLabel ? label : ' ',\n };\n};\n\nconst getFirstFullHourMS = (period) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n\n return dayjs(new Date(year, month, day, hour)).valueOf();\n};\n\nconst getFirstMarkerTime = (options, period) => {\n let firstMarkerTime = getFirstFullHourMS(period);\n\n const getFirstMarkerByTime = (minutes) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n let startMinutes = dayjs(period.start).minute();\n\n while (startMinutes % minutes !== 0) {\n startMinutes += 1;\n }\n\n return dayjs(new Date(year, month, day, hour, startMinutes)).valueOf();\n };\n\n if (options.type === LABELS_MAP_KEYS.SIXTY\n || options.type === LABELS_MAP_KEYS.TWELVE\n || options.type === LABELS_MAP_KEYS.QUARTER\n || options.type === LABELS_MAP_KEYS.HALF) {\n firstMarkerTime = getFirstMarkerByTime(options.minutes);\n }\n\n return firstMarkerTime;\n};\n\nconst getNewMarkers = (options, period, secondsInPx, lang = EN) => {\n const newMarkers = [];\n let markerTime = getFirstMarkerTime(options, period);\n\n for (let i = 0; i < options.labelsNumber; i++) {\n if (markerTime > period.start) {\n const marker = getMarker(\n period,\n markerTime,\n secondsInPx,\n lang,\n true,\n );\n newMarkers.push(marker);\n }\n if (options.type === LABELS_MAP_KEYS.MULTIPLE) {\n markerTime += (MS_IN_HOUR * options.multiplicity);\n }\n else {\n markerTime += (MS_IN_HOUR / options.multiplicity);\n }\n }\n return newMarkers;\n};\n\nexport {\n MS_IN_HOUR,\n MS_IN_MINUTE,\n MARKER_LABEL_WIDTH,\n LABELS_MAP_KEYS,\n LABELS_MAP,\n\n getMarkerOptions,\n getNewMarkers,\n};\n","import { interval } from 'rxjs';\nimport dayjs from 'dayjs';\nimport {\n getDefaultPeriod,\n getDefaultPlaylist,\n} from '@/store/player/lib';\nimport {\n DEFAULT_PLAYLIST_DURATION,\n EN,\n PLAYER_VIEW_MODES,\n} from '@/constants/main';\nimport {\n convertDateToSeconds,\n formatDate,\n getCoords,\n} from '@/extends/lib';\nimport {\n ANNOTATION_TYPES,\n RANGE_TYPES,\n} from '@/components/ycc-player/constants';\nimport {\n getMarkerOptions,\n getNewMarkers,\n MARKER_LABEL_WIDTH,\n MS_IN_HOUR,\n MS_IN_MINUTE,\n} from '@/components/ycc-player/extends/createMarkers';\nimport {\n getCurrentDateId,\n getProgressBarId,\n getThumbId,\n} from '@/components/ycc-player/extends/componentIds';\n\nconst ZOOM_INDEX = 1.5;\nconst HOUR_IN_MS = 60 * 60 * 1000;\nconst MIN_DURATION = 5 * 60 * 1000;\nconst MAX_DURATION = 24 * HOUR_IN_MS;\n\nexport default class ProgressBarController {\n constructor ({ playerId, thumbWidth }) {\n // not changing\n this.playerId = playerId;\n this.thumbWidth = thumbWidth || 18;\n\n // elements\n this.video = null;\n this.progressBar = null;\n this.thumb = null;\n\n // first level of changing\n this.archiveStatsPeriod = null;\n this.period = getDefaultPeriod(); // all visible period\n this.ranges = null;\n\n // second level of changing\n this.playingPeriod = null; // { start: 0, end: 0 };\n this.currentInterval = null;\n\n // third level of changing\n this.playingTime = 0; // or Date.now() // playingTime\n this.thumbPosition = 0;\n\n this.tracking = null;\n this.trackingObservable$ = interval(20);\n\n this.init();\n }\n\n init () {\n this.video = ProgressBarController.getElem(this.playerId);\n this.progressBar = ProgressBarController.getElem(getProgressBarId(this.playerId));\n this.thumb = ProgressBarController.getElem(getThumbId(this.playerId));\n }\n\n /* GETTERS */\n\n get duration () {\n return this.period.end - this.period.start;\n }\n\n get intervals () {\n // changing triggers: period and ranges\n const startSeconds = convertDateToSeconds(this.period.start);\n const endSeconds = convertDateToSeconds(this.period.end);\n const clipShift = startSeconds;\n const intervalsTemp = [];\n const ranges = this.ranges\n ? this.ranges\n : getDefaultPlaylist({\n start: this.period.start,\n end : this.period.end,\n }).ranges;\n\n ranges.forEach((range, index, arr) => {\n const rangeStart = convertDateToSeconds(range.date);\n const rangeEnd = arr[index + 1] ? convertDateToSeconds(arr[index + 1].date) : endSeconds;\n const intervalType = ProgressBarController.getIntervalType({\n status : range.status,\n isLastRange : index === arr.length - 1,\n date : range.date,\n archiveStatsPeriod: this.archiveStatsPeriod,\n });\n\n intervalsTemp.push({\n width : this.getPXFromSeconds(rangeEnd - startSeconds)\n - this.getPXFromSeconds(rangeStart - startSeconds),\n left : this.getPXFromSeconds(rangeStart - startSeconds),\n type : intervalType,\n start : rangeStart - clipShift,\n end : rangeEnd - clipShift,\n startDate: range.date,\n endDate : arr[index + 1] ? arr[index + 1].date : this.period.end,\n });\n });\n return intervalsTemp;\n }\n\n get periodModifier () {\n return (this.duration - (this.duration / ZOOM_INDEX)) / 2;\n }\n\n get isZoomUpAllowed () {\n return this.duration > MIN_DURATION;\n }\n\n get isZoomDownAllowed () {\n return this.duration < MAX_DURATION;\n }\n\n get periodISO () {\n return {\n start: dayjs(this.period.start).toISOString(),\n end : dayjs(this.period.end).toISOString(),\n };\n }\n\n /* END GETTERS */\n\n /* MAIN PUBLIC METHODS */\n\n seekHandler (intervalElem, clientX, annotationStartSeconds) {\n this.stopTracking();\n\n this.setCurrentInterval(intervalElem);\n\n return this.getPlaylistByIntervalType(intervalElem, clientX, annotationStartSeconds);\n }\n\n startTracking (isArchive) {\n this.tracking = this.trackingObservable$.subscribe(() => {\n let currentTime = Date.now();\n\n if (isArchive && this.video) {\n currentTime = ProgressBarController.getCurrentTimeInMS(this.video.currentTime)\n + this.playingPeriod.start;\n }\n\n this.updatePlayingTime(currentTime);\n });\n }\n\n stopTracking () {\n if (this.tracking) {\n this.tracking.unsubscribe();\n }\n }\n\n getMarkers (lang = EN) {\n const possibleLabels = Math.ceil(this.getProgressBarWidth() / MARKER_LABEL_WIDTH);\n const hoursNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_HOUR);\n const minutesNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_MINUTE);\n const options = getMarkerOptions({ hoursNumber, possibleLabels, minutesNumber });\n\n return getNewMarkers(options, this.period, this.secondsInPx(), lang);\n }\n\n getNewPlaylistPeriodAfterEnding () {\n this.stopTracking();\n\n return this.getRangeByMilliseconds(this.playingTime);\n }\n\n getCorrectedPlayingPeriodEnd (newSeconds, intervalRangeEnd) {\n const endMS = newSeconds + DEFAULT_PLAYLIST_DURATION;\n const intervalRangeEndMS = intervalRangeEnd;\n const result = endMS < intervalRangeEndMS ? endMS : intervalRangeEndMS;\n\n return result * 1000 + this.period.start;\n }\n\n getRangeByMilliseconds (/* playingTime */) {\n const findNextRangeIndex = (startTimeMS) => {\n return this.intervals.findIndex((intervalRange) => {\n const start = Math.trunc(intervalRange.start * 1000 + this.period.start);\n const end = Math.trunc(intervalRange.end * 1000 + this.period.start);\n\n return startTimeMS >= start && startTimeMS < end;\n });\n };\n\n const currentTime = this.playingPeriod.end; /* playingTime; */\n const intervalIndex = findNextRangeIndex(currentTime);\n const currentInterval = this.intervals[intervalIndex];\n let currentPeriod = { type: RANGE_TYPES.LIVE };\n\n if (currentInterval.type === RANGE_TYPES.GAP) {\n currentPeriod = {\n ...this.getNextPeriodAfterGap(intervalIndex + 1),\n };\n }\n else if (currentInterval.type !== RANGE_TYPES.LIVE) {\n currentPeriod = {\n start: currentTime,\n end : this.getCorrectedPlayingPeriodEnd(\n (currentTime - this.period.start) / 1000, currentInterval.end,\n ),\n type : RANGE_TYPES.FRAGMENT,\n };\n }\n\n return currentPeriod;\n }\n\n /* end MAIN PUBLIC METHODS */\n\n /* PUBLIC SETTERS */\n\n setPeriod (period) {\n this.period = period;\n }\n\n setRanges (ranges) {\n this.ranges = ranges;\n }\n\n setPlayingPeriod (playingPeriod) {\n this.playingPeriod = playingPeriod;\n }\n\n setArchiveStatsPeriod (stats) {\n this.archiveStatsPeriod = stats;\n }\n\n setCurrentInterval (intervalElem) {\n this.currentInterval = intervalElem;\n }\n\n /* end PUBLIC SETTERS */\n\n secondsInPx () {\n return this.duration / (this.getProgressBarWidth() * 1000);\n }\n\n getPXFromSeconds (seconds) {\n return seconds / this.secondsInPx();\n }\n\n getSecondsFromPX (px) {\n return px * this.secondsInPx();\n }\n\n static getIntervalType (\n {\n status,\n isLastRange,\n date,\n archiveStatsPeriod,\n }) {\n const liveTime = archiveStatsPeriod ? archiveStatsPeriod.endTime : dayjs(new Date()).toISOString();\n let intervalType = RANGE_TYPES.GAP;\n\n if (isLastRange && liveTime <= date && !status) {\n intervalType = RANGE_TYPES.LIVE;\n }\n\n return status ? RANGE_TYPES.FRAGMENT : intervalType;\n }\n\n setDefaultLiveThumbPos () {\n // set default position for current time in ios safari\n setTimeout(() => {\n this.updatePlayingTime(Date.now());\n }, 100);\n }\n\n updateThumbPos (currentTime, periodStart) {\n const thumbLeftPosition = this.getPXFromSeconds((currentTime - periodStart) / 1000);\n\n this.changeThumbStyle(thumbLeftPosition);\n this.keepThumbPosition(thumbLeftPosition);\n }\n\n changeThumbStyle (thumbLeftPosition) {\n if (this.thumb && Math.trunc(thumbLeftPosition) !== this.thumbPosition) {\n this.thumb.style.transform = `translateX(${thumbLeftPosition - (this.thumbWidth / 2)}px)`;\n }\n }\n\n /* BRING */\n getPeriodForZoomUpByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomUp(playingTime);\n }\n\n getPeriodForZoomUp (playingTime) {\n if (this.isZoomUpAllowed) {\n return {\n start: this.period.start + this.getStartModifier(playingTime),\n end : this.period.end - this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n /* put away */\n getPeriodForZoomDownByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomDown(playingTime);\n }\n\n getPeriodForZoomDown (playingTime) {\n const currentTime = dayjs(new Date()).valueOf();\n\n if (this.isZoomDownAllowed) {\n return {\n start: this.period.start - this.getStartModifier(playingTime),\n end : this.period.end >= currentTime + (3 * HOUR_IN_MS)\n ? this.period.end : this.period.end + this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n getPeriodForMoveLeft () {\n return {\n start: this.period.start - this.periodModifier,\n end : this.period.end - this.periodModifier,\n };\n }\n\n getPeriodForMoveRight () {\n return {\n start: this.period.start + this.periodModifier,\n end : this.period.end + this.periodModifier,\n };\n }\n\n getPeriodForGoToCenter () {\n return {\n start: this.playingTime - (this.duration / 2),\n end : this.playingTime + (this.duration / 2),\n };\n }\n\n getStartModifier (playingTime) {\n return ((playingTime - this.period.start) / this.duration) * (this.periodModifier * 2);\n }\n\n getEndModifier (playingTime) {\n return ((this.period.end - playingTime) / this.duration) * (this.periodModifier * 2);\n }\n\n getAnnotationsByTypes (annotations) {\n const annotationsByType = {};\n\n if (annotations.length === 0) {\n annotationsByType.empty = [];\n }\n else {\n annotations.forEach((annotation) => {\n if (annotationsByType[annotation.type]) {\n annotationsByType[annotation.type].push(this.adaptAnnotation(annotation));\n }\n else {\n annotationsByType[annotation.type] = [this.adaptAnnotation(annotation)];\n }\n });\n }\n\n return annotationsByType;\n }\n\n adaptAnnotation (annotation) {\n const startSeconds = convertDateToSeconds(this.period.start);\n const annotationStart = convertDateToSeconds(annotation.time);\n const annotationEnd = convertDateToSeconds(annotation.timeEnd);\n\n return {\n ...annotation,\n startSeconds: annotationStart,\n width: this.getPXFromSeconds(annotationEnd - startSeconds)\n - this.getPXFromSeconds(annotationStart - startSeconds),\n left : this.getPXFromSeconds(annotationStart - startSeconds),\n color: ProgressBarController.getAnnotationColorByType(annotation.type),\n };\n }\n\n static getAnnotationColorByType (type) {\n switch (type) {\n case ANNOTATION_TYPES.EVENT:\n return '#ece283';\n default:\n return '#d466d4';\n }\n }\n\n /* PRIVATE METHODS */\n\n getProgressBarWidth () {\n return this.progressBar ? getCoords(this.progressBar).width : 0;\n }\n\n updatePlayingTime (time) {\n this.setPlayingTime(time);\n this.innerPlayingTime(time);\n this.updateThumbPos(time, this.period.start);\n }\n\n setPlayingTime (time) {\n this.playingTime = time;\n }\n\n keepThumbPosition (thumbPosition) {\n this.thumbPosition = thumbPosition;\n }\n\n getPlaylistByIntervalType (intervalElem, clientX, annotationStartSeconds) {\n let newInterval = this.intervals[intervalElem.dataset.index];\n let playingPeriod = null;\n let newViewMode = PLAYER_VIEW_MODES.LIVE;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP && this.isLastElem(intervalElem)) {\n return false;\n }\n\n if (intervalElem.dataset.type !== RANGE_TYPES.LIVE) {\n let newCurrentSeconds = 0;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP) {\n newInterval = this.intervals[Number(intervalElem.dataset.index) + 1];\n newCurrentSeconds = newInterval.start;\n }\n else if (intervalElem.dataset.type === RANGE_TYPES.FRAGMENT) {\n newCurrentSeconds = annotationStartSeconds\n ? annotationStartSeconds - (this.period.start / 1000) - 10\n : this.getSecondsFromPos(clientX);\n }\n\n playingPeriod = {\n start: (newCurrentSeconds * 1000) + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(newCurrentSeconds, newInterval.end),\n };\n\n newViewMode = PLAYER_VIEW_MODES.ARCHIVE;\n }\n\n return { newInterval, playingPeriod, newViewMode };\n }\n\n isLastElem (elem) {\n return this.intervals.length === Number(elem.dataset.index) + 1;\n }\n\n getSecondsFromPos (clientX) {\n const leftShift = this.progressBar ? this.progressBar.getBoundingClientRect().left : 0;\n return this.getSecondsFromPX(clientX - leftShift);\n }\n\n innerPlayingTime (time) {\n const currentTimeElem = ProgressBarController.getElem(getCurrentDateId(this.playerId));\n\n if (currentTimeElem) {\n currentTimeElem.innerHTML = formatDate(time, 'HH:mm:ss, D MMMM');\n }\n }\n\n getNextPeriodAfterGap (index) {\n return this.intervals[index]\n ? {\n start: this.intervals[index].start * 1000 + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(\n this.intervals[index].start,\n this.intervals[index].end,\n ),\n type : this.intervals[index].type,\n }\n : null;\n }\n\n /* end PRIVATE METHODS */\n\n static getElem (id) {\n return document.getElementById(id);\n }\n\n static getCurrentTimeInMS (videoCurrentTime) {\n return videoCurrentTime * 1000;\n }\n}\n","/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\n/* eslint-disable object-curly-newline */\n/* eslint-disable import/no-cycle */\nimport dayjs from 'dayjs';\nimport axios from 'axios';\nimport { PLAYER_VIEW_MODES } from '@/constants/main';\nimport { cloneObjDeep } from '@/extends/lib';\nimport {\n getArchiveStatsUrl,\n getAvailableDaysUrl,\n getRangesUrl,\n ANNOTATIONS_URL,\n getDownloadArchiveUrl,\n} from '@/constants/api';\nimport httpClient from '@/config/httpClient';\nimport { RANGE_TYPES } from '@/components/ycc-player/constants';\nimport ProgressBarController from '@/components/ycc-player/extends/ProgressBarController';\nimport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultDownloadLimitsPX,\n getDefaultPeriodISO,\n} from './lib';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n archiveStats : null,\n availableDays : [],\n annotations : [],\n annotationsByTypes: [],\n\n speedIndex : 1,\n archiveDownloadMaxSeconds: 3600,\n downloadLimitsPX : getDefaultDownloadLimitsPX(),\n\n isVisibleDownloadBlock : false,\n isFetchingArchive : false,\n isFetchingArchiveRanges: false,\n isFetchingAnnotations : false,\n isPlaying : false,\n isLoading : false,\n\n cancelArchiveRangesRequest: null,\n archiveDataWatcherTimer : null,\n\n /* progress-bar period */\n period : getDefaultPeriod(),\n periodISO: getDefaultPeriodISO(),\n\n /* progress-bar ranges */\n ranges : [],\n intervals: [],\n\n /* live/archive */\n playerViewMode: PLAYER_VIEW_MODES.LIVE,\n playlist : null,\n\n progressBarController: null,\n },\n getters : {\n hasArchive : (state) => !!state.archiveStats && !!state.archiveStats.period,\n archiveDownloadMaxPX: (state) => {\n return state.progressBarController\n ? state.progressBarController.getPXFromSeconds(state.archiveDownloadMaxSeconds)\n : 0;\n },\n getSecondsInPx : (state) => () => {\n return state.progressBarController ? state.progressBarController.secondsInPx() : 0;\n },\n },\n actions : {\n /* bring */\n zoomUpByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomUp', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomUpByPointer(),\n });\n },\n zoomUp ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomUpAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n /* put away */\n zoomDownByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomDown', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomDownByPointer(),\n });\n },\n zoomDown ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomDownAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n toCenter ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n if (state.playerViewMode === PLAYER_VIEW_MODES.LIVE && !state.playlist) {\n return;\n }\n\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForGoToCenter(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveLeft ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveLeft(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveRight ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveRight(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n updatePeriodAfterDrag ({ commit, dispatch, state }, { period }) {\n dispatch('updatePeriod', {\n period,\n isArchiveEnable: true,\n needRunWatcher : false,\n needFetchData : false,\n });\n },\n resetPeriod ({ dispatch }) {\n dispatch('updatePeriod', {\n period: {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n },\n });\n },\n\n updateRanges ({ dispatch, commit }, { ranges }) {\n function getSplitLastRange () {\n const lastRange = ranges && ranges[ranges.length - 1]\n ? cloneObjDeep(ranges[ranges.length - 1])\n : null;\n\n if (lastRange && !lastRange.status && dayjs(lastRange.date).valueOf() <= Date.now()) {\n lastRange.date = dayjs().toISOString();\n return lastRange;\n }\n return null;\n }\n\n const liveRange = getSplitLastRange();\n\n if (liveRange) {\n ranges.push(liveRange);\n }\n\n dispatch('saveRanges', { ranges });\n },\n saveRanges ({ state, commit }, { ranges }) {\n state.progressBarController.setRanges(ranges);\n commit('setRanges', { ranges });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n updatePlaylist ({ commit, state }, { url, period, mode }) {\n if (mode === PLAYER_VIEW_MODES.ARCHIVE) {\n const startTime = dayjs(new Date(period.start)).toISOString();\n const endTime = dayjs(new Date(period.end)).toISOString();\n\n commit('setPlaylist', {\n playlist: {\n period,\n url: `${url}?start_time=${startTime}&end_time=${endTime}`,\n },\n });\n }\n else {\n commit('setPlaylist', { playlist: { url } });\n }\n },\n\n fetchArchive (\n { commit, dispatch, getters, state },\n { startTime, endTime, streamUid, streamId, isArchiveEnable },\n ) {\n if (isArchiveEnable) {\n commit('setFetching', { isFetchingArchive: true });\n\n httpClient\n .get(getRangesUrl(streamUid), {\n params: {\n start_time: startTime,\n end_time : endTime,\n },\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updatePeriod', {\n period: {\n start: dayjs(new Date(response.data.period.startTime)).valueOf(),\n end : dayjs(new Date(response.data.period.endTime)).valueOf(),\n },\n });\n dispatch('updateRanges', { ranges: response.data.ranges });\n dispatch('fetchAnnotations', { streamUid, isArchiveEnable, streamId });\n dispatch('fetchArchiveStats', { streamUid, isArchiveEnable });\n }\n })\n .finally(() => {\n commit('setFetching', { isFetchingArchive: false });\n });\n }\n },\n fetchArchiveRanges ({ commit, dispatch, getters, state }, { rangesUrl, isArchiveEnable }) {\n if (isArchiveEnable) {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: true });\n\n httpClient\n .get(rangesUrl, {\n params : {\n start_time: state.progressBarController.periodISO.start,\n end_time : state.progressBarController.periodISO.end,\n },\n cancelToken: new CancelToken((cancel) => {\n state.cancelArchiveRangesRequest = cancel;\n }),\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updateRanges', { ranges: response.data.ranges });\n }\n state.cancelArchiveRangesRequest = null;\n })\n .finally(() => {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: false });\n });\n }\n },\n fetchArchiveStats ({ commit, dispatch }, { streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getArchiveStatsUrl(streamUid);\n\n httpClient\n .get(url)\n .then((res) => {\n if (res.data.period) {\n dispatch('updateArchiveStats', { stats: res.data });\n dispatch(\n 'fetchAvailableDays',\n {\n startDay: res.data.period.startTime,\n endDay : res.data.period.endTime,\n streamUid,\n isArchiveEnable,\n },\n );\n }\n });\n }\n },\n fetchAvailableDays ({ commit, dispatch, getters, state }, { startDay, endDay, streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getAvailableDaysUrl(streamUid);\n\n httpClient\n .get(url, {\n params: {\n start_time: startDay,\n end_time : endDay,\n },\n })\n .then((res) => {\n commit('setAvailableDays', { availableDays: res.data });\n });\n }\n },\n fetchArchiveData ({ dispatch }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('fetchArchiveRanges', { rangesUrl, isArchiveEnable, streamId });\n dispatch('fetchAnnotations', { isArchiveEnable, streamId });\n },\n fetchAnnotations ({ state, dispatch, commit }, { isArchiveEnable, streamId }) {\n if (isArchiveEnable) {\n commit('setFetchingAnnotations', { isFetchingAnnotations: true });\n\n httpClient\n .get(ANNOTATIONS_URL, {\n params: {\n streamId,\n from: state.progressBarController.periodISO.start,\n to : state.progressBarController.periodISO.end,\n },\n })\n .then((res) => {\n dispatch('updateAnnotations', { annotations: res.data });\n })\n .finally(() => {\n commit('setFetchingAnnotations', { isFetchingAnnotations: false });\n });\n }\n },\n fetchDownloadArchiveUrl ({ commit, getters }, { streamUid, downloadPeriod }) {\n return httpClient\n .get(getDownloadArchiveUrl({ streamUid }), {\n params: {\n start_time : dayjs(downloadPeriod.start).toISOString(),\n end_time : dayjs(downloadPeriod.end).toISOString(),\n timezone_offset: dayjs().utcOffset(),\n },\n })\n .then((res) => res.data);\n },\n\n updateAnnotations ({ state, commit }, { annotations }) {\n commit('setAnnotations', { annotations });\n commit('setAnnotationsByTypes', {\n annotations: state.progressBarController.getAnnotationsByTypes(annotations),\n });\n },\n resetArchiveData ({ commit, dispatch }) {\n commit('setAvailableDays', { availableDays: [] });\n commit('setPlaylist', { playlist: null });\n dispatch('updateAnnotations', { annotations: [] });\n dispatch('updateArchiveStats', { stats: null });\n dispatch('saveRanges', { ranges: [] });\n dispatch('updatePeriod', { period: getDefaultPeriod() });\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n },\n createArchiveDataWatcher ({ commit, dispatch, getters }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('clearArchiveDataWatcher');\n\n function getTime (secondsInPx) {\n return secondsInPx * 6 * 1000 > 3500 ? secondsInPx * 6 * 1000 : 3500;\n }\n\n const time = getTime(getters.getSecondsInPx());\n\n let timer = setTimeout(function tick () {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n\n timer = setTimeout(tick, time);\n commit('setArchiveDataWatcherTimer', { timer });\n }, time);\n\n commit('setArchiveDataWatcherTimer', { timer });\n },\n clearArchiveDataWatcher ({ state }) {\n clearTimeout(state.archiveDataWatcherTimer);\n },\n\n /* for Player */\n updateSpeedIndex ({ commit }, { speedIndex }) {\n commit('setSpeedIndex', { speedIndex });\n },\n goToLive ({ dispatch, getters, commit }, {\n isSeek,\n rangesUrl,\n liveUrl,\n isAvailableStream,\n isArchiveEnable,\n streamId,\n needFetchData,\n }) {\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n\n if (isAvailableStream) {\n if (!isSeek) {\n dispatch('updatePeriod', {\n rangesUrl,\n isArchiveEnable,\n streamId,\n needFetchData,\n period: {\n start: dayjs(new Date(getDefaultStart())).valueOf(),\n end : dayjs(new Date(getDefaultEnd())).valueOf(),\n },\n });\n }\n dispatch('updatePlaylist', {\n url : liveUrl,\n mode : PLAYER_VIEW_MODES.LIVE,\n period: null,\n });\n }\n else {\n dispatch('goToEmptyState');\n }\n },\n goToArchive ({ dispatch, state }, { period, playlistUrl }) {\n dispatch('updatePlaylist', {\n period,\n url : playlistUrl,\n mode: PLAYER_VIEW_MODES.ARCHIVE,\n });\n state.progressBarController.updatePlayingTime(period.start);\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.ARCHIVE });\n },\n goToEmptyState ({ commit, state }) {\n state.progressBarController.updatePlayingTime(0);\n commit('setPlaylist', { playlist: null });\n },\n updatePlayerViewMode ({ state, commit, dispatch }, { mode }) {\n commit('setPlayerViewMode', { mode });\n\n if (mode === PLAYER_VIEW_MODES.LIVE) {\n dispatch('updateSpeedIndex', { speedIndex: 1 });\n }\n },\n updateArchiveStats ({ state, commit }, { stats }) {\n if (state.progressBarController) {\n state.progressBarController.setArchiveStatsPeriod(stats?.period || null);\n // todo: requests queue\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n }\n commit('setArchiveStats', { stats });\n },\n handleEndedVideo ({ dispatch, state }, { playlistUrl, liveUrl, isAvailableStream }) {\n const period = state.progressBarController.getNewPlaylistPeriodAfterEnding();\n\n if (period.type === RANGE_TYPES.FRAGMENT) {\n dispatch('goToArchive', {\n period,\n playlistUrl,\n });\n }\n else {\n dispatch('goToLive', {\n liveUrl,\n isAvailableStream,\n isSeek: true,\n });\n }\n },\n\n updatePeriod ({ commit, dispatch, state }, {\n period,\n rangesUrl,\n isArchiveEnable,\n streamId,\n needRunWatcher,\n needFetchData,\n }) {\n dispatch('setPeriod', { period })\n .then(() => {\n if (needFetchData) {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n }\n\n if (needRunWatcher) {\n dispatch('createArchiveDataWatcher', { rangesUrl, streamId, isArchiveEnable });\n }\n\n if (!state.isPlaying) {\n state.progressBarController.updateThumbPos(\n state.progressBarController.playingTime,\n state.progressBarController.period.start,\n );\n }\n });\n },\n setPeriod ({ state, commit }, { period }) {\n state.progressBarController.setPeriod(period);\n commit('setPeriod', { period });\n commit('setPeriodISO', { periodISO: state.progressBarController.periodISO });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n\n buildProgressBarController ({ state, commit }, {\n playerId,\n thumbWidth,\n }) {\n commit('setProgressBarController', {\n progressBarController: new ProgressBarController({\n playerId,\n thumbWidth,\n }),\n });\n },\n },\n mutations : {\n setPeriod (state, { period }) {\n state.period = period;\n },\n setPeriodISO (state, { periodISO }) {\n state.periodISO = periodISO;\n },\n setPlaylist (state, { playlist }) {\n state.playlist = playlist;\n },\n setRanges (state, { ranges }) {\n state.ranges = ranges;\n },\n setPlayerViewMode (state, { mode }) {\n state.playerViewMode = mode;\n },\n setFetching (state, { isFetchingArchive }) {\n state.isFetchingArchive = isFetchingArchive;\n },\n setAvailableDays (state, { availableDays }) {\n state.availableDays = availableDays;\n },\n setFetchingArchiveRanges (state, { isFetchingArchiveRanges }) {\n state.isFetchingArchiveRanges = isFetchingArchiveRanges;\n },\n setArchiveStats (state, { stats }) {\n state.archiveStats = stats;\n },\n setArchiveDataWatcherTimer (state, { timer }) {\n state.archiveDataWatcherTimer = timer;\n },\n setDownloadBlockVisibility (state, { isVisibleDownloadBlock }) {\n state.isVisibleDownloadBlock = isVisibleDownloadBlock;\n },\n setDownloadLimits (state, { downloadLimitsPX }) {\n state.downloadLimitsPX = downloadLimitsPX;\n },\n setArchiveDownloadMaxSeconds (state, { archiveDownloadMaxSeconds }) {\n state.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds;\n },\n setAnnotations (state, { annotations }) {\n state.annotations = annotations;\n },\n setAnnotationsByTypes (state, { annotations }) {\n state.annotationsByTypes = annotations;\n },\n setFetchingAnnotations (state, { isFetchingAnnotations }) {\n state.isFetchingAnnotations = isFetchingAnnotations;\n },\n setSpeedIndex (state, { speedIndex }) {\n state.speedIndex = speedIndex;\n },\n setPlayingState (state, { isPlaying }) {\n state.isPlaying = isPlaying;\n },\n setLoadingState (state, { isLoading }) {\n state.isLoading = isLoading;\n },\n setIntervals (state, { intervals }) {\n state.intervals = intervals;\n },\n setProgressBarController (state, { progressBarController }) {\n state.progressBarController = progressBarController;\n },\n },\n};\n","import {\n SESSIONS_URL,\n getSessionUrlById,\n getDeleteTokenUrl,\n PROFILE_TOKEN_URL,\n PROFILE_TOKENS_URL,\n USER_URL,\n TERMINATE_SESSIONS_URL,\n} from '@/constants/api';\nimport { PROFILE_UPDATED_NOTICE } from '@/constants/noticeTypes';\nimport { USER_PERMISSION_TYPES } from '@/constants/main';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n user : null,\n tokens : [],\n sessionTokens: [],\n\n isSavingProfile : false,\n isChangingPassword : false,\n isFetchingProfile : false,\n isFetchingTokens : false,\n isFetchingSessionTokens: false,\n isSavingToken : false,\n },\n getters : {\n userLang : (state) => {\n let lang = null;\n if (state.user) {\n lang = state.user.language;\n }\n return lang;\n },\n isAdminProfile : (state) => state.user && state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n isReadOnlyProfile: (state) => state.user && (state.user.maxStreamCreation === 0 && !state.user.isAdmin),\n isManaged : (state) => state?.user?.isManaged,\n },\n mutations : {\n setUser (state, { user }) {\n state.user = user ? {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n } : user;\n },\n setTokens (state, { tokens }) {\n state.tokens = tokens;\n },\n setSessionTokens (state, { tokens }) {\n state.sessionTokens = tokens;\n },\n },\n actions : {\n async fetchUser ({ commit, state }) {\n if (state.user) {\n return;\n }\n\n state.isFetchingProfile = true;\n\n await httpClient\n .get(USER_URL)\n .then((res) => {\n commit('setUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingProfile = false;\n });\n },\n saveUser ({ commit, state, dispatch }, { email, login, password, fullName, oldPassword, language }) {\n state.isSavingProfile = true;\n\n httpClient\n .patch(USER_URL, {\n email,\n password,\n oldPassword,\n language,\n fullName,\n name: login,\n })\n .then(() => {\n const adaptedUser = {\n ...state.user,\n isAdmin : state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n readOnly: Number(state.user.maxStreamCreation) === 0\n && state.user.permissionType === USER_PERMISSION_TYPES.USER,\n };\n\n commit('setUser', {\n user: { ...adaptedUser, name: login, email, language, fullName },\n });\n commit(\n 'setNotice',\n { name: PROFILE_UPDATED_NOTICE },\n { root: true },\n );\n\n if (password && oldPassword) {\n dispatch('updateAuthToken', { login, password });\n }\n })\n .finally(() => {\n setTimeout(() => {\n state.isSavingProfile = false;\n }, 300);\n });\n },\n saveUserLang ({ commit, state }, { language }) {\n commit('setUser', { user: { ...state.user, language } });\n\n httpClient\n .patch(USER_URL, { language, email: state.user.email, name: state.user.name });\n },\n updateAuthToken ({ dispatch }, { password, login }) {\n const credentials = {\n password,\n name: login,\n };\n\n dispatch('auth', { credentials }, { root: true });\n },\n clearUser ({ commit }) {\n commit('setUser', { user: null });\n },\n fetchTokens ({ commit }) {\n httpClient\n .get(PROFILE_TOKENS_URL)\n .then((res) => {\n commit('setTokens', { tokens: res.data });\n })\n .finally();\n },\n createToken ({ state, commit }, { expireTime, name }) {\n state.isSavingToken = true;\n\n return httpClient\n .post(PROFILE_TOKEN_URL, { expireTime, name })\n .then((res) => {\n commit('setTokens', { tokens: [res.data, ...state.tokens] });\n return res.data;\n })\n .finally(() => {\n state.isSavingToken = false;\n });\n },\n deleteToken ({ state, dispatch }, { id }) {\n state.isDeletingToken = true;\n\n httpClient\n .delete(getDeleteTokenUrl(id))\n .then(() => {\n dispatch('fetchTokens');\n })\n .catch();\n },\n\n fetchSessionTokens ({ commit, state }) {\n state.isFetchingSessionTokens = true;\n\n httpClient\n .get(SESSIONS_URL)\n .then((res) => {\n commit('setSessionTokens', {\n tokens: res.data.sort((token1, token2) => {\n return token1.lastSeenTime > token2.lastSeenTime ? -1 : 1;\n }),\n });\n })\n .finally(() => {\n state.isFetchingSessionTokens = false;\n });\n },\n async revokeSession ({ dispatch }, { id, isCurrent }) {\n await httpClient\n .delete(getSessionUrlById(id))\n .then(() => {\n if (!isCurrent) {\n dispatch('fetchSessionTokens');\n }\n });\n },\n async terminateSessions ({ dispatch }) {\n await httpClient\n .post(TERMINATE_SESSIONS_URL)\n .then(() => {\n dispatch('fetchSessionTokens');\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n USERS_URL,\n USER_URL,\n STATS_URL,\n CONFIG_URL,\n SYSTEM_STATS_URL,\n API_VERSION_CHECK,\n SERVER_DEBUG_URL,\n getBlockUserUrl,\n getUnblockUserUrl,\n getUserPermissionsUrl,\n getSessionsUserUrl,\n getSessionUserUrl,\n AUDIT_LOGS_URL,\n} from '@/constants/api';\nimport {\n USER_BLOCKED_NOTICE,\n USER_SAVED_NOTICE,\n USER_UNBLOCKED_NOTICE,\n} from '@/constants/noticeTypes';\nimport {\n USER_ACCESSES,\n USER_PERMISSION_TYPES,\n} from '@/constants/main';\n/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport { SERVER_ERROR_CODES } from '@/constants/errorTypes';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n stats : null,\n systemStats : null,\n config : null,\n users : null,\n logs : null,\n currentUser : null,\n isEditMode : false,\n versionInfo : null,\n currentUserPermissions: [],\n sessionTokens : [],\n auditLogs : [],\n isAuditLogsTurnedOff : false,\n\n isFetchingUsers : false,\n isSavingUser : false,\n isFetchingUser : false,\n isDeletingUser : false,\n isFetchingConfig : false,\n isFetchingStats : false,\n isFetchingLogs : false,\n isAddingPermission : false,\n isFetchingPermissions: false,\n isFetchingAuditLogs : false,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n },\n mutations : {\n setUsers (state, { users }) {\n state.users = users;\n },\n setEditMode (state, { isEditMode }) {\n state.isEditMode = isEditMode;\n },\n setCurrentUser (state, { user }) {\n state.currentUser = {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n };\n },\n setStats (state, { stats }) {\n state.stats = stats;\n },\n setConfig (state, { config }) {\n state.config = config;\n },\n setSystemStats (state, { systemStats }) {\n state.systemStats = systemStats;\n },\n setVersionInfo (state, { versionInfo }) {\n state.versionInfo = versionInfo;\n },\n setLogs (state, { logs }) {\n state.logs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n setCurrentUserPermissions (state, { permissions }) {\n state.currentUserPermissions = permissions;\n },\n deleteCurrentUser (state) {\n state.currentUser = null;\n },\n setSessionTokens (state, { tokens }) {\n state.sessionTokens = tokens;\n },\n setAuditLogs (state, { auditLogs }) {\n state.auditLogs = auditLogs;\n },\n setIsAuditLogsTurnedOff (state, { isAuditLogsTurnedOff }) {\n state.isAuditLogsTurnedOff = isAuditLogsTurnedOff;\n },\n },\n actions : {\n fetchUsers ({ commit, state }) {\n state.isFetchingUsers = true;\n\n httpClient\n .get(USERS_URL, {})\n .then((res) => {\n commit('setUsers', { users: res.data });\n })\n .finally(() => {\n state.isFetchingUsers = false;\n });\n },\n fetchUser ({ commit, state }, { login }) {\n state.isFetchingUser = true;\n\n httpClient\n .get(`${USER_URL}/${login}`)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingUser = false;\n });\n },\n addUser ({ dispatch }, { user }) {\n dispatch('saveUser', { user, isAdding: true });\n },\n saveUser ({ commit, state }, { user, isAdding }) {\n const url = isAdding ? USER_URL : `${USER_URL}/${user.name}`;\n state.isSavingUser = true;\n\n const adaptedUser = {\n ...user,\n isAdmin : user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n maxStreamCreation: user.maxStreamCreation === ''\n ? -1 : Number(user.maxStreamCreation),\n };\n\n httpClient\n .post(url, adaptedUser)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n\n commit(\n 'setNotice',\n { name: USER_SAVED_NOTICE },\n { root: true },\n );\n\n commit('setEditMode', { isEditMode: false });\n })\n .finally(() => {\n state.isSavingUser = false;\n });\n },\n updateCurrentUser ({ commit, state, dispatch }, { login }) {\n let user = state.currentUser || null;\n\n if (state.users) {\n state.users.some((item) => {\n if (item.name === login) {\n user = item;\n }\n\n return item.name === login;\n });\n }\n\n if (user) {\n commit('setCurrentUser', { user });\n }\n else {\n dispatch('fetchUser', { login });\n }\n },\n deleteUser ({ dispatch, state }, { login }) {\n state.isDeletingUser = true;\n\n return httpClient\n .delete(`${USER_URL}/${login}`)\n .then(() => {\n dispatch('fetchUsers');\n })\n .finally(() => {\n state.isDeletingUser = false;\n });\n },\n changeUserAccess ({ commit, state }, { login, access }) {\n const url = access === USER_ACCESSES.blocked\n ? getBlockUserUrl(login) : getUnblockUserUrl(login);\n\n return httpClient\n .post(url, { name: login })\n .then(() => {\n commit('setCurrentUser', {\n user: { ...state.currentUser, state: access },\n });\n\n commit(\n 'setNotice',\n { name: access === USER_ACCESSES.blocked ? USER_BLOCKED_NOTICE : USER_UNBLOCKED_NOTICE },\n { root: true },\n );\n });\n },\n clearCurrentUser ({ commit }) {\n commit('deleteCurrentUser');\n commit('setCurrentUserPermissions', { permissions: [] });\n },\n\n fetchStats ({ commit, state }) {\n state.isFetchingStats = true;\n\n httpClient\n .get(STATS_URL, {})\n .then((res) => {\n commit('setStats', { stats: res.data });\n })\n .finally(() => {\n state.isFetchingStats = false;\n });\n },\n fetchConfig ({ commit, state }) {\n state.isFetchingConfig = true;\n\n httpClient\n .get(CONFIG_URL, {})\n .then((res) => {\n commit('setConfig', { config: res.data });\n })\n .finally(() => {\n state.isFetchingConfig = false;\n });\n },\n fetchSystemStats ({ state, commit }) {\n state.isFetchingSystemStats = true;\n\n httpClient\n .get(SYSTEM_STATS_URL, {})\n .then((res) => {\n commit('setSystemStats', { systemStats: res.data });\n })\n .finally(() => {\n state.isFetchingSystemStats = false;\n });\n },\n fetchLogs ({ state, commit }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(SERVER_DEBUG_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs');\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs');\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateVersionData ({ commit }, { version }) {\n axios\n .get(API_VERSION_CHECK, { params: { v: encodeURI(version) } })\n .then((res) => {\n commit('setVersionInfo', { versionInfo: res.data });\n });\n },\n\n fetchUserPermissions ({ commit, state }, { login }) {\n state.isFetchingPermissions = true;\n\n httpClient\n .get(getUserPermissionsUrl(login))\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data || [] });\n })\n .finally(() => {\n state.isFetchingPermissions = false;\n });\n },\n updateUserPermissions ({ commit, state }, { permissions, login }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getUserPermissionsUrl(login), permissions, { timeout: 60000 })\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n fetchSessionTokens ({ commit, state }, { login }) {\n state.isFetchingSessionTokens = true;\n\n httpClient\n .get(getSessionsUserUrl(login))\n .then((res) => {\n commit('setSessionTokens', { tokens: res.data });\n })\n .finally(() => {\n state.isFetchingSessionTokens = false;\n });\n },\n revokeSession ({ dispatch }, { id, login }) {\n httpClient\n .delete(getSessionUserUrl(login, id))\n .then(() => {\n dispatch('fetchSessionTokens', { login });\n });\n },\n fetchAuditLogs ({ state, commit }, { userId = null }) {\n state.isFetchingAuditLogs = true;\n\n const params = {\n page: 1, size: 100,\n };\n if (userId) {\n params.userID = userId;\n }\n\n httpClient\n .get(AUDIT_LOGS_URL, { params })\n .then((res) => {\n commit('setAuditLogs', { auditLogs: res.data });\n commit('setIsAuditLogsTurnedOff', { isAuditLogsTurnedOff: false });\n })\n .catch((error) => {\n if (error.response.data.code === SERVER_ERROR_CODES.AuditLogsDisabled) {\n commit('setIsAuditLogsTurnedOff', { isAuditLogsTurnedOff: true });\n }\n })\n .finally(() => {\n state.isFetchingAuditLogs = false;\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n BASE_STREAM_URL,\n PAUSE_STREAM_URL,\n PREVIEW_STREAM_URL,\n PROBE_STREAM_URL,\n RESUME_STREAM_URL,\n getStreamPermissionsUrl,\n getStreamShareUrl,\n getStreamLogsUrl,\n getStreamInfoUrl,\n} from '@/constants/api';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport { STREAM_SOURCE_ERR } from '@/constants/errorTypes';\nimport { STREAM_INFO_SAVED_NOTICE } from '@/constants/noticeTypes';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\nexport default {\n namespaced: true,\n state : {\n // Add stream\n isSendingStream: false,\n\n fetchingStreamStatusTimer: null,\n cancelStreamInfoRequest : null,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n\n // Info stream\n // Maps of Stream States\n deletingStateMap: {},\n changingStateMap: {},\n\n // StreamPage\n currentStream : null,\n isFetchingRunningStream: false,\n isFetchingStreamInfo : false,\n isDeletedStream : false,\n isFetchingLogs : false,\n\n currentStreamPermissions: [],\n currentStreamLogs : null,\n\n isAddingPermission : false,\n isFetchingStreamPermissions: false,\n },\n mutations : {\n // Add stream\n // Info Stream\n // StreamPage\n setStreamStatus (state, payload) {\n state.currentStream.status = payload;\n },\n setFailureReason (state, payload) {\n state.currentStream.failureReason = payload;\n },\n setStream (state, { stream }) {\n state.currentStream = { ...state.currentStream, ...stream };\n },\n deleteCurrentStream (state) {\n state.currentStream = null;\n state.currentStreamPermissions = null;\n state.currentStreamLogs = null;\n },\n setDeletingStreamState (state, { streamUid, streamState }) {\n const deletingStateMap = JSON.parse(JSON.stringify(state.deletingStateMap));\n deletingStateMap[streamUid] = streamState;\n state.deletingStateMap = deletingStateMap;\n },\n setChangingStreamState (state, { streamUid, streamState }) {\n const changingStateMap = JSON.parse(JSON.stringify(state.changingStateMap));\n changingStateMap[streamUid] = streamState;\n state.changingStateMap = changingStateMap;\n },\n setDeletedStreamState (state, { isDeletedStream }) {\n state.isDeletedStream = isDeletedStream;\n },\n setCurrentStreamPermissions (state, { permissions }) {\n state.currentStreamPermissions = permissions;\n },\n setCancelStreamInfoRequest (state, { cancel }) {\n state.cancelStreamInfoRequest = cancel;\n },\n setFetchingStatusTimer (state, { timer }) {\n state.fetchingStreamStatusTimer = timer;\n },\n clearFetchingStreamStatusTimer (state) {\n clearTimeout(state.fetchingStreamStatusTimer);\n },\n setLogs (state, { logs }) {\n state.currentStreamLogs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n },\n getters : {\n isArchiveEnable: (state) => !!state.currentStream?.archive?.isEnable,\n isLiveOnDemand : (state) => state.currentStream?.live.onDemand,\n },\n actions : {\n // Add stream\n async sendStream ({ commit, state }, payload) {\n let uid = null;\n state.isSendingStream = true;\n\n await httpClient\n .post(BASE_STREAM_URL, payload, { timeout: 35000 })\n .then((res) => {\n commit('deleteError', { name: STREAM_SOURCE_ERR }, { root: true });\n // eslint-disable-next-line prefer-destructuring\n uid = res.data.uid;\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n\n return uid;\n },\n // Info stream\n pauseStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${PAUSE_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n resumeStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${RESUME_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n deleteStream ({ commit }, { streamUid }) {\n commit('setDeletingStreamState', { streamUid, streamState: true });\n\n httpClient\n .delete(`${BASE_STREAM_URL}/${streamUid}`, {\n params: { purge: true },\n })\n .then(() => {\n commit('setDeletedStreamState', { isDeletedStream: true });\n })\n .finally(() => {\n commit('setDeletingStreamState', { streamUid, streamState: false });\n });\n },\n saveStream ({ commit, state, dispatch }, stream) {\n state.isSendingStream = true;\n\n httpClient\n .put(`${BASE_STREAM_URL}/${stream.uid}`, stream)\n .then((res) => {\n commit('setStream', { stream: res.data });\n dispatch('updateStreamInStreams', { stream: res.data });\n commit('setNotice', { name: STREAM_INFO_SAVED_NOTICE }, { root: true });\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n },\n updateStreamInStreams ({ commit, rootState }, { stream }) {\n const streams = rootState.streams.map((streamItem) => {\n if (streamItem.uid === stream.uid) {\n Object.keys(stream).forEach((key) => {\n streamItem[key] = stream[key];\n });\n }\n return streamItem;\n });\n commit('setStreams', { streams }, { root: true });\n },\n async probeStream (store, { streamUrl, streamId }) {\n return axios\n .get(PROBE_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n async previewStream (store, { streamUrl, streamId }) {\n return axios\n .get(PREVIEW_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n // Info stream, StreamPage\n runUpdatingStreamStatus ({ commit, dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingStatusTimer', { timer });\n }, 1000);\n\n commit('setFetchingStatusTimer', { timer });\n },\n clearStreamTimers ({ commit, state }) {\n commit('clearFetchingStreamStatusTimer');\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n },\n shareStream (store, { streamUid }) {\n return httpClient\n .get(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n denyStreamPublicAccess (store, { streamUid }) {\n return httpClient\n .delete(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n\n // StreamPage\n fetchStream ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingRunningStream = true;\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer))\n .then((res) => {\n commit('setStream', { stream: res.data });\n })\n .finally(() => {\n state.isFetchingRunningStream = false;\n });\n },\n fetchStreamStatus ({ commit, state, getters }, { streamUid, isPlayer }) {\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n if (state.currentStream) {\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n commit('setFailureReason', res.data.failureReason);\n });\n }\n },\n fetchStreamInfo ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingStreamInfo = true;\n\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStream', { stream: res.data });\n state.isFetchingStreamInfo = false;\n })\n .catch(() => {\n state.isFetchingStreamInfo = false;\n });\n },\n fetchLogs ({ state, commit }, { uid }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(getStreamLogsUrl(uid), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }, { uid }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs', { uid });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs', { uid });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateCurrentStream ({ dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStream', { streamUid, isPlayer });\n },\n clearCurrentStream ({ commit }) {\n commit('deleteCurrentStream');\n },\n fetchStreamPermissions ({ commit, state }, { streamUid }) {\n state.isFetchingStreamPermissions = true;\n\n httpClient\n .get(getStreamPermissionsUrl(streamUid))\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isFetchingStreamPermissions = false;\n });\n },\n updatePermissions ({ commit, state }, { permissions, streamUid }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getStreamPermissionsUrl(streamUid), permissions)\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport { LICENSE_URL } from '@/constants/api';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n license : null,\n isFetchingLicense: false,\n },\n mutations : {\n setLicense (state, { license }) {\n state.license = license;\n },\n },\n actions : {\n fetchLicense ({ commit, state }) {\n state.isFetchingLicense = true;\n\n httpClient\n .get(LICENSE_URL)\n .then((res) => {\n commit('setLicense', { license: res.data });\n })\n .finally(() => {\n state.isFetchingLicense = false;\n });\n },\n async putLicense ({ state, commit, dispatch }, { license }) {\n state.isSavingLicense = true;\n\n await httpClient\n .put(LICENSE_URL, { text: license })\n .then((res) => {\n commit('setLicense', { license: res.data });\n dispatch('fetchSettings', {}, { root: true });\n })\n .finally(() => {\n state.isSavingLicense = false;\n });\n },\n },\n};\n","// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport {\n ALL_MOSAICS_URL,\n MOSAIC_URL,\n} from '@/constants/api';\n\nexport default {\n namespaced: true,\n state : {\n mosaics : [],\n currentMosaic : null,\n isFetchingAllMosaics: false,\n isFetchingMosaic : false,\n isDeleting : false,\n\n fetchingMosaicTimer: null,\n },\n actions : {\n async postMosaic (store, data) {\n let mosaic = null;\n\n await httpClient\n .post(MOSAIC_URL, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async saveMosaic (store, { id, data }) {\n let mosaic = null;\n\n await httpClient\n .post(`${MOSAIC_URL}/${id}`, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async fetchAllMosaics ({ commit, state }) {\n state.isFetchingAllMosaics = true;\n\n await httpClient\n .get(ALL_MOSAICS_URL)\n .then((res) => {\n commit('setMosaics', { mosaics: res.data });\n })\n .finally(() => {\n state.isFetchingAllMosaics = false;\n });\n },\n async fetchMosaic ({ state, commit }, { id, isPlay }) {\n state.isFetchingMosaic = true;\n let mosaicUrl = `${MOSAIC_URL}/${id}`;\n\n if (isPlay) {\n mosaicUrl += '?extend_lease=true';\n }\n\n return httpClient\n .get(mosaicUrl)\n .then((res) => {\n commit('setMosaic', { mosaic: res.data });\n return res.data;\n })\n .finally(() => {\n state.isFetchingMosaic = false;\n });\n },\n async deleteMosaic ({ state }, { id }) {\n state.ieDeleting = true;\n\n await httpClient\n .delete(`${MOSAIC_URL}/${id}`)\n .then()\n .finally(() => {\n state.ieDeleting = false;\n });\n },\n runUpdatingMosaic ({ commit, dispatch }, { id, isPlay }) {\n dispatch('fetchMosaic', { id, isPlay });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchMosaic', { id, isPlay });\n\n timer = setTimeout(tick, 10000);\n commit('setFetchingMosaicTimer', { timer });\n }, 10000);\n\n commit('setFetchingMosaicTimer', { timer });\n },\n clearTimers ({ commit, state }) {\n clearTimeout(state.fetchingMosaicTimer);\n commit('setFetchingMosaicTimer', { timer: null });\n },\n clearCurrentMosaic ({ commit }) {\n commit('setMosaic', { mosaic: null });\n },\n },\n mutations : {\n setMosaics (state, { mosaics }) {\n state.mosaics = mosaics;\n },\n setMosaic (state, { mosaic }) {\n state.currentMosaic = mosaic;\n },\n setFetchingMosaicTimer (state, { timer }) {\n state.fetchingMosaicTimer = timer;\n },\n },\n};\n","/* eslint-disable import/no-cycle */\n\nimport httpClient from '@/config/httpClient';\nimport PAGES from '@/constants/pages';\nimport { GETTING_STREAMS_URL } from '@/constants/api';\nimport {\n GROUP_TYPES_KEYS,\n SORT_TYPES_KEYS,\n STREAM_STATUS,\n VIEW_MODES_KEYS,\n} from '@/constants/main';\nimport {\n getGroupedStreams,\n saveToLocalStorage,\n} from '@/store/utilities';\n\nexport default {\n namespaced: true,\n state : {\n streams: [],\n\n viewModeKey : VIEW_MODES_KEYS.GRID,\n groupType : GROUP_TYPES_KEYS.NO_GROUP,\n sortType : SORT_TYPES_KEYS.DATE, // for LocalStorage\n pageNumberOfStreams: 1,\n searchingValues : [],\n\n isShownAvailableStreams: false,\n isFetchingStreams : true,\n isCheckingMode : false,\n },\n mutations : {\n setStreams (state, payload) {\n state.streams = [...payload.streams];\n },\n setGroupType (state, payload) {\n state.groupType = payload;\n },\n setSearchingValues (state, payload) {\n state.searchingValues = [...payload];\n },\n setViewModeKey (state, payload) {\n state.viewModeKey = payload;\n },\n setShowingAvailableState (state, payload) {\n state.isShownAvailableStreams = payload;\n },\n setStreamsStatuses (state, payload) {\n state.streams = [...payload.streams];\n },\n },\n getters : {\n /* eslint-disable-next-line */\n availableStreams: (state) => {\n return state.streams.filter((stream) => stream.status === STREAM_STATUS.PENDING\n || stream.status === STREAM_STATUS.RUNNING);\n },\n searchedStreams : (state, getters) => {\n const uniqueStreamsIds = {};\n let allSearchedStreams = [];\n let streams = state.isShownAvailableStreams ? getters.availableStreams : state.streams;\n\n function getValuesForSearching (stream) {\n let valuesForSearching = [stream.name, stream.streamSource];\n\n if (stream.tags && stream.tags.length > 0) {\n valuesForSearching = [...valuesForSearching, ...stream.tags];\n }\n\n return valuesForSearching;\n }\n\n if (state.searchingValues.length > 0) {\n state.searchingValues.forEach((searchingValue) => {\n streams.forEach((stream) => {\n uniqueStreamsIds[stream.uid] = false;\n\n const valuesForSearching = getValuesForSearching(stream);\n\n if (stream.location && stream.location.name) {\n valuesForSearching.push(stream.location.name);\n }\n\n valuesForSearching.forEach((item) => {\n if (item\n && item.toLowerCase().indexOf(searchingValue.toLowerCase()) !== -1\n && uniqueStreamsIds[stream.uid] !== true) {\n allSearchedStreams.push(stream);\n uniqueStreamsIds[stream.uid] = true;\n }\n });\n });\n streams = [...allSearchedStreams];\n allSearchedStreams = [];\n });\n }\n return streams;\n },\n groupedStreams : (state, getters) => {\n switch (state.groupType) {\n case GROUP_TYPES_KEYS.TAG:\n return getters.groupedByTags;\n default:\n return {\n NO_GROUP: {\n name : 'All',\n streams: getters.searchedStreams,\n },\n };\n }\n },\n groupedByTags : (state, getters) => getGroupedStreams(getters.searchedStreams, GROUP_TYPES_KEYS.TAG),\n // AUTOCOMPLETE\n autocomplete: (state) => {\n const autocomplete = {\n names : [],\n tags : [],\n markers : [],\n locations: [],\n };\n\n const markers = {};\n const tags = {};\n const locations = {};\n\n state.streams.forEach((stream) => {\n autocomplete.names.push({ value: stream.name });\n\n if (stream.meta && stream.meta.marker) {\n markers[stream.meta.marker] = true;\n }\n\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n tags[tag] = true;\n });\n }\n\n if (stream.location && stream.location.name && stream.location.name.length > 0) {\n locations[stream.location.name] = true;\n }\n });\n\n Object.keys(markers).forEach((key) => {\n autocomplete.markers.push({ value: key });\n });\n Object.keys(tags).forEach((key) => {\n autocomplete.tags.push({ value: key });\n });\n Object.keys(locations).forEach((key) => {\n autocomplete.locations.push({ value: key });\n });\n\n return autocomplete;\n },\n },\n actions : {\n fetchStreams ({ commit, state }) {\n state.isFetchingStreams = true;\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n onlyAvailable : state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit('setStreams', { streams: res.data });\n state.isFetchingStreams = false;\n });\n },\n fetchStreamsStatuses ({ commit, state }) {\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n isOnlyAvailable: state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit('setStreamsStatuses', { streams: res.data });\n });\n },\n updateStreams ({ commit, state }, payload) {\n commit('setStreams', { streams: payload });\n state.isFetchingStreams = false;\n },\n updateStreamsStatuses ({ dispatch }, payload) {\n dispatch('fetchStreamsStatuses', payload);\n },\n groupStreams ({ commit }, payload) {\n commit('setGroupType', payload);\n saveToLocalStorage({\n key : 'groupType',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n searchStreams ({ commit }, payload) {\n commit('setSearchingValues', payload);\n saveToLocalStorage({\n key : 'searchingValues',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n changeViewMode ({ commit }, payload) {\n commit('setViewModeKey', payload);\n saveToLocalStorage({\n key : 'viewModeKey',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n toggleShowingAvailable ({ commit }, payload) {\n commit('setShowingAvailableState', payload);\n saveToLocalStorage({\n key : 'isShownAvailableStreams',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n\n getStreamsPageSettingFromLocalStorage ({ commit }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(PAGES.ALL_STREAMS));\n\n if (streamsPageSettings) {\n [\n { name: 'setSearchingValues', property: 'searchingValues' },\n { name: 'setViewModeKey', property: 'viewModeKey' },\n { name: 'setShowingAvailableState', property: 'isShownAvailableStreams' },\n { name: 'setGroupType', property: 'groupType' },\n ].forEach((item) => {\n if (streamsPageSettings[item.property]) {\n commit(item.name, streamsPageSettings[item.property]);\n }\n });\n }\n },\n },\n};\n","import axios from 'axios';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport {\n TUNNEL_START_URL,\n TUNNEL_STATUS_URL,\n TUNNEL_STOP_URL,\n} from '@/constants/api';\nimport STATUSES from '../../components/tunnel/statuses';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n address : '',\n fetchingStatusTimer: null,\n cancelStatusRequest: null,\n status : STATUSES.disconnected,\n isConnected : false,\n isStoppingTunnel : false,\n isStartingTunnel : false,\n isOpenSettings : false,\n error : null,\n },\n mutations : {\n setConnectedStatus (state, { isConnected }) {\n state.isConnected = isConnected;\n },\n setStatus (state, { status }) {\n state.status = status;\n },\n setAddress (state, { address }) {\n state.address = address;\n },\n setFetchingStatusTimer (state, { timer }) {\n state.fetchingStatusTimer = timer;\n },\n setCancelStatusRequest (state, { cancel }) {\n state.cancelStatusRequest = cancel;\n },\n setOpenSettingsState (state, { isOpenSettings }) {\n state.isOpenSettings = isOpenSettings;\n },\n clearFetchingStatusTimer (state) {\n clearTimeout(state.fetchingStatusTimer);\n },\n setTunnelError (state, { error }) {\n state.error = error;\n },\n },\n actions : {\n async startTunnel ({ state, dispatch }, { location }) {\n if (state.cancelStatusRequest) {\n state.cancelStatusRequest('replaced');\n }\n\n state.isStartingTunnel = true;\n await httpClient\n .post(TUNNEL_START_URL, { location })\n .then(() => {\n dispatch('runFetchingTunnelStatus');\n })\n .catch()\n .finally();\n },\n async stopTunnel ({ state, commit }) {\n state.isStoppingTunnel = true;\n await httpClient\n .post(TUNNEL_STOP_URL)\n .then(() => {\n commit('setAddress', { address: '' });\n })\n .catch()\n .finally();\n },\n fetchTunnelStatus ({ state, commit }) {\n if (state.cancelStatusRequest) {\n state.cancelStatusRequest('replaced');\n }\n\n return httpClient\n .get(TUNNEL_STATUS_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStatusRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setConnectedStatus', { isConnected: res.data.status === 'connected' });\n commit('setStatus', { status: res.data.status });\n commit('setAddress', { address: res.data.address });\n\n if (res.data.error) {\n commit('setTunnelError', { error: res.data.error });\n }\n else {\n commit('setTunnelError', { error: null });\n }\n return res.data.status;\n })\n .catch()\n .finally(() => {\n state.isStartingTunnel = false;\n state.isStoppingTunnel = false;\n });\n },\n\n runFetchingTunnelStatus ({ commit, dispatch }) {\n dispatch('clearFetchingStatusTimer');\n dispatch('fetchTunnelStatus');\n\n let timer = setTimeout(function tick () {\n dispatch('fetchTunnelStatus')\n .then((status) => {\n if (status !== STATUSES.disconnected) {\n timer = setTimeout(tick, 1000);\n commit('setFetchingStatusTimer', { timer });\n }\n });\n }, 1000);\n\n commit('setFetchingStatusTimer', { timer });\n },\n clearFetchingStatusTimer ({ commit, state }) {\n commit('clearFetchingStatusTimer');\n\n if (state.cancelStatusRequest) {\n state.cancelStatusRequest('replaced');\n }\n },\n\n toggleSettings ({ state, commit }) {\n commit('setOpenSettingsState', { isOpenSettings: !state.isOpenSettings });\n },\n closeSettings ({ commit }) {\n commit('setOpenSettingsState', { isOpenSettings: false });\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport axios from 'axios';\nimport httpClient from '@/config/httpClient';\nimport {\n CLUSTER_NODES_URL,\n getClusterNodeDeleteUrl,\n getClusterNodeDrainUrl,\n getClusterNodeUrl,\n INTERNAL_NODES_URL,\n} from '@/constants/api';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n clusterNodes : null,\n isFetchingClusterNodes: false,\n isDrainingNode : false,\n isDeletingNode : false,\n\n fetchingNodesTimer: null,\n cancelNodesRequest: null,\n },\n mutations : {\n setClusterNodes (state, { nodes }) {\n state.clusterNodes = nodes;\n },\n setFetchingNodesTimer (state, { timer }) {\n state.fetchingNodesTimer = timer;\n },\n clearFetchingNodesTimer (state) {\n clearTimeout(state.fetchingNodesTimer);\n },\n setCancelNodesRequest (state, { cancel }) {\n state.cancelNodesRequest = cancel;\n },\n },\n actions : {\n async fetchNodes ({ state, commit }, { isAdminProfile }) {\n if (state.cancelNodesRequest) {\n state.cancelNodesRequest('replaced');\n }\n\n state.isFetchingClusterNodes = true;\n\n await httpClient\n .get(isAdminProfile ? CLUSTER_NODES_URL : INTERNAL_NODES_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelNodesRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setClusterNodes', { nodes: res.data || null });\n })\n .finally(() => {\n state.isFetchingClusterNodes = false;\n });\n },\n async updateNode ({ state, dispatch }, { id, name, isAdminProfile }) {\n state.isUpdatingNode = true;\n\n await httpClient\n .post(getClusterNodeUrl(id), { name })\n .then(() => {\n dispatch('fetchNodes', { isAdminProfile });\n })\n .finally(() => {\n state.isUpdatingNode = false;\n });\n },\n async drainNode ({ state, dispatch }, { id, isAdminProfile }) {\n state.isDrainingNode = true;\n\n await httpClient\n .post(getClusterNodeDrainUrl(id))\n .then(() => {\n dispatch('fetchNodes', { isAdminProfile });\n })\n .finally(() => {\n state.isDrainingNode = false;\n });\n },\n async deleteNode ({ state, dispatch }, { id, isAdminProfile }) {\n state.isDeletingNode = true;\n\n await httpClient\n .delete(getClusterNodeDeleteUrl(id))\n .then(() => {\n dispatch('fetchNodes', { isAdminProfile });\n })\n .finally(() => {\n state.isDeletingNode = false;\n });\n },\n runUpdatingNodes ({ state, commit, dispatch }, { isAdminProfile }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchNodes', { isAdminProfile });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchNodes', { isAdminProfile });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingNodesTimer', { timer });\n }, 1000);\n\n commit('setFetchingNodesTimer', { timer });\n },\n clearNodesTimer ({ commit, state }) {\n commit('clearFetchingNodesTimer');\n\n if (state.cancelNodesRequest) {\n state.cancelNodesRequest('replaced');\n }\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport {\n PASSWORD_SEND_RESET_URL,\n PASSWORD_RESET_URL,\n} from '@/constants/api';\nimport {\n RECOVERY_CODE_SENT,\n PASSWORD_CHANGED,\n} from '@/constants/noticeTypes';\n\nexport default {\n namespaced: true,\n state : {\n isSendingCode : false,\n isResetInProcess : false,\n retryAfterTime : 0,\n },\n actions : {\n async sendCode ({ commit, dispatch }, { email }) {\n commit('setIsSendingCode', { isSendingCode: true });\n\n await httpClient\n .post(PASSWORD_SEND_RESET_URL, { email })\n .then((res) => {\n commit(\n 'setNotice',\n { name: RECOVERY_CODE_SENT },\n { root: true },\n );\n dispatch('disableSendingCode', {\n delayTime: res.headers['retry-after']\n ? res.headers['retry-after'] * 1000\n : 0,\n });\n })\n .catch((err) => {\n dispatch('disableSendingCode', {\n delayTime: err.response.headers['retry-after']\n ? err.response.headers['retry-after'] * 1000\n : 0,\n });\n })\n .finally(() => {\n commit('setIsSendingCode', { isSendingCode: false });\n });\n },\n async reset ({ commit }, { code, password, email }) {\n commit('setIsResetInProcess', { isResetInProcess: true });\n\n await httpClient\n .post(PASSWORD_RESET_URL, { code, password, email })\n .then(() => {\n commit(\n 'setNotice',\n { name: PASSWORD_CHANGED },\n { root: true },\n );\n })\n .finally(() => {\n commit('setIsResetInProcess', { isResetInProcess: false });\n });\n },\n disableSendingCode ({ commit }, { delayTime }) {\n let timerTime = delayTime;\n commit('setRetryAfterTime', { retryAfterTime: timerTime });\n const timer = setInterval(() => {\n timerTime -= 1000;\n commit('setRetryAfterTime', { retryAfterTime: timerTime });\n }, 1000);\n\n setTimeout(() => {\n commit('setRetryAfterTime', { retryAfterTime: 0 });\n clearInterval(timer);\n }, delayTime);\n },\n },\n mutations : {\n setIsResetInProcess (state, { isResetInProcess }) {\n state.isResetInProcess = isResetInProcess;\n },\n setIsSendingCode (state, { isSendingCode }) {\n state.isSendingCode = isSendingCode;\n },\n setRetryAfterTime (state, { retryAfterTime }) {\n state.retryAfterTime = retryAfterTime / 1000;\n },\n },\n};\n","/* eslint-disable import/no-cycle */\n\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport router from '@/router';\nimport httpClient from '@/config/httpClient';\nimport PAGES from '@/constants/pages';\nimport {\n PANEL_SIZE,\n FEATURES,\n} from '@/constants/main';\nimport {\n HEALTH_URL,\n SIGN_IN_URL,\n SIGN_OUT_URL,\n SYSTEM_SETTINGS_URL,\n UNLOCK_URL,\n} from '@/constants/api';\nimport { CREDENTIALS_ERR } from '@/constants/errorTypes';\nimport { getCookie } from '@/extends/lib';\nimport {\n isMediaAtLeast720,\n isMobile,\n} from '@/extends/browserEnv';\nimport { destinationPageStorage } from '@/extends/storageServices';\nimport { saveToLocalStorage } from './utilities';\nimport player from './player/player';\nimport profile from './profile';\nimport admin from './admin';\nimport streamStore from './stream';\nimport license from './license';\nimport mosaic from './mosaic';\nimport streams from './streams';\nimport tunnel from './tunnel';\nimport cluster from './cluster';\nimport auth from './auth';\n\nVue.use(Vuex);\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\nexport default new Vuex.Store({\n modules : {\n admin,\n player,\n profile,\n streamStore,\n license,\n mosaic,\n streams,\n tunnel,\n cluster,\n auth,\n },\n state : {\n version: null,\n config : null,\n\n // Auth\n isAuthLoading : false,\n isAdminCreating: false,\n\n // for LocalStorage\n isFixContent: true,\n isOpenAside : false,\n\n // GENERAL для всех страниц\n tabs : null,\n headerHeight : PANEL_SIZE,\n errors : {},\n notice : {},\n healthWarnings : [],\n isMediaAtLeast720 : isMediaAtLeast720(),\n isCardMode : isMobile && !isMediaAtLeast720,\n isShowServerSwitcher: false,\n isNotFoundPage : false,\n },\n mutations: {\n // Auth Page\n setVersion (state, { version }) {\n state.version = version;\n },\n setHealthWarnings (state, { healthWarnings }) {\n state.healthWarnings = healthWarnings;\n },\n setAuthState (state, { value }) {\n state.isAuthLoading = value;\n },\n\n // General\n setFoundingPageState (state) {\n state.isNotFoundPage = !state.isNotFoundPage;\n },\n setError (state, { name, error }) {\n state.errors[name] = error;\n state.errors = { ...state.errors };\n },\n deleteError (state, { name }) {\n if (state.errors[name]) {\n delete state.errors[name];\n }\n state.errors = { ...state.errors };\n },\n setCreatingAdminState (state, { value }) {\n state.isAdminCreating = value;\n },\n setAsideState (state, payload) {\n state.isOpenAside = payload;\n },\n setNotice (state, { name, message, type }) {\n state.notice = { name, message, type };\n },\n deleteNotice (state, { name }) {\n state.notice = null;\n },\n setHeaderHeight (state, { headerHeight }) {\n state.headerHeight = headerHeight;\n },\n setIsMediaAtLeast720 (state) {\n state.isMediaAtLeast720 = isMediaAtLeast720();\n },\n setIsShowServerSwitcher (state, { isShowServerSwitcher }) {\n state.isShowServerSwitcher = isShowServerSwitcher;\n },\n setPageTabs (state, { tabs }) {\n state.tabs = tabs;\n },\n setConfig (state, { config }) {\n state.config = config;\n },\n },\n getters : {\n isMobile : () => isMobile,\n isTunnelEnabled : (state) => {\n return !state.config.isLicenseExpired && state.config.features[FEATURES.tunnel];\n },\n isUnavailableNode : (state, getters) => {\n return getters.getIsUnavailableNode(state.streamStore.currentStream);\n },\n getIsUnavailableNode: (state) => (stream) => {\n return state.config\n && state.config.clusterEnabled\n && stream\n && state.config.nodeId !== stream.node.id\n && !stream.node.available;\n },\n },\n actions : {\n // Init Page\n createAdmin ({ commit, dispatch }, { settings }) {\n commit('setCreatingAdminState', { value: true });\n\n httpClient\n .post(UNLOCK_URL, settings)\n .then((res) => {\n commit('deleteError', { name: CREDENTIALS_ERR });\n router.replace({ name: PAGES.ALL_STREAMS });\n })\n .finally(() => {\n commit('setCreatingAdminState', { value: false });\n });\n },\n // Auth Page\n auth ({ commit, dispatch }, { credentials }) {\n commit('setAuthState', { value: true });\n\n httpClient\n .post(SIGN_IN_URL, credentials)\n .then((res) => {\n commit('deleteError', { name: CREDENTIALS_ERR });\n\n const redirectPage = res.data.mustChangePassword ? PAGES.PROFILE_EDIT : PAGES.ALL_STREAMS;\n\n router.replace(destinationPageStorage.getItem() || {\n name : redirectPage,\n params: { mustChangePassword: res.data.mustChangePassword },\n });\n destinationPageStorage.removeItem();\n })\n .finally(() => {\n commit('setAuthState', { value: false });\n });\n },\n logout ({ dispatch }) {\n httpClient\n .post(SIGN_OUT_URL)\n .then(() => {\n dispatch('profile/clearUser');\n destinationPageStorage.removeItem();\n router.replace({ name: PAGES.AUTH });\n })\n .finally();\n },\n hasPermission () {\n return !!getCookie('token');\n },\n async checkPermission ({ dispatch, commit }) {\n return httpClient\n .get(HEALTH_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n return { status: true };\n })\n .catch((error) => ({ statusCode: error.response.status, status: false }));\n },\n async fetchHealth ({ commit, state, dispatch }) {\n if (state.version) {\n return;\n }\n await httpClient\n .get(HEALTH_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n });\n },\n updateVersion ({ commit, state, dispatch }, { version }) {\n commit('setVersion', { version });\n },\n\n changeAsideState ({ commit }, payload) {\n commit('setAsideState', payload);\n saveToLocalStorage({\n key : 'isOpenAside',\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n toggleFoundingPageState ({ commit }) {\n commit('setFoundingPageState');\n },\n getPageSettingFromLocalStorage ({ commit }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(PAGES.ALL_STREAMS));\n\n if (streamsPageSettings) {\n commit('setAsideState', streamsPageSettings.isOpenAside);\n }\n },\n setError ({ commit, state }, { errorMsg, errorName }) {\n commit('setError', { name: errorName, error: errorMsg });\n },\n deleteError ({ commit }, { errorName }) {\n commit('deleteError', { name: errorName });\n },\n setNotice ({ commit, state, dispatch }, { name, message }) {\n commit('setNotice', { name, message });\n },\n deleteNotice ({ commit }, { name }) {\n commit('deleteNotice', { name });\n },\n resizeApp ({ commit }) {\n commit('setIsMediaAtLeast720');\n },\n\n fetchSettings ({ commit }) {\n return httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n commit('setConfig', { config: res.data });\n return res.data;\n });\n },\n },\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"8\":\"stream-info\",\"39\":\"help\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"187\":\"add-stream\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"233\":\"admin-config\",\"241\":\"profile-sessions\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"359\":\"user-sessions\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"615\":\"bookmarks\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"835\":\"audit-logs\",\"845\":\"profile\",\"899\":\"recover-password\",\"914\":\"server-debug\",\"942\":\"not-found\",\"946\":\"tunnel\",\"999\":\"admin-cluster\"}[chunkId] || chunkId) + \".\" + {\"8\":\"f2003d98\",\"15\":\"b8b6e025\",\"39\":\"433fd1e8\",\"82\":\"72f763bc\",\"89\":\"9b117769\",\"116\":\"49463541\",\"134\":\"cbb6e1b2\",\"179\":\"697ba20a\",\"186\":\"9be2fd1e\",\"187\":\"11ac4d4b\",\"199\":\"be729eb5\",\"212\":\"28c6692b\",\"233\":\"a354f490\",\"241\":\"b9add247\",\"243\":\"5e017e76\",\"260\":\"5c0e242f\",\"328\":\"b20dc17b\",\"339\":\"a6441f70\",\"359\":\"96806dbe\",\"378\":\"0150d829\",\"386\":\"15d23b44\",\"391\":\"026f77f3\",\"408\":\"03d0373a\",\"410\":\"7f190579\",\"443\":\"86b056d7\",\"466\":\"446b1ebd\",\"485\":\"d8e3fbfd\",\"515\":\"0015a28a\",\"517\":\"a7b049c7\",\"569\":\"3435d6fd\",\"615\":\"88553d63\",\"632\":\"4256dcd5\",\"658\":\"db6acc97\",\"768\":\"664fed90\",\"818\":\"58d9f6b8\",\"835\":\"9a36722e\",\"845\":\"51dcaef5\",\"899\":\"9f71cf07\",\"914\":\"6729b43a\",\"942\":\"23af63a4\",\"946\":\"b0a7a2be\",\"999\":\"0bb0db34\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + ({\"8\":\"stream-info\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"187\":\"add-stream\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"241\":\"profile-sessions\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"359\":\"user-sessions\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"835\":\"audit-logs\",\"845\":\"profile\",\"899\":\"recover-password\",\"914\":\"server-debug\",\"942\":\"not-found\",\"946\":\"tunnel\",\"999\":\"admin-cluster\"}[chunkId] || chunkId) + \".\" + {\"8\":\"c6cac03d\",\"82\":\"b30fb0b3\",\"89\":\"b49613a6\",\"179\":\"a69ce50f\",\"186\":\"a85ee9b9\",\"187\":\"e96fde02\",\"199\":\"ca48c32d\",\"212\":\"d94449b0\",\"241\":\"804aeb90\",\"260\":\"a776d6a2\",\"328\":\"a9a20e44\",\"339\":\"57479ab2\",\"359\":\"804aeb90\",\"378\":\"297347ac\",\"391\":\"59e0f9e4\",\"410\":\"8c49bcda\",\"443\":\"59c28c87\",\"485\":\"1b44a906\",\"515\":\"a71c9e4e\",\"569\":\"24213a84\",\"632\":\"c472ba01\",\"768\":\"569005fc\",\"818\":\"5812e3d0\",\"835\":\"3479a6d6\",\"845\":\"16eb29d9\",\"899\":\"7e7aea4a\",\"914\":\"59c28c87\",\"942\":\"b069f0ce\",\"946\":\"a6d04bfc\",\"999\":\"68ba6e10\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"yucca:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/ui/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"8\":1,\"82\":1,\"89\":1,\"179\":1,\"186\":1,\"187\":1,\"199\":1,\"212\":1,\"241\":1,\"260\":1,\"328\":1,\"339\":1,\"359\":1,\"378\":1,\"391\":1,\"410\":1,\"443\":1,\"485\":1,\"515\":1,\"569\":1,\"632\":1,\"768\":1,\"818\":1,\"835\":1,\"845\":1,\"899\":1,\"914\":1,\"942\":1,\"946\":1,\"999\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkyucca\"] = self[\"webpackChunkyucca\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(3990); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","isHeader","attrs","logo","staticRenderFns","THEMES","light","dark","LOGOS","name","props","theme","type","default","computed","component","alertCssClasses","_e","_v","_s","title","_t","SUCCESS","hasIcon","DANGER","WARNING","ATTENTION","ATTENTION_INFO","ATTENTION_WARNING","ATTENTION_DANGER","isFixed","fixed","ref","style","datepickerId","rangeType","lang","startDate","correctedNumberOfMonth","isHighlightToday","isHighlightWeekend","period","maxRange","minAllowedDate","maxAllowedDate","significantDates","isDisabledDate","on","decreaseMonth","increaseMonth","onClickDay","minDate","maxDate","months","isMultiRangeType","_l","month","key","monthLabel","yearLabel","weekdayLabel","highlightWeekday","week","day","refInFor","getDayClasses","date","$event","preventDefault","dayNumber","isDisablePrevMonthBtn","isDisableNextMonthBtn","methods","PropertyError","property","message","Error","captureStackTrace","stack","getDefaultStartDate","components","YccCalendarControls","calendarId","numberOfMonth","useControls","customPeriods","notSelectedDates","isSelectingOnePeriod","isSelecting","selectedPeriod","underCursor","start","end","selectingCustomPeriod","selectingDates","dayjs","watch","deep","periodStyle","allPeriodProperties","getMonths","firstWeekdayInMonth","daysInMonth","monthNumber","weeks","days","getWeeksWithDays","dayIndexStart","dayIndexStop","monthDay","isMonthStarted","weekDay","dateProperties","isMonthEnded","correctLocaleWeekdays","correctedFirstWeekday","dayClass","getExtremumDate","getSettingsMinDate","getSettingsMaxDate","hasDay","isWeekend","isToday","isIncludedInSelectedPeriod","isStart","isEnd","isDisableDate","isIncludedInSignificantDates","weekend","today","selected","setSelectedPeriod","onMouseEnterToDay","elem","onClickDaySingleHandler","onClickDayPeriodHandler","onClickDayMultiHandler","periods","isIncludedInSelectedPeriods","isIncludedInNotSelectedDates","deleteDateFromSelected","YccCalendar","location","isInline","isOpen","datepickerStyles","width","top","left","changeMonthYear","year","menuState","state","uniqueKey","disabled","changeState","NOT_CLOSING","CLOSING","SUBMENU","MENU_CONTENT","SHOW","dropdownMenuState","visibleMenu","stateFromProps","handler","immediate","window","event","closeDropdownMenu","showSubmenu","isChildElem","selector","deleteShowClass","e","findElems","isOpenerEqualContent","hintId","openHint","closeHint","position","hint","isDark","maxWidth","openerElem","validationCssClass","error","disconnected","connected","connecting","TYPES","PERIOD","SINGLE","MULTI","WEEKDAY_LABELS","ru","en","MAX_MONTH_IN_LINE","MAX_MONTH_IN_DATEPICKER","MONTH_WIDTH","ISO_DATE_FORMAT","DEFAULT_STATE","size","isDisabled","TEXT_POSITIONS","LEFT","RIGHT","TEXT_POSITION_CSS_CLASSES","RANGE_TYPES","LIVE","GAP","FRAGMENT","ANNOTATION_TYPES","EVENT","THUMB","SPEED_INDEXES","getThumbId","playerId","getProgressBarId","getCurrentDateId","$http","axios","interceptors","request","use","config","Promise","reject","response","status","router","path","data","code","SERVER_ERROR_CODES","store","errorMsg","ACCESS_DENIED_ERR","errorName","SERVER_ERR","SERVER_UNKNOWN_ERR","SERVER_NOT_RESPONSE_ERR","BASE_STREAM_URL","GETTING_STREAMS_URL","PAUSE_STREAM_URL","RESUME_STREAM_URL","PROBE_STREAM_URL","PREVIEW_STREAM_URL","getArchiveUrl","streamUid","getRangesUrl","getArchiveStatsUrl","getAvailableDaysUrl","getDownloadArchiveUrl","getStreamPermissionsUrl","getStreamLogsUrl","getStreamShareUrl","getStreamInfoUrl","isLiveOnDemand","SYSTEM_SETTINGS_URL","SYSTEM_SEARCH","UNLOCK_URL","HEALTH_URL","LICENSE_URL","SERVER_DEBUG_URL","SYSTEM_STATS_URL","SIGN_IN_URL","SIGN_OUT_URL","USER_URL","USERS_URL","getBlockUserUrl","login","getUserPermissionsUrl","getUnblockUserUrl","getSessionsUserUrl","getSessionUserUrl","tokenId","PROFILE_TOKENS_URL","PROFILE_TOKEN_URL","getDeleteTokenUrl","STATS_URL","CONFIG_URL","AUDIT_LOGS_URL","ANNOTATIONS_URL","MOSAIC_URL","ALL_MOSAICS_URL","API_VERSION_CHECK","SESSIONS_URL","TERMINATE_SESSIONS_URL","getSessionUrlById","id","TUNNEL_START_URL","TUNNEL_STOP_URL","TUNNEL_STATUS_URL","CLUSTER_NODES_URL","INTERNAL_NODES_URL","getClusterNodeUrl","nodeId","getClusterNodeDrainUrl","getClusterNodeDeleteUrl","PASSWORD_SEND_RESET_URL","PASSWORD_RESET_URL","CREDENTIALS_ERR","STREAM_SOURCE_ERR","STREAM_NAME_ERR","ARCHIVE_DEPTH_ERR","CLUSTER_NODE_ERR","AlreadyUsed","AuthorizationFailed","EnterpriseOnly","Forbidden","InternalServerError","InvalidOldPassword","NotFound","OldPasswordAndNewPasswordCannotBeSame","PasswordIsNotComplexEnough","RequestDecodeError","ResponseEncodeError","TimeRangeIsTooLong","Unavailable","ValidationError","ProbeError","LicenseExpired","QuotaReached","IncorrectLicense","FeatureNotFound","AuditLogsDisabled","EHOSTUNREACH","HTTP_NOT_FOUND","HTTP_UNAUTHORIZED","BASE_LANDING_URL","DOCS_LINK","getPricesLink","utm","EN","RU","VIEW_MODES_KEYS","GRID","TABLE","SORT_TYPES_KEYS","DATE","NAME","LOCATION","GROUP_TYPES_KEYS","TAG","NO_GROUP","ADMIN_TABS_KEYS","STATS","PAGES","USERS","CONFIG","LICENSE","SERVER_DEBUG","TUNNEL","CLUSTER","AUDIT_LOGS","STREAM_INFO_TABS_KEYS","INFO","PERMISSION","SETTINGS","STREAM_DEBUG","USER_TABS_KEYS","EDIT","AUTH_TOKEN","PROFILE_TABS_KEYS","TOKEN","USER_PERMISSION_TYPES","ADMIN","USER","STREAM_PERMISSION_TYPES","VIEW","NONE","UNLIMITED","ADMIN_TABS","icon","label","STREAM_INFO_TABS","USER_TABS","PROFILE_TABS","VIEW_MODES","GROUP_TYPES","STREAM_STATUS","RUNNING","PENDING","PAUSED","CANCELED","STOPPED","FAILED","PLAYER_VIEW_MODES","ARCHIVE","USER_ACCESSES","active","blocked","MOVE_TIME","PANEL_SIZE","DEFAULT_DEPTH","DEFAULT_PLAYLIST_DURATION","EN_US","UK","ES","PT","TR","SORTING_TYPES","desc","asc","nonSort","LANG_MAP","PERMISSION_OBJECTS","TEAM","COLORS","stone","wolf","BREAKPOINTS_720","SCROLL_WIDTH","getScrollWidth","FEATURES","cluster","auditLogs","branding","personalTokens","users","streamShare","tunnel","teams","notification","quota","streamAcl","gateway","LIMITS","clusterSize","gatewayFreeLimit","userLimit","PRODUCTS","plus","enterprise","trial","LOCALS","NL","CLUSTER_ROLES","member","leader","pretender","unknown","PROFILE_UPDATED_NOTICE","USER_SAVED_NOTICE","USER_BLOCKED_NOTICE","USER_UNBLOCKED_NOTICE","STREAM_INFO_SAVED_NOTICE","RECOVERY_CODE_SENT","PASSWORD_CHANGED","pageNames","$gettext","text","pages","ADD_STREAM","ADMIN_STATS","ADMIN_CONFIG","ADMIN_USERS","ADMIN_CLUSTER","ALL_STREAMS","AUTH","RECOVER_PASSWORD","BOOKMARKS","HELP","INIT","NOT_FOUND","PROFILE","PROFILE_INFO","PROFILE_EDIT","PROFILE_TOKEN","PROFILE_AUTH_TOKEN","STREAM","STREAM_VIEW","STREAM_INFO","STREAM_SETTING","STREAM_PERMISSION","USER_ADD","USER_INFO","USER_EDIT","USER_PERMISSION","USER_AUTH_TOKEN","CREATE_MOSAIC","WATCH_MOSAIC","EDIT_MOSAIC","ALL_MOSAICS","TOP","TOP_LTR","TOP_RTL","TOP_CENTER","BOTTOM","BOTTOM_LTR","BOTTOM_RTL","BOTTOM_CENTER","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","toLowerCase","UA","navigator","userAgent","isEdge","indexOf","isAndroid","isIOS","test","isFF","match","isSafari","iOSVersion","MSStream","indexedDB","SpeechSynthesisUtterance","webkitAudioContext","matchMedia","history","isMobile","isMediaAtLeast720","matches","DATE_FORMAT","getCoords","box","getBoundingClientRect","pageYOffset","pageXOffset","height","getElementUnderClientXY","clientX","clientY","display","target","document","elementFromPoint","body","getElemFromPoint","formatDate","formatType","language","formatsMap","lll","ll","L","LL","LT","format","monthLetters","split","toUpperCase","DMMMYYYY","MMMDD","HHmmss","convertDateToSeconds","Date","getTime","getCookie","cookie","RegExp","replace","decodeURIComponent","undefined","getWrapHeight","clientHeight","documentElement","authWrapHeight","querySelector","yccScrollTo","y","scrollTo","behavior","getIndexSymbol","str","symbol","indexSymbol","i","length","charAt","getChar","isNumber","which","keyCode","String","fromCharCode","charCode","validate","ctrlKey","altKey","metaKey","chr","cloneObjDeep","obj","JSON","parse","stringify","outer","createElement","visibility","overflow","msOverflowStyle","appendChild","inner","scrollbarWidth","offsetWidth","parentNode","removeChild","className","modalId","findElements","querySelectorAll","classList","contains","notClosingElements","getSortingDirection","sortingType","showServerSwitcher","app","serverSwitcher","isExist","value","StorageAdapter","constructor","itemName","isPrimitive","storage","localStorage","correctionFunc","getItem","getCorrectValue","setItem","removeItem","destinationPageStorage","sessionStorage","WarningStorage","super","keepingTime","clearExpiredWarnings","setWarning","warningCode","warnings","now","toISOString","getWarnings","Object","keys","forEach","isExpired","warningsStorage","YuccaBootConfig","isEnterprise","isLocked","prober","revision","version","appTitle","appLogo","defaultLanguage","archiveDownloadMaxSeconds","playlistMaxSeconds","rangesMaxSeconds","isLicenseExpired","archiveMaxDepthHours","smtpServerEnabled","smtpServerHost","smtpServerProtected","smtpServerPort","documentation","site","features","passwordResetAllowed","tunnelLocations","productType","clusterEnabled","nodeID","yccBootConfig","YUCCA_BOOT_DATA","settings","user","translations","uk","es","pt","tr","gettextOptions","availableLanguages","silent","install","Vue","options","prototype","$yccConfig","$isDebug","isDebug","$setDocumentTitle","titles","join","$appLogo","$setLanguage","$formatDate","filter","isFixContent","isReadOnlyProfile","isAuthOrInitPage","isEmptyRoute","isOpenAside","tabs","updateHeaderHeight","updateAsideState","logout","scopedSlots","_u","fn","proxy","directives","rawName","expression","CookieService","shownWarnings","warning","index","domProps","strict","hideWarning","licenseStateTitle","licenseStateDescription","toggleAside","layoutMainClasses","hasAside","open","$route","headerHeight","isActivePage","hidden","tab","link","params","page","_m","hasAppLogo","isReadOnly","addingStreamTitle","streamName","slot","streamRouterParams","streamSettingsTitle","isStreamInfoPage","mosaicName","mosaicRouterParams","mosaic","meta","canAdmin","mosaicSettingsTitle","getGroupLabel","groupType","groupStreams","viewModeTitle","changeViewMode","viewModeKey","availableStreamsInfo","toggleShowingAvailable","isShownAvailableStreams","pageTitle","isAdmin","$language","isShowServerSwitcher","current","documentationLink","apply","arguments","YccDropdown","YccHint","stream","mapState","mapGetters","setStreamName","setMosaicName","YccAlert","isCloseAsideOutside","asideHeight","isClosing","isOpening","isMinScreen","isShowHeader","closing","opening","minHeight","marginTop","setTimeout","setShownWarnings","changeAsideState","YccLayout","noticeElems","serverErrorNotice","stateErrors","notice","license","healthWarnings","userLang","warningsArr","usedPercent","duration","to","changeLang","popoverYccCssClasses","positions","RTL","LTR","CENTER","CorrectingPosition","contentWidth","positionsArr","basePosition","horizontalPosition","documentWidth","clientWidth","documentHeight","getComputedStyle","Math","max","scrollHeight","offsetHeight","setPosition","ltrPositionClass","rtlPositionClass","getPositionCssClass","contentCoords","btnCoords","isStaticVerticalPosition","getCorrectedPositionCssClass","getStyle","popupStyle","bottom","right","transform","isContentMoreThanDocumentWidth","isDynamicVerticalPosition","isOutOfLeftBorderForLeft","isOutOfRightBorderForRight","isOutOfRightBorderForCenter","isOutOfLeftBorderForCenter","isOutOfRightBorderForLtr","isOutOfLeftBorderForRtl","isOutOfRightBorderForRtl","isOutOfBottomBorder","isOutOfTopBorder","positionProperties","bus","createPopup","el","template","YccHintContent","created","$on","openPopup","closePopup","payload","setLocation","setNewData","addEventListener","removeEventListener","close","clean","prop","x","hintRenderContentId","popup","setAttribute","createHint","process","err","vm","info","$options","errorHandler","$parent","call","console","log","color","failedColor","thickness","transition","speed","opacity","termination","autoRevert","inverse","defaultProps","YccDatepickerContent","openDatepicker","setFixing","setStart","setEnd","newState","closeDatepickerOutside","setSelectingState","setPeriod","$emit","inputElem","closeDatepicker","getCorrectPeriod","onChangeMonthYear","elemChildren","openerChildren","add","VueProgressBar","progressBarOptions","Loading","inserted","binding","f","evt","Datepicker","VUE_APP_DEBUG","createApp","YccConfigPlugin","GetTextPlugin","h","App","$mount","initHint","httpClient","then","res","catch","progress","func","modifier","argument","Router","mode","base","routes","redirect","children","metaForProgressLoader","beforeEach","from","next","isPublicPage","is404","statusCode","afterEach","scrollY","scroll","getGroupedStreams","streams","groupingType","groupedStreams","pushStream","groupName","push","tags","tag","saveToLocalStorage","streamsPageSettings","getDefaultStart","subtract","valueOf","getDefaultEnd","getDefaultPeriod","getDefaultPeriodISO","getDefaultDownloadLimitsPX","getDefaultPlaylist","startTime","endTime","ranges","url","MS_IN_HOUR","MS_IN_MINUTE","MARKER_LABEL_WIDTH","LABELS_MAP_KEYS","SIXTY","TWELVE","QUARTER","HALF","FULL","MULTIPLE","LABELS_MAP","minutes","getMarkerOptions","hoursNumber","possibleLabels","minutesNumber","multiplicity","labelsNumber","some","item","ceil","getLeftPosForMarker","timestamp","secondsInPx","seconds","getMarker","timeMS","isVisibleLabel","isSmall","hour","minute","time","cssClass","getFirstFullHourMS","getFirstMarkerTime","firstMarkerTime","getFirstMarkerByTime","startMinutes","getNewMarkers","newMarkers","markerTime","marker","ZOOM_INDEX","HOUR_IN_MS","MIN_DURATION","MAX_DURATION","ProgressBarController","thumbWidth","video","progressBar","thumb","archiveStatsPeriod","playingPeriod","currentInterval","playingTime","thumbPosition","tracking","trackingObservable$","interval","init","getElem","intervals","startSeconds","endSeconds","clipShift","intervalsTemp","range","arr","rangeStart","rangeEnd","intervalType","getIntervalType","isLastRange","getPXFromSeconds","endDate","periodModifier","isZoomUpAllowed","isZoomDownAllowed","periodISO","seekHandler","intervalElem","annotationStartSeconds","stopTracking","setCurrentInterval","getPlaylistByIntervalType","startTracking","isArchive","subscribe","currentTime","getCurrentTimeInMS","updatePlayingTime","unsubscribe","getMarkers","getProgressBarWidth","getNewPlaylistPeriodAfterEnding","getRangeByMilliseconds","getCorrectedPlayingPeriodEnd","newSeconds","intervalRangeEnd","endMS","intervalRangeEndMS","result","findNextRangeIndex","startTimeMS","findIndex","intervalRange","trunc","intervalIndex","currentPeriod","getNextPeriodAfterGap","setRanges","setPlayingPeriod","setArchiveStatsPeriod","stats","getSecondsFromPX","px","liveTime","setDefaultLiveThumbPos","updateThumbPos","periodStart","thumbLeftPosition","changeThumbStyle","keepThumbPosition","getPeriodForZoomUpByPointer","getPeriodForZoomUp","getStartModifier","getEndModifier","getPeriodForZoomDownByPointer","getPeriodForZoomDown","getPeriodForMoveLeft","getPeriodForMoveRight","getPeriodForGoToCenter","getAnnotationsByTypes","annotations","annotationsByType","empty","annotation","adaptAnnotation","annotationStart","annotationEnd","timeEnd","getAnnotationColorByType","setPlayingTime","innerPlayingTime","newInterval","dataset","newViewMode","isLastElem","newCurrentSeconds","Number","getSecondsFromPos","leftShift","currentTimeElem","innerHTML","getElementById","videoCurrentTime","CancelToken","namespaced","archiveStats","availableDays","annotationsByTypes","speedIndex","downloadLimitsPX","isVisibleDownloadBlock","isFetchingArchive","isFetchingArchiveRanges","isFetchingAnnotations","isPlaying","isLoading","cancelArchiveRangesRequest","archiveDataWatcherTimer","playerViewMode","playlist","progressBarController","getters","hasArchive","archiveDownloadMaxPX","getSecondsInPx","actions","zoomUpByPointer","commit","dispatch","streamId","zoomUp","rangesUrl","isArchiveEnable","needRunWatcher","needFetchData","zoomDownByPointer","zoomDown","toCenter","moveLeft","moveRight","updatePeriodAfterDrag","resetPeriod","updateRanges","getSplitLastRange","lastRange","liveRange","saveRanges","updatePlaylist","fetchArchive","start_time","end_time","finally","fetchArchiveRanges","cancelToken","cancel","fetchArchiveStats","startDay","endDay","fetchAvailableDays","fetchArchiveData","fetchAnnotations","fetchDownloadArchiveUrl","downloadPeriod","timezone_offset","utcOffset","updateAnnotations","resetArchiveData","createArchiveDataWatcher","timer","tick","clearArchiveDataWatcher","clearTimeout","updateSpeedIndex","goToLive","isSeek","liveUrl","isAvailableStream","goToArchive","playlistUrl","goToEmptyState","updatePlayerViewMode","updateArchiveStats","handleEndedVideo","updatePeriod","buildProgressBarController","mutations","setPeriodISO","setPlaylist","setPlayerViewMode","setFetching","setAvailableDays","setFetchingArchiveRanges","setArchiveStats","setArchiveDataWatcherTimer","setDownloadBlockVisibility","setDownloadLimits","setArchiveDownloadMaxSeconds","setAnnotations","setAnnotationsByTypes","setFetchingAnnotations","setSpeedIndex","setPlayingState","setLoadingState","setIntervals","setProgressBarController","tokens","sessionTokens","isSavingProfile","isChangingPassword","isFetchingProfile","isFetchingTokens","isFetchingSessionTokens","isSavingToken","isAdminProfile","permissionType","maxStreamCreation","isManaged","setUser","setTokens","setSessionTokens","async","saveUser","email","password","fullName","oldPassword","adaptedUser","readOnly","root","saveUserLang","updateAuthToken","credentials","clearUser","fetchTokens","createToken","expireTime","deleteToken","isDeletingToken","fetchSessionTokens","sort","token1","token2","lastSeenTime","isCurrent","systemStats","logs","currentUser","isEditMode","versionInfo","currentUserPermissions","isAuditLogsTurnedOff","isFetchingUsers","isSavingUser","isFetchingUser","isDeletingUser","isFetchingConfig","isFetchingStats","isFetchingLogs","isAddingPermission","isFetchingPermissions","isFetchingAuditLogs","fetchingLogsTimer","cancelLogsRequest","setUsers","setEditMode","setCurrentUser","setStats","setConfig","setSystemStats","setVersionInfo","setLogs","setFetchingLogsTimer","clearFetchingLogsTimer","setCancelLogsRequest","setCurrentUserPermissions","permissions","deleteCurrentUser","setAuditLogs","setIsAuditLogsTurnedOff","fetchUsers","fetchUser","addUser","isAdding","updateCurrentUser","deleteUser","changeUserAccess","access","clearCurrentUser","fetchStats","fetchConfig","fetchSystemStats","isFetchingSystemStats","fetchLogs","runUpdatingLogs","clearLogsTimer","updateVersionData","v","encodeURI","fetchUserPermissions","updateUserPermissions","timeout","revokeSession","fetchAuditLogs","userId","userID","isSendingStream","fetchingStreamStatusTimer","cancelStreamInfoRequest","deletingStateMap","changingStateMap","currentStream","isFetchingRunningStream","isFetchingStreamInfo","isDeletedStream","currentStreamPermissions","currentStreamLogs","isFetchingStreamPermissions","setStreamStatus","setFailureReason","failureReason","setStream","deleteCurrentStream","setDeletingStreamState","streamState","setChangingStreamState","setDeletedStreamState","setCurrentStreamPermissions","setCancelStreamInfoRequest","setFetchingStatusTimer","clearFetchingStreamStatusTimer","archive","isEnable","live","onDemand","uid","pauseStream","resumeStream","deleteStream","purge","saveStream","updateStreamInStreams","rootState","map","streamItem","streamUrl","stream_id","runUpdatingStreamStatus","isPlayer","clearStreamTimers","shareStream","denyStreamPublicAccess","fetchStream","fetchStreamStatus","fetchStreamInfo","updateCurrentStream","clearCurrentStream","fetchStreamPermissions","updatePermissions","isFetchingLicense","setLicense","fetchLicense","isSavingLicense","mosaics","currentMosaic","isFetchingAllMosaics","isFetchingMosaic","isDeleting","fetchingMosaicTimer","isPlay","mosaicUrl","ieDeleting","runUpdatingMosaic","clearTimers","clearCurrentMosaic","setMosaics","setMosaic","setFetchingMosaicTimer","sortType","pageNumberOfStreams","searchingValues","isFetchingStreams","isCheckingMode","setStreams","setGroupType","setSearchingValues","setViewModeKey","setShowingAvailableState","setStreamsStatuses","availableStreams","searchedStreams","uniqueStreamsIds","allSearchedStreams","getValuesForSearching","valuesForSearching","streamSource","searchingValue","groupedByTags","autocomplete","names","markers","locations","fetchStreams","onlyAvailable","fetchStreamsStatuses","isOnlyAvailable","updateStreams","updateStreamsStatuses","searchStreams","getStreamsPageSettingFromLocalStorage","address","fetchingStatusTimer","cancelStatusRequest","STATUSES","isConnected","isStoppingTunnel","isStartingTunnel","isOpenSettings","setConnectedStatus","setStatus","setAddress","setCancelStatusRequest","setOpenSettingsState","clearFetchingStatusTimer","setTunnelError","fetchTunnelStatus","runFetchingTunnelStatus","toggleSettings","closeSettings","clusterNodes","isFetchingClusterNodes","isDrainingNode","isDeletingNode","fetchingNodesTimer","cancelNodesRequest","setClusterNodes","nodes","setFetchingNodesTimer","clearFetchingNodesTimer","setCancelNodesRequest","isUpdatingNode","runUpdatingNodes","clearNodesTimer","isSendingCode","isResetInProcess","retryAfterTime","delayTime","headers","disableSendingCode","timerTime","setInterval","clearInterval","setIsResetInProcess","setIsSendingCode","setRetryAfterTime","Vuex","modules","admin","player","profile","streamStore","auth","isAuthLoading","isAdminCreating","errors","isCardMode","isNotFoundPage","setVersion","setHealthWarnings","setAuthState","setFoundingPageState","setError","deleteError","setCreatingAdminState","setAsideState","setNotice","deleteNotice","setHeaderHeight","setIsMediaAtLeast720","setIsShowServerSwitcher","setPageTabs","isTunnelEnabled","isUnavailableNode","getIsUnavailableNode","node","available","createAdmin","redirectPage","mustChangePassword","hasPermission","updateVersion","toggleFoundingPageState","getPageSettingFromLocalStorage","resizeApp","fetchSettings","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","src","onScriptComplete","prev","onerror","onload","doneFns","bind","head","Symbol","toStringTag","p","createStylesheet","fullhref","resolve","linkTag","rel","onLinkComplete","errorType","realHref","href","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}